diff --git a/core/core.services.yml b/core/core.services.yml
index 4eb462c..994c047 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -742,7 +742,7 @@ services:
     class: Drupal\Core\Utility\UnroutedUrlAssembler
     arguments: ['@request_stack', '@path_processor_manager', '%filter_protocols%']
   link_generator:
-    class: Drupal\Core\Utility\LinkGenerator
+    class: Drupal\Core\Render\LinkGenerator
     arguments: ['@url_generator', '@module_handler', '@renderer']
   router:
     class: Drupal\Core\Routing\AccessAwareRouter
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index cfdfa89..2474aa1 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -572,8 +572,8 @@ function template_preprocess_datetime_wrapper(&$variables) {
  * class. I.e. we cannot yet convert this jQuery selector to a CSS selector:
  *   jQuery('li:has("a.is-active")')
  *
- * @see \Drupal\Core\Utility\LinkGenerator
- * @see \Drupal\Core\Utility\LinkGenerator::generate()
+ * @see \Drupal\Core\Render\LinkGenerator
+ * @see \Drupal\Core\Render\LinkGenerator::generate()
  * @see system_page_attachments()
  */
 function template_preprocess_links(&$variables) {
diff --git a/core/lib/Drupal.php b/core/lib/Drupal.php
index 7621a48..d4cca0a 100644
--- a/core/lib/Drupal.php
+++ b/core/lib/Drupal.php
@@ -525,7 +525,7 @@ public static function url($route_name, $route_parameters = array(), $options =
   /**
    * Returns the link generator service.
    *
-   * @return \Drupal\Core\Utility\LinkGeneratorInterface
+   * @return \Drupal\Core\Render\LinkGeneratorInterface
    */
   public static function linkGenerator() {
     return static::getContainer()->get('link_generator');
@@ -551,7 +551,7 @@ public static function linkGenerator() {
    *   When $collect_bubbleable_metadata is TRUE, a GeneratedLink object is
    *   returned, containing the generated link plus bubbleable metadata.
    *
-   * @see \Drupal\Core\Utility\LinkGeneratorInterface::generate()
+   * @see \Drupal\Core\Render\LinkGeneratorInterface::generate()
    * @see \Drupal\Core\Url
    */
   public static function l($text, Url $url, $collect_bubbleable_metadata = FALSE) {
diff --git a/core/lib/Drupal/Component/Utility/UrlHelper.php b/core/lib/Drupal/Component/Utility/UrlHelper.php
index 2039d83..d7a939c 100644
--- a/core/lib/Drupal/Component/Utility/UrlHelper.php
+++ b/core/lib/Drupal/Component/Utility/UrlHelper.php
@@ -133,7 +133,7 @@ public static function filterQueryParameters(array $query, array $exclude = arra
    *   - query: An array of query parameters from $url, if they exist.
    *   - fragment: The fragment component from $url, if it exists.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator
+   * @see \Drupal\Core\Render\LinkGenerator
    * @see http://tools.ietf.org/html/rfc3986
    *
    * @ingroup php_wrappers
diff --git a/core/lib/Drupal/Core/Utility/LinkGenerator.php b/core/lib/Drupal/Core/Render/LinkGenerator.php
similarity index 98%
rename from core/lib/Drupal/Core/Utility/LinkGenerator.php
rename to core/lib/Drupal/Core/Render/LinkGenerator.php
index a595394..9a5064a 100644
--- a/core/lib/Drupal/Core/Utility/LinkGenerator.php
+++ b/core/lib/Drupal/Core/Render/LinkGenerator.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\Core\Utility\LinkGenerator.
+ * Contains \Drupal\Core\Render\LinkGenerator.
  */
 
-namespace Drupal\Core\Utility;
+namespace Drupal\Core\Render;
 
 use Drupal\Component\Serialization\Json;
 use Drupal\Component\Utility\SafeMarkup;
diff --git a/core/lib/Drupal/Core/Utility/LinkGeneratorInterface.php b/core/lib/Drupal/Core/Render/LinkGeneratorInterface.php
similarity index 98%
rename from core/lib/Drupal/Core/Utility/LinkGeneratorInterface.php
rename to core/lib/Drupal/Core/Render/LinkGeneratorInterface.php
index 733c449..794577c 100644
--- a/core/lib/Drupal/Core/Utility/LinkGeneratorInterface.php
+++ b/core/lib/Drupal/Core/Render/LinkGeneratorInterface.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\Core\Utility\LinkGeneratorInterface.
+ * Contains \Drupal\Core\Render\LinkGeneratorInterface.
  */
 
-namespace Drupal\Core\Utility;
+namespace Drupal\Core\Render;
 
 use Drupal\Core\Link;
 use Drupal\Core\Url;
diff --git a/core/lib/Drupal/Core/Routing/LinkGeneratorTrait.php b/core/lib/Drupal/Core/Routing/LinkGeneratorTrait.php
index 35170d1..0315999 100644
--- a/core/lib/Drupal/Core/Routing/LinkGeneratorTrait.php
+++ b/core/lib/Drupal/Core/Routing/LinkGeneratorTrait.php
@@ -9,13 +9,13 @@
 
 
 use Drupal\Core\Url;
-use Drupal\Core\Utility\LinkGeneratorInterface;
+use Drupal\Core\Render\LinkGeneratorInterface;
 use Drupal\Core\Routing\UrlGeneratorInterface;
 
 /**
  * Wrapper methods for the Link Generator.
  *
- * This utility trait should only be used in application-level code, such as
+ * This render trait should only be used in application-level code, such as
  * classes that would implement ContainerInjectionInterface. Services registered
  * in the Container should not use this trait but inject the appropriate service
  * directly for easier testing.
@@ -25,14 +25,14 @@
   /**
    * The link generator.
    *
-   * @var \Drupal\Core\Utility\LinkGeneratorInterface
+   * @var \Drupal\Core\Render\LinkGeneratorInterface
    */
   protected $linkGenerator;
 
   /**
    * Renders a link to a route given a route name and its parameters.
    *
-   * @see \Drupal\Core\Utility\LinkGeneratorInterface::generate() for details
+   * @see \Drupal\Core\Render\LinkGeneratorInterface::generate() for details
    *   on the arguments, usage, and possible exceptions.
    *
    * @return string
@@ -45,7 +45,7 @@ protected function l($text, Url $url) {
   /**
    * Returns the link generator.
    *
-   * @return \Drupal\Core\Utility\LinkGeneratorInterface
+   * @return \Drupal\Core\Render\LinkGeneratorInterface
    *   The link generator
    */
   protected function getLinkGenerator() {
@@ -58,7 +58,7 @@ protected function getLinkGenerator() {
   /**
    * Sets the link generator service.
    *
-   * @param \Drupal\Core\Utility\LinkGeneratorInterface $generator
+   * @param \Drupal\Core\Render\LinkGeneratorInterface $generator
    *   The link generator service.
    *
    * @return $this
diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php
index 5f15073..abac658 100644
--- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php
+++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php
@@ -14,7 +14,7 @@
 use Drupal\Core\Routing\UrlGeneratorInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\Url;
-use Drupal\Core\Utility\LinkGeneratorInterface;
+use Drupal\Core\Render\LinkGeneratorInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Cache\Cache;
@@ -42,7 +42,7 @@ class ImageFormatter extends ImageFormatterBase implements ContainerFactoryPlugi
   /**
    * The link generator.
    *
-   * @var \Drupal\Core\Utility\LinkGeneratorInterface
+   * @var \Drupal\Core\Render\LinkGeneratorInterface
    */
   protected $linkGenerator;
 
@@ -72,7 +72,7 @@ class ImageFormatter extends ImageFormatterBase implements ContainerFactoryPlugi
    *   Any third party settings settings.
    * @param \Drupal\Core\Session\AccountInterface $current_user
    *   The current user.
-   * @param \Drupal\Core\Utility\LinkGeneratorInterface $link_generator
+   * @param \Drupal\Core\Render\LinkGeneratorInterface $link_generator
    *   The link generator service.
    */
   public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, LinkGeneratorInterface $link_generator, EntityStorageInterface $image_style_storage) {
diff --git a/core/modules/menu_ui/src/MenuForm.php b/core/modules/menu_ui/src/MenuForm.php
index e008b3b..cc923ad 100644
--- a/core/modules/menu_ui/src/MenuForm.php
+++ b/core/modules/menu_ui/src/MenuForm.php
@@ -20,7 +20,7 @@
 use Drupal\Core\Render\Element;
 use Drupal\Core\Routing\UrlGeneratorTrait;
 use Drupal\Core\Url;
-use Drupal\Core\Utility\LinkGeneratorInterface;
+use Drupal\Core\Render\LinkGeneratorInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -52,7 +52,7 @@ class MenuForm extends EntityForm {
   /**
    * The link generator.
    *
-   * @var \Drupal\Core\Utility\LinkGeneratorInterface
+   * @var \Drupal\Core\Render\LinkGeneratorInterface
    */
   protected $linkGenerator;
 
@@ -72,7 +72,7 @@ class MenuForm extends EntityForm {
    *   The menu link manager.
    * @param \Drupal\Core\Menu\MenuLinkTreeInterface $menu_tree
    *   The menu tree service.
-   * @param \Drupal\Core\Utility\LinkGeneratorInterface $link_generator
+   * @param \Drupal\Core\Render\LinkGeneratorInterface $link_generator
    *   The link generator.
    */
   public function __construct(QueryFactory $entity_query_factory, MenuLinkManagerInterface $menu_link_manager, MenuLinkTreeInterface $menu_tree, LinkGeneratorInterface $link_generator) {
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 027ba8b..219db8f 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -598,7 +598,7 @@ function system_page_attachments(array &$page) {
   // - loading the active-link library if the current user is authenticated;
   // - applying a response filter if the current user is anonymous.
   // @see l()
-  // @see \Drupal\Core\Utility\LinkGenerator::generate()
+  // @see \Drupal\Core\Render\LinkGenerator::generate()
   // @see template_preprocess_links()
   // @see \Drupal\Core\EventSubscriber\ActiveLinkResponseFilter
   if (\Drupal::currentUser()->isAuthenticated()) {
diff --git a/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php b/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php
index 0a00029..a5c6913 100644
--- a/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php
+++ b/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php
@@ -12,7 +12,7 @@
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\StringTranslation\TranslationInterface;
 use Drupal\Core\Url;
-use Drupal\Core\Utility\LinkGeneratorInterface;
+use Drupal\Core\Render\LinkGeneratorInterface;
 use Drupal\system\PathBasedBreadcrumbBuilder;
 use Drupal\Tests\UnitTestCase;
 use Symfony\Cmf\Component\Routing\RouteObjectInterface;
diff --git a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
index ee16994..f311822 100644
--- a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
@@ -96,7 +96,7 @@
   /**
    * The link generator.
    *
-   * @var \Drupal\Core\Utility\LinkGeneratorInterface
+   * @var \Drupal\Core\Render\LinkGeneratorInterface
    */
   protected $linkGenerator;
 
@@ -1748,7 +1748,7 @@ public static function trimText($alter, $value) {
   /**
    * Gets the link generator.
    *
-   * @return \Drupal\Core\Utility\LinkGeneratorInterface
+   * @return \Drupal\Core\Render\LinkGeneratorInterface
    */
   protected function linkGenerator() {
     if (!isset($this->linkGenerator)) {
diff --git a/core/tests/Drupal/Tests/Core/DrupalTest.php b/core/tests/Drupal/Tests/Core/DrupalTest.php
index 315ce38..dfc8ee4 100644
--- a/core/tests/Drupal/Tests/Core/DrupalTest.php
+++ b/core/tests/Drupal/Tests/Core/DrupalTest.php
@@ -338,12 +338,12 @@ public function testLinkGenerator() {
    * Tests the l() method.
    *
    * @covers ::l
-   * @see \Drupal\Core\Utility\LinkGeneratorInterface::generate()
+   * @see \Drupal\Core\Render\LinkGeneratorInterface::generate()
    */
   public function testL() {
     $route_parameters = array('test_parameter' => 'test');
     $options = array('test_option' => 'test');
-    $generator = $this->getMock('Drupal\Core\Utility\LinkGeneratorInterface');
+    $generator = $this->getMock('Drupal\Core\Render\LinkGeneratorInterface');
     $url = new Url('test_route', $route_parameters, $options);
     $generator->expects($this->once())
       ->method('generate')
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityLinkTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityLinkTest.php
index 9e54ebe..d2a3fe9 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityLinkTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityLinkTest.php
@@ -28,7 +28,7 @@ class EntityLinkTest extends UnitTestCase {
   /**
    * The tested link generator.
    *
-   * @var \Drupal\Core\Utility\LinkGeneratorInterface|\PHPUnit_Framework_MockObject_MockObject
+   * @var \Drupal\Core\Render\LinkGeneratorInterface|\PHPUnit_Framework_MockObject_MockObject
    */
   protected $linkGenerator;
 
@@ -46,7 +46,7 @@ protected function setUp() {
     parent::setUp();
 
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
-    $this->linkGenerator = $this->getMock('Drupal\Core\Utility\LinkGeneratorInterface');
+    $this->linkGenerator = $this->getMock('Drupal\Core\Render\LinkGeneratorInterface');
     $this->languageManager = $this->getMock('Drupal\Core\Language\LanguageManagerInterface');
 
     $container = new ContainerBuilder();
diff --git a/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php b/core/tests/Drupal/Tests/Core/Render/LinkGeneratorTest.php
similarity index 94%
rename from core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php
rename to core/tests/Drupal/Tests/Core/Render/LinkGeneratorTest.php
index 9392d22..065eba4 100644
--- a/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/LinkGeneratorTest.php
@@ -2,30 +2,30 @@
 
 /**
  * @file
- * Contains \Drupal\Tests\Core\Utility\LinkGeneratorTest.
+ * Contains \Drupal\Tests\Core\Render\LinkGeneratorTest.
  */
 
-namespace Drupal\Tests\Core\Utility {
+namespace Drupal\Tests\Core\Render {
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\Core\GeneratedUrl;
 use Drupal\Core\Language\Language;
 use Drupal\Core\Link;
 use Drupal\Core\Url;
-use Drupal\Core\Utility\LinkGenerator;
+use Drupal\Core\Render\LinkGenerator;
 use Drupal\Tests\UnitTestCase;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 
 /**
- * @coversDefaultClass \Drupal\Core\Utility\LinkGenerator
- * @group Utility
+ * @coversDefaultClass \Drupal\Core\Render\LinkGenerator
+ * @group Render
  */
 class LinkGeneratorTest extends UnitTestCase {
 
   /**
    * The tested link generator.
    *
-   * @var \Drupal\Core\Utility\LinkGenerator
+   * @var \Drupal\Core\Render\LinkGenerator
    */
   protected $linkGenerator;
 
@@ -83,7 +83,7 @@ protected function setUp() {
   /**
    * Provides test data for testing the link method.
    *
-   * @see \Drupal\Tests\Core\Utility\LinkGeneratorTest::testGenerateHrefs()
+   * @see \Drupal\Tests\Core\Render\LinkGeneratorTest::testGenerateHrefs()
    *
    * @return array
    *   Returns some test data.
@@ -102,8 +102,8 @@ public function providerTestGenerateHrefs() {
   /**
    * Tests the link method with certain hrefs.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
-   * @see \Drupal\Tests\Core\Utility\LinkGeneratorTest::providerTestGenerate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
+   * @see \Drupal\Tests\Core\Render\LinkGeneratorTest::providerTestGenerate()
    *
    * @dataProvider providerTestGenerateHrefs
    */
@@ -222,7 +222,7 @@ public function testGenerateUrlWithQuotes() {
   /**
    * Tests the link method with additional attributes.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
    */
   public function testGenerateAttributes() {
     $this->urlGenerator->expects($this->once())
@@ -249,7 +249,7 @@ public function testGenerateAttributes() {
   /**
    * Tests the link method with passed query options.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
    */
   public function testGenerateQuery() {
     $this->urlGenerator->expects($this->once())
@@ -274,7 +274,7 @@ public function testGenerateQuery() {
   /**
    * Tests the link method with passed query options via parameters.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
    */
   public function testGenerateParametersAsQuery() {
     $this->urlGenerator->expects($this->once())
@@ -297,7 +297,7 @@ public function testGenerateParametersAsQuery() {
   /**
    * Tests the link method with arbitrary passed options.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
    */
   public function testGenerateOptions() {
     $this->urlGenerator->expects($this->once())
@@ -322,7 +322,7 @@ public function testGenerateOptions() {
   /**
    * Tests the link method with a script tab.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
    */
   public function testGenerateXss() {
     $this->urlGenerator->expects($this->once())
@@ -342,7 +342,7 @@ public function testGenerateXss() {
   /**
    * Tests the link method with html.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
    */
   public function testGenerateWithHtml() {
     $this->urlGenerator->expects($this->at(0))
@@ -389,7 +389,11 @@ public function testGenerateWithHtml() {
   /**
    * Tests the active class on the link method.
    *
-   * @see \Drupal\Core\Utility\LinkGenerator::generate()
+   * @see \Drupal\Core\Render\LinkGenerator::generate()
+   *
+   * @todo Test that the active class is added on the front page when generating
+   *   links to the front page when drupal_is_front_page() is converted to a
+   *   service.
    */
   public function testGenerateActive() {
     $this->urlGenerator->expects($this->exactly(5))
