diff --git a/config/install/single_language_url_prefix.settings.yml b/config/install/single_language_url_prefix.settings.yml
new file mode 100644
index 0000000..e5a673a
--- /dev/null
+++ b/config/install/single_language_url_prefix.settings.yml
@@ -0,0 +1 @@
+excluded_paths: ''
diff --git a/single_language_url_prefix.links.menu.yml b/single_language_url_prefix.links.menu.yml
new file mode 100644
index 0000000..dfd13d8
--- /dev/null
+++ b/single_language_url_prefix.links.menu.yml
@@ -0,0 +1,5 @@
+single_language_url_prefix.settings:
+  title: 'Single Language URL Prefix'
+  description: 'Configure Single Language URL Prefix settings.'
+  route_name: single_language_url_prefix.settings
+  parent: system.admin_config_regional
diff --git a/single_language_url_prefix.routing.yml b/single_language_url_prefix.routing.yml
new file mode 100644
index 0000000..3e170aa
--- /dev/null
+++ b/single_language_url_prefix.routing.yml
@@ -0,0 +1,7 @@
+single_language_url_prefix.settings:
+ path: '/admin/config/regional/language/single-language-url-prefix'
+ defaults:
+   _title: 'Single Language URL Prefix settings'
+   _form: 'Drupal\single_language_url_prefix\Form\SettingsForm'
+ requirements:
+   _permission: 'administer languages'
diff --git a/single_language_url_prefix.services.yml b/single_language_url_prefix.services.yml
index 03b5142..f6d621c 100644
--- a/single_language_url_prefix.services.yml
+++ b/single_language_url_prefix.services.yml
@@ -4,4 +4,7 @@ services:
     tags:
       - { name: path_processor_inbound, priority: 500 }
       - { name: path_processor_outbound, priority: -1 }
-    arguments: ['@language_manager', '@config.factory']
+    arguments:
+      - '@language_manager'
+      - '@config.factory'
+      - '@path.matcher'
diff --git a/src/Form/SettingsForm.php b/src/Form/SettingsForm.php
new file mode 100644
index 0000000..f9b51c4
--- /dev/null
+++ b/src/Form/SettingsForm.php
@@ -0,0 +1,62 @@
+<?php
+
+namespace Drupal\single_language_url_prefix\Form;
+
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Form\ConfigFormBase;
+
+/**
+ * Class SettingsForm
+ *
+ * @package Drupal\single_language_url_prefix\Form
+ */
+class SettingsForm extends ConfigFormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getEditableConfigNames() {
+    return ['single_language_url_prefix.settings'];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'single_language_url_prefix_settings';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $config = $this->config('single_language_url_prefix.settings');
+
+    $form['excluded_paths'] = array(
+      '#type' => 'textarea',
+      '#title' => $this->t('Excluded Paths'),
+      '#default_value' => $config->get('excluded_paths'),
+    );
+
+    return parent::buildForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function validateForm(array &$form, FormStateInterface $form_state) {
+    parent::validateForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $config = $this->configFactory()->getEditable('single_language_url_prefix.settings');
+    $config->set('excluded_paths', $form_state->getValue('excluded_paths'));
+    $config->save();
+
+    parent::submitForm($form, $form_state);
+  }
+
+}
diff --git a/src/SingleLanguageNegotiationUrl.php b/src/SingleLanguageNegotiationUrl.php
index 8566cbc..02e5be3 100644
--- a/src/SingleLanguageNegotiationUrl.php
+++ b/src/SingleLanguageNegotiationUrl.php
@@ -4,6 +4,7 @@ namespace Drupal\single_language_url_prefix;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Language\LanguageManagerInterface;
+use Drupal\Core\Path\PathMatcherInterface;
 use Drupal\Core\PathProcessor\InboundPathProcessorInterface;
 use Drupal\Core\PathProcessor\OutboundPathProcessorInterface;
 use Drupal\Core\Render\BubbleableMetadata;
@@ -32,6 +33,20 @@ class SingleLanguageNegotiationUrl implements InboundPathProcessorInterface, Out
    */
   protected $config;
 
+  /**
+   * The path matcher.
+   *
+   * @var \Drupal\Core\Path\PathMatcherInterface
+   */
+  protected $pathMatcher;
+
+  /**
+   * Excluded paths from config.
+   *
+   * @var null|string
+   */
+  protected $excludedPaths = NULL;
+
   /**
    * Constructs a SingleLanguageNegotiationUrl object.
    *
@@ -39,11 +54,15 @@ class SingleLanguageNegotiationUrl implements InboundPathProcessorInterface, Out
    *   An alias manager for looking up the system path.
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config
    *   The configuration factory.
+   * @param \Drupal\Core\Path\PathMatcherInterface $path_matcher
+   *   Path Matcher service.
    */
   public function __construct(LanguageManagerInterface $language_manager,
-                              ConfigFactoryInterface $config) {
+                              ConfigFactoryInterface $config,
+                              PathMatcherInterface $path_matcher) {
     $this->languageManager = $language_manager;
     $this->config = $config;
+    $this->pathMatcher = $path_matcher;
   }
 
   /**
@@ -54,7 +73,7 @@ class SingleLanguageNegotiationUrl implements InboundPathProcessorInterface, Out
 
     // We don't do anything if more then one language enabled.
     // That works by default.
-    if (count ($languages) > 1) {
+    if (count ($languages) > 1 || $this->isPathExcluded($path)) {
       return $path;
     }
 
@@ -84,7 +103,7 @@ class SingleLanguageNegotiationUrl implements InboundPathProcessorInterface, Out
 
     // We don't do anything if more then one language enabled.
     // That works by default.
-    if (count ($languages) > 1) {
+    if (count ($languages) > 1 || $this->isPathExcluded($path)) {
       return $path;
     }
 
@@ -101,4 +120,26 @@ class SingleLanguageNegotiationUrl implements InboundPathProcessorInterface, Out
     return $path;
   }
 
+  /**
+   * Helper function to check if current path is excluded or not.
+   *
+   * @param $path
+   *   Path to check.
+   *
+   * @return bool
+   *   TRUE if path is excluded.
+   */
+  protected function isPathExcluded($path) {
+    if (!isset($this->excludedPaths)) {
+      $config = $this->config->get('single_language_url_prefix.settings');
+      $this->excludedPaths = $config->get('excluded_paths') ?? '';
+    }
+
+    if (empty($this->excludedPaths)) {
+      return FALSE;
+    }
+
+    return (bool) $this->pathMatcher->matchPath($path, $this->excludedPaths);
+  }
+
 }
