diff --git a/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php b/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php
index 1d036a9e79f953cb95877c818f56c9edc6b6c946..8cf3e3a5d1a2e732a6cafd0d7c4ec4c13ec5cf83 100644
--- a/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php
+++ b/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php
@@ -64,7 +64,7 @@ public function getContext(): SymfonyRequestContext {
   /**
    * {@inheritdoc}
    */
-  public function getPathFromRoute($name, $parameters = []) {
+  public function getPathFromRoute(string $name, array $parameters = []) {
     return $this->urlGenerator->getPathFromRoute($name, $parameters);
   }
 
@@ -91,7 +91,7 @@ protected function bubble(GeneratedUrl $generated_url, array $options = []) {
   /**
    * {@inheritdoc}
    */
-  public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH): string {
+  public function generate(string $name, array $parameters = [], bool|int $referenceType = self::ABSOLUTE_PATH): string {
     $options['absolute'] = is_bool($referenceType) ? $referenceType : $referenceType === self::ABSOLUTE_URL;
     $generated_url = $this->generateFromRoute($name, $parameters, $options, TRUE);
     $this->bubble($generated_url);
@@ -101,7 +101,7 @@ public function generate($name, $parameters = [], $referenceType = self::ABSOLUT
   /**
    * {@inheritdoc}
    */
-  public function generateFromRoute($name, $parameters = [], $options = [], $collect_bubbleable_metadata = FALSE) {
+  public function generateFromRoute(string $name, array $parameters = [], array $options = [], bool $collect_bubbleable_metadata = FALSE) {
     $generated_url = $this->urlGenerator->generateFromRoute($name, $parameters, $options, TRUE);
     if (!$collect_bubbleable_metadata) {
       $this->bubble($generated_url, $options);
@@ -109,44 +109,4 @@ public function generateFromRoute($name, $parameters = [], $options = [], $colle
     return $collect_bubbleable_metadata ? $generated_url : $generated_url->getGeneratedUrl();
   }
 
-  /**
-   * Checks if route name is a string or route object.
-   *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route "name" which may also be an object or anything.
-   *
-   * @return bool
-   *   TRUE if the passed in value a valid route, FALSE otherwise.
-   *
-   * @deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Only string
-   *   route names are supported.
-   *
-   * @see https://www.drupal.org/node/3172303
-   */
-  public function supports($name) {
-    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Only string route names are supported. See https://www.drupal.org/node/3172303', E_USER_DEPRECATED);
-    return $this->urlGenerator->supports($name);
-  }
-
-  /**
-   * Gets either the route name or a string based on the route object.
-   *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route "name" which may also be an object or anything.
-   * @param array $parameters
-   *   Route parameters array.
-   *
-   * @return string
-   *   Either the route name, or a string that uniquely identifies the route.
-   *
-   * @deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use
-   *   the route name instead.
-   *
-   * @see https://www.drupal.org/node/3172303
-   */
-  public function getRouteDebugMessage($name, array $parameters = []) {
-    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use the route name instead. See https://www.drupal.org/node/3172303', E_USER_DEPRECATED);
-    return $this->urlGenerator->getRouteDebugMessage($name, $parameters);
-  }
-
 }
diff --git a/core/lib/Drupal/Core/Routing/UrlGenerator.php b/core/lib/Drupal/Core/Routing/UrlGenerator.php
index ac8f23929b3e61445587eb46d65d31d834e24ad4..455a5dfbdb88b2726f6726f9d9d04748218ab55b 100644
--- a/core/lib/Drupal/Core/Routing/UrlGenerator.php
+++ b/core/lib/Drupal/Core/Routing/UrlGenerator.php
@@ -125,12 +125,8 @@ public function isStrictRequirements() {
   /**
    * {@inheritdoc}
    */
-  public function getPathFromRoute($name, $parameters = []) {
+  public function getPathFromRoute(string $name, array $parameters = []) {
     $route = $this->getRoute($name);
-    if (!is_string($name)) {
-      @trigger_error('Passing a route object to ' . __METHOD__ . '() is deprecated in drupal:10.1.0 and will not be supported in drupal:11.0.0. Pass the route name instead. See https://www.drupal.org/node/3172280', E_USER_DEPRECATED);
-      $name = $this->getRouteStringIdentifier($name);
-    }
     $this->processRoute($name, $route, $parameters);
     $path = $this->getInternalPathFromRoute($name, $route, $parameters);
     // Router-based paths may have a querystring on them but Drupal paths may
@@ -175,7 +171,7 @@ public function getPathFromRoute($name, $parameters = []) {
    *   When a parameter value for a placeholder is not correct because it does
    *   not match the requirement.
    */
-  protected function doGenerate(array $variables, array $defaults, array $tokens, array $parameters, array &$query_params, $name) {
+  protected function doGenerate(array $variables, array $defaults, array $tokens, array $parameters, array &$query_params, string $name) {
     $variables = array_flip($variables);
     $mergedParams = array_replace($defaults, $this->context->getParameters(), $parameters);
 
@@ -230,8 +226,8 @@ protected function doGenerate(array $variables, array $defaults, array $tokens,
   /**
    * Gets the path of a route.
    *
-   * @param $name
-   *   The route name or other debug message.
+   * @param string $name
+   *   The route name.
    * @param \Symfony\Component\Routing\Route $route
    *   The route object.
    * @param array $parameters
@@ -245,7 +241,7 @@ protected function doGenerate(array $variables, array $defaults, array $tokens,
    *   The URL path corresponding to the route, without the base path, not URL
    *   encoded.
    */
-  protected function getInternalPathFromRoute($name, SymfonyRoute $route, $parameters = [], &$query_params = []) {
+  protected function getInternalPathFromRoute(string $name, SymfonyRoute $route, array $parameters = [], array &$query_params = []) {
     // The Route has a cache of its own and is not recompiled as long as it does
     // not get modified.
     $compiledRoute = $route->compile();
@@ -256,7 +252,7 @@ protected function getInternalPathFromRoute($name, SymfonyRoute $route, $paramet
   /**
    * {@inheritdoc}
    */
-  public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH): string {
+  public function generate(string $name, array $parameters = [], bool|int $referenceType = self::ABSOLUTE_PATH): string {
     $options['absolute'] = is_bool($referenceType) ? $referenceType : $referenceType === self::ABSOLUTE_URL;
     return $this->generateFromRoute($name, $parameters, $options);
   }
@@ -264,7 +260,7 @@ public function generate($name, $parameters = [], $referenceType = self::ABSOLUT
   /**
    * {@inheritdoc}
    */
-  public function generateFromRoute($name, $parameters = [], $options = [], $collect_bubbleable_metadata = FALSE) {
+  public function generateFromRoute(string $name, array $parameters = [], array $options = [], bool $collect_bubbleable_metadata = FALSE) {
     $options += ['prefix' => ''];
     if (!isset($options['query']) || !is_array($options['query'])) {
       $options['query'] = [];
@@ -289,10 +285,6 @@ public function generateFromRoute($name, $parameters = [], $options = [], $colle
     $options += $route->getOption('default_url_options') ?: [];
     $options += ['prefix' => '', 'path_processing' => TRUE];
 
-    if (!is_string($name)) {
-      @trigger_error('Passing a route object to ' . __METHOD__ . '() is deprecated in drupal:10.1.0 and will not be supported in drupal:11.0.0. Pass the route name instead. See https://www.drupal.org/node/3172280', E_USER_DEPRECATED);
-      $name = $this->getRouteStringIdentifier($name);
-    }
     $this->processRoute($name, $route, $parameters, $generated_url);
     $path = $this->getInternalPathFromRoute($name, $route, $parameters, $options['query']);
     // Outbound path processors might need the route object for the path, e.g.
@@ -395,7 +387,7 @@ public function generateFromRoute($name, $parameters = [], $options = [], $colle
   /**
    * Passes the path to a processor manager to allow alterations.
    */
-  protected function processPath($path, &$options = [], BubbleableMetadata $bubbleable_metadata = NULL) {
+  protected function processPath(string $path, array &$options = [], BubbleableMetadata $bubbleable_metadata = NULL) {
     $actual_path = $path === '/' ? $path : rtrim($path, '/');
     return $this->pathProcessor->processOutbound($actual_path, $options, $this->requestStack->getCurrentRequest(), $bubbleable_metadata);
   }
@@ -412,15 +404,15 @@ protected function processPath($path, &$options = [], BubbleableMetadata $bubble
    * @param \Drupal\Core\Render\BubbleableMetadata $bubbleable_metadata
    *   (optional) Object to collect route processors' bubbleable metadata.
    */
-  protected function processRoute($name, SymfonyRoute $route, array &$parameters, BubbleableMetadata $bubbleable_metadata = NULL) {
+  protected function processRoute(string $name, SymfonyRoute $route, array &$parameters, BubbleableMetadata $bubbleable_metadata = NULL) {
     $this->routeProcessor->processOutbound($name, $route, $parameters, $bubbleable_metadata);
   }
 
   /**
    * Find the route using the provided route name.
    *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route name or a route object.
+   * @param string $name
+   *   The route name.
    *
    * @return \Symfony\Component\Routing\Route
    *   The found route.
@@ -432,88 +424,9 @@ protected function processRoute($name, SymfonyRoute $route, array &$parameters,
    *
    * @see \Drupal\Core\Routing\RouteProviderInterface
    */
-  protected function getRoute($name) {
-    if ($name instanceof SymfonyRoute) {
-      $route = $name;
-    }
-    else {
-      $route = clone $this->provider->getRouteByName($name);
-    }
+  protected function getRoute(string $name) {
+    $route = clone $this->provider->getRouteByName($name);
     return $route;
   }
 
-  /**
-   * Gets either the route name or a string based on the route object.
-   *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   A string route name, or a serializable object.
-   *
-   * @return string
-   *   Either the route name, or a string that uniquely identifies the route.
-   *
-   * @todo Remove in https://www.drupal.org/project/drupal/issues/3339710
-   *
-   * @internal
-   */
-  private function getRouteStringIdentifier(string|SymfonyRoute $name): string {
-    if (is_scalar($name)) {
-      return $name;
-    }
-
-    if ($name instanceof SymfonyRoute) {
-      return 'Route with pattern ' . $name->getPath();
-    }
-
-    return serialize($name);
-  }
-
-  /**
-   * Checks if route name is a string or route object.
-   *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route "name" which may also be an object or anything.
-   *
-   * @return bool
-   *   TRUE if the passed in value a valid route, FALSE otherwise.
-   *
-   * @deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Only string
-   *   route names are supported.
-   *
-   * @see https://www.drupal.org/node/3172303
-   */
-  public function supports($name) {
-    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Only string route names are supported. See https://www.drupal.org/node/3172303', E_USER_DEPRECATED);
-    // Support a route object and any string as route name.
-    return is_string($name) || $name instanceof SymfonyRoute;
-  }
-
-  /**
-   * Gets either the route name or a string based on the route object.
-   *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route "name" which may also be an object or anything.
-   * @param array $parameters
-   *   Route parameters array.
-   *
-   * @return string
-   *   Either the route name, or a string that uniquely identifies the route.
-   *
-   * @deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use
-   *   the route name instead.
-   *
-   * @see https://www.drupal.org/node/3172303
-   */
-  public function getRouteDebugMessage($name, array $parameters = []) {
-    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use the route name instead. See https://www.drupal.org/node/3172303', E_USER_DEPRECATED);
-    if (is_scalar($name)) {
-      return $name;
-    }
-
-    if ($name instanceof SymfonyRoute) {
-      return 'Route with pattern ' . $name->getPath();
-    }
-
-    return serialize($name);
-  }
-
 }
diff --git a/core/lib/Drupal/Core/Routing/UrlGeneratorInterface.php b/core/lib/Drupal/Core/Routing/UrlGeneratorInterface.php
index a69ffb39a16682c401fd1ddc1c9d675d57b5bb4b..0a1ab15049ded59be0ff07217512a33c5ac49552 100644
--- a/core/lib/Drupal/Core/Routing/UrlGeneratorInterface.php
+++ b/core/lib/Drupal/Core/Routing/UrlGeneratorInterface.php
@@ -14,8 +14,8 @@ interface UrlGeneratorInterface extends SymfonyUrlGeneratorInterface {
   /**
    * Gets the internal path (system path) for a route.
    *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route name or a route object.
+   * @param string $name
+   *   The route name.
    * @param array $parameters
    *   An array of parameters as passed to
    *   \Symfony\Component\Routing\Generator\UrlGeneratorInterface::generate().
@@ -24,7 +24,7 @@ interface UrlGeneratorInterface extends SymfonyUrlGeneratorInterface {
    *   The internal Drupal path corresponding to the route. This string is
    *   not urlencoded and will be an empty string for the front page.
    */
-  public function getPathFromRoute($name, $parameters = []);
+  public function getPathFromRoute(string $name, array $parameters = []);
 
   /**
    * Generates a URL or path for a specific route based on the given parameters.
@@ -33,8 +33,8 @@ public function getPathFromRoute($name, $parameters = []);
    * substituted for them in the pattern. Extra params are added as query
    * strings to the URL.
    *
-   * @param string|\Symfony\Component\Routing\Route $name
-   *   The route name or a route object.
+   * @param string $name
+   *   The route name.
    * @param array $parameters
    *   An associative array of parameter names and values.
    * @param array $options
@@ -80,6 +80,6 @@ public function getPathFromRoute($name, $parameters = []);
    *   Should not be used in user code.
    *   Use \Drupal\Core\Url instead.
    */
-  public function generateFromRoute($name, $parameters = [], $options = [], $collect_bubbleable_metadata = FALSE);
+  public function generateFromRoute(string $name, array $parameters = [], array $options = [], bool $collect_bubbleable_metadata = FALSE);
 
 }
diff --git a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
index a576be6eb3085c44de23844589623d28c5437b73..ccebc78e1b337f95cc8b28961132fe5035206798 100644
--- a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
@@ -292,20 +292,6 @@ public function testUrlGenerationWithDisabledPathProcessingByRouteAndOptedInPath
     $this->assertEquals('/hello/world', $url);
   }
 
-  /**
-   * Tests URL generation deprecations.
-   *
-   * @group legacy
-   */
-  public function testRouteObjectDeprecation() {
-    $this->expectDeprecation('Passing a route object to Drupal\Core\Routing\UrlGenerator::getPathFromRoute() is deprecated in drupal:10.1.0 and will not be supported in drupal:11.0.0. Pass the route name instead. See https://www.drupal.org/node/3172280');
-    $path = $this->generator->getPathFromRoute(new Route('/test/one'));
-    $this->assertSame($this->generator->getPathFromRoute('test_1'), $path);
-    $this->expectDeprecation('Passing a route object to Drupal\Core\Routing\UrlGenerator::generateFromRoute() is deprecated in drupal:10.1.0 and will not be supported in drupal:11.0.0. Pass the route name instead. See https://www.drupal.org/node/3172280');
-    $url = $this->generator->generateFromRoute(new Route('/test/one'));
-    $this->assertSame($this->generator->generateFromRoute('test_1'), $url);
-  }
-
   /**
    * Tests URL generation in a subdirectory.
    */
@@ -468,18 +454,6 @@ public function testBaseURLGeneration() {
     $this->assertGenerateFromRoute('test_1', ['zoo' => 5], $options, 'http://www.example.com:8888/hello/world?zoo=5#top', (new BubbleableMetadata())->setCacheMaxAge(Cache::PERMANENT));
   }
 
-  /**
-   * Tests deprecated methods.
-   *
-   * @group legacy
-   */
-  public function testDeprecatedMethods() {
-    $this->expectDeprecation('Drupal\Core\Routing\UrlGenerator::getRouteDebugMessage() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use the route name instead. See https://www.drupal.org/node/3172303');
-    $this->assertSame('test', $this->generator->getRouteDebugMessage('test'));
-    $this->expectDeprecation('Drupal\Core\Routing\UrlGenerator::supports() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Only string route names are supported. See https://www.drupal.org/node/3172303');
-    $this->assertTrue($this->generator->supports('test'));
-  }
-
   /**
    * Tests the 'scheme' route requirement during URL generation.
    */