diff --git a/src/Plugin/Field/FieldFormatter/RewriteFieldFormatter.php b/src/Plugin/Field/FieldFormatter/RewriteFieldFormatter.php
index 6e39b48..d455d79 100644
--- a/src/Plugin/Field/FieldFormatter/RewriteFieldFormatter.php
+++ b/src/Plugin/Field/FieldFormatter/RewriteFieldFormatter.php
@@ -127,6 +127,20 @@ class RewriteFieldFormatter extends FormatterBase implements ContainerFactoryPlu
       '#default_value' => $this->settings['custom_text'],
     );
 
+    if ( \Drupal::moduleHandler()->moduleExists('token') ) {
+      $element['tokens'] = array(
+        '#theme' => 'token_tree_link',
+        '#token_types' => ['node'],
+        '#global_types' => TRUE,
+        '#click_insert' => TRUE,
+      );
+    }
+    else {
+      $element['token']['token_help'] = array(
+        '#markup' => '<p>' . t('Enable the <a href="@drupal-token">Token module</a> to view the available token browser.', array('@drupal-token' => 'http://drupal.org/project/token')) . '</p>',
+      );
+    }
+
     $element['make_link'] = array(
       '#title' => $this->t('Output this field as a custom link'),
       '#type' => 'checkbox',
@@ -208,10 +222,14 @@ class RewriteFieldFormatter extends FormatterBase implements ContainerFactoryPlu
     $custom_text = $this->settings['custom_text'];
     $link_path = strip_tags($this->settings['link_path']);
     $text_case = $this->settings['text_case'];
+    
+    $node = $items->getEntity();
+    $token_service = \Drupal::token();
     foreach ($items as $delta => $item) {
       $output = $item->value;
       if (!empty($output) && !empty($custom_text)) {
-        $output = $custom_text;
+        // Token Replacement.        
+        $output = $token_service->replace($custom_text, array('node'=>$node),  $options = array());
       }
       if ($text_case != 'none') {
         $plugin = $this->transformCaseManager->getDefinition($text_case);
@@ -221,10 +239,10 @@ class RewriteFieldFormatter extends FormatterBase implements ContainerFactoryPlu
         $output = $this->makeLink($link_path, $output);
       }
       if (!empty($prefix)) {
-        $output = $prefix . $output;
+        $output = $token_service->replace($prefix, array('node'=>$node),  $options = array()) . $output;
       }
       if (!empty($suffix)) {
-        $output = $output . $suffix;
+        $output = $output . $token_service->replace($suffix, array('node'=>$node),  $options = array());
       }
       $elements[$delta] = [
         '#markup' => $output
