diff --git a/README.txt b/README.txt
index dfcc03a..d5edd89 100755
--- a/README.txt
+++ b/README.txt
@@ -50,7 +50,7 @@ INSTALLATION
 CONFIGURATION
 -------------
 
-No configuration is needed.
+ * Configure the admin toolbar tools at (/admin/config/user-interface/settings).
 
 
 MAINTAINERS
diff --git a/admin_toolbar.info.yml b/admin_toolbar.info.yml
index 7704891..f21724b 100755
--- a/admin_toolbar.info.yml
+++ b/admin_toolbar.info.yml
@@ -1,9 +1,8 @@
 name: Admin Toolbar
 description: Provides an improved drop-down menu interface to the site Toolbar.
 package: Administration
-
+configure: admin_toolbar_tools.settings
 type: module
 core_version_requirement: ^8.8.0 || ^9.0
-
 dependencies:
   - drupal:toolbar
diff --git a/admin_toolbar.install b/admin_toolbar.install
index bd80e9a..c0588ed 100755
--- a/admin_toolbar.install
+++ b/admin_toolbar.install
@@ -14,3 +14,13 @@ function admin_toolbar_update_8001() {
   // Rebuilding the route cache.
   \Drupal::service("router.builder")->rebuild();
 }
+
+/**
+ * Default setting for maximum number of bundles per entity type to display.
+ */
+function admin_toolbar_tools_update_8201() {
+  \Drupal::service('config.factory')
+    ->getEditable('admin_toolbar_tools.settings')
+    ->set('max_bundle_number', 20)
+    ->save(TRUE);
+}
diff --git a/admin_toolbar_search/src/SearchLinks.php b/admin_toolbar_search/src/SearchLinks.php
index e36dba3..4d27959 100644
--- a/admin_toolbar_search/src/SearchLinks.php
+++ b/admin_toolbar_search/src/SearchLinks.php
@@ -6,6 +6,7 @@ use Drupal\admin_toolbar_tools\Plugin\Derivative\ExtraLinks;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Cache\Context\CacheContextsManager;
+use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Language\LanguageInterface;
@@ -56,6 +57,13 @@ class SearchLinks {
    */
   protected $toolbarCache;
 
+  /**
+   * The admin toolbar tools configuration.
+   *
+   * @var \Drupal\Core\Config\Config
+   */
+  protected $config;
+
   /**
    * Constructs a SearchLinks object.
    *
@@ -70,12 +78,13 @@ class SearchLinks {
    * @param \Drupal\Core\Cache\CacheBackendInterface $toolbar_cache
    *   Cache backend instance to use.
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, CacheContextsManager $cache_context_manager, CacheBackendInterface $toolbar_cache) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, CacheContextsManager $cache_context_manager, CacheBackendInterface $toolbar_cache, ConfigFactoryInterface $config_factory) {
     $this->entityTypeManager = $entity_type_manager;
     $this->moduleHandler = $module_handler;
     $this->routeProvider = $route_provider;
     $this->cacheContextManager = $cache_context_manager;
     $this->toolbarCache = $toolbar_cache;
+    $this->config = $config_factory->get('admin_toolbar_tools.settings');
   }
 
   /**
@@ -88,6 +97,8 @@ class SearchLinks {
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
    */
   public function getLinks() {
+    $max_bundle_number = $this->config->get('max_bundle_number');
+    $i = 0;
     $additional_keys = $this->cacheContextManager->convertTokensToKeys([
       'languages:' . LanguageInterface::TYPE_INTERFACE,
       'user.permissions',
@@ -107,9 +118,9 @@ class SearchLinks {
     foreach ($content_entities as $entities) {
       $content_entity_bundle = $entities['content_entity_bundle'];
       $content_entity = $entities['content_entity'];
-      // Start at offset 10, since the toolbar has already loaded the first 10.
+      // Load the remaining items that were not loaded by the toolbar.
       $content_entity_bundle_storage = $this->entityTypeManager->getStorage($content_entity_bundle);
-      $bundles_ids = $content_entity_bundle_storage->getQuery()->range(ExtraLinks::MAX_BUNDLE_NUMBER)->execute();
+      $bundles_ids = $content_entity_bundle_storage->getQuery()->range($max_bundle_number)->execute();
       if (!empty($bundles_ids)) {
         $bundles = $this->entityTypeManager
           ->getStorage($content_entity_bundle)
@@ -193,7 +204,7 @@ class SearchLinks {
 
       $menus = $this->entityTypeManager->getStorage('menu')->loadMultiple();
       uasort($menus, [Menu::class, 'sort']);
-      $menus = array_slice($menus, ExtraLinks::MAX_BUNDLE_NUMBER);
+      $menus = array_slice($menus, $max_bundle_number);
 
       $cache_tags = Cache::mergeTags($cache_tags, ['config:menu_list']);
       foreach ($menus as $menu_id => $menu) {
diff --git a/admin_toolbar_search/tests/src/FunctionalJavascript/AdminToolbarToolsSearchTest.php b/admin_toolbar_search/tests/src/FunctionalJavascript/AdminToolbarToolsSearchTest.php
index 84604bc..b38679d 100755
--- a/admin_toolbar_search/tests/src/FunctionalJavascript/AdminToolbarToolsSearchTest.php
+++ b/admin_toolbar_search/tests/src/FunctionalJavascript/AdminToolbarToolsSearchTest.php
@@ -184,7 +184,7 @@ class AdminToolbarToolsSearchTest extends AdminToolbarSearchTestBase {
     // Test that bundle within admin toolbar appears in search.
     $this->assertSuggestionContains('lola', 'admin/structure/media/manage/lola/fields');
 
-    // Assert that a link after the limit (10) doesn't appear in admin toolbar.
+    // Assert that a link after the limit doesn't appear in admin toolbar.
     $toby_url = '/admin/structure/media/manage/toby/fields';
     $assert_session->elementNotContains('css', '#toolbar-administration', $toby_url);
 
diff --git a/admin_toolbar_tools/admin_toolbar_tools.install b/admin_toolbar_tools/admin_toolbar_tools.install
index 1cc14c7..f573860 100644
--- a/admin_toolbar_tools/admin_toolbar_tools.install
+++ b/admin_toolbar_tools/admin_toolbar_tools.install
@@ -12,3 +12,13 @@ function admin_toolbar_tools_update_8001() {
   // Installing the Admin Toolbar Search module.
   \Drupal::service('module_installer')->install(['admin_toolbar_search']);
 }
+
+/**
+ * Default setting for maximum number of bundles per entity type to display.
+ */
+function admin_toolbar_tools_update_8201() {
+  \Drupal::service('config.factory')
+    ->getEditable('admin_toolbar_tools.settings')
+    ->set('max_bundle_number', 20)
+    ->save(TRUE);
+}
diff --git a/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml b/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml
index 670a4f7..6bd9f47 100755
--- a/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml
+++ b/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml
@@ -84,3 +84,9 @@ admin_toolbar_tools.theme_rebuild:
 admin_toolbar_tools.extra_links:
   deriver: \Drupal\admin_toolbar_tools\Plugin\Derivative\ExtraLinks
   menu_name: admin
+
+admin_toolbar_tools.settings:
+  title: 'Admin Toolbar'
+  description: 'Configure the admin toolbar.'
+  route_name: admin_toolbar_tools.settings
+  parent: system.admin_config_ui
diff --git a/admin_toolbar_tools/admin_toolbar_tools.routing.yml b/admin_toolbar_tools/admin_toolbar_tools.routing.yml
index bcae9db..db36d1a 100755
--- a/admin_toolbar_tools/admin_toolbar_tools.routing.yml
+++ b/admin_toolbar_tools/admin_toolbar_tools.routing.yml
@@ -87,3 +87,11 @@ admin_toolbar.run.cron:
   requirements:
     _permission: 'administer site configuration'
     _csrf_token: 'TRUE'
+
+admin_toolbar_tools.settings:
+  path: '/admin/config/user-interface/settings'
+  defaults:
+    _form: '\Drupal\admin_toolbar_tools\Form\AdminToolbarToolsSettingsForm'
+    _title: 'Admin Toolbar Tools settings'
+  requirements:
+    _permission: 'administer site configuration'
diff --git a/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php b/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
index e9d6de8..3598c73 100755
--- a/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
+++ b/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
@@ -3,6 +3,7 @@
 namespace Drupal\admin_toolbar_tools\Plugin\Derivative;
 
 use Drupal\Component\Plugin\Derivative\DeriverBase;
+use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Extension\ThemeHandlerInterface;
@@ -19,8 +20,6 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
 
   use StringTranslationTrait;
 
-  const MAX_BUNDLE_NUMBER = 10;
-
   /**
    * The entity type manager.
    *
@@ -49,14 +48,22 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
    */
   protected $themeHandler;
 
+  /**
+   * The admin toolbar tools configuration.
+   *
+   * @var \Drupal\Core\Config\Config
+   */
+  protected $config;
+
   /**
    * {@inheritdoc}
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, ThemeHandlerInterface $theme_handler) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, ThemeHandlerInterface $theme_handler, ConfigFactoryInterface $config_factory) {
     $this->entityTypeManager = $entity_type_manager;
     $this->moduleHandler = $module_handler;
     $this->routeProvider = $route_provider;
     $this->themeHandler = $theme_handler;
+    $this->config = $config_factory->get('admin_toolbar_tools.settings');
   }
 
   /**
@@ -67,7 +74,8 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
       $container->get('entity_type.manager'),
       $container->get('module_handler'),
       $container->get('router.route_provider'),
-      $container->get('theme_handler')
+      $container->get('theme_handler'),
+      $container->get('config.factory')
     );
   }
 
@@ -76,6 +84,7 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
    */
   public function getDerivativeDefinitions($base_plugin_definition) {
     $links = [];
+    $max_bundle_number = $this->config->get('max_bundle_number');
     $entity_types = $this->entityTypeManager->getDefinitions();
     $content_entities = [];
     foreach ($entity_types as $key => $entity_type) {
@@ -91,11 +100,10 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
     foreach ($content_entities as $entities) {
       $content_entity_bundle = $entities['content_entity_bundle'];
       $content_entity = $entities['content_entity'];
-      // We do not display more than 10 different bundles per entity type.
       $content_entity_bundle_storage = $this->entityTypeManager->getStorage($content_entity_bundle);
-      $bundles_ids = $content_entity_bundle_storage->getQuery()->pager(self::MAX_BUNDLE_NUMBER)->execute();
+      $bundles_ids = $content_entity_bundle_storage->getQuery()->pager($max_bundle_number)->execute();
       $bundles = $this->entityTypeManager->getStorage($content_entity_bundle)->loadMultiple($bundles_ids);
-      if (count($bundles) == self::MAX_BUNDLE_NUMBER && $this->routeExists('entity.' . $content_entity_bundle . '.collection')) {
+      if (count($bundles) == $max_bundle_number && $this->routeExists('entity.' . $content_entity_bundle . '.collection')) {
         $links[$content_entity_bundle . '.collection'] = [
           'title' => $this->t('All types'),
           'route_name' => 'entity.' . $content_entity_bundle . '.collection',
@@ -317,11 +325,10 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
         'weight' => -2,
       ] + $base_plugin_definition;
       // Adds links to /admin/structure/menu.
-      // We do not display more than 10 different menus.
       $menus = $this->entityTypeManager->getStorage('menu')->loadMultiple();
       uasort($menus, [Menu::class, 'sort']);
-      $menus = array_slice($menus, 0, self::MAX_BUNDLE_NUMBER);
-      if (count($menus) == self::MAX_BUNDLE_NUMBER) {
+      $menus = array_slice($menus, 0, $max_bundle_number);
+      if (count($menus) == $max_bundle_number) {
         $links['entity.menu.collection'] = [
           'title' => $this->t('All menus'),
           'route_name' => 'entity.menu.collection',
