diff --git a/smart_paging.info b/smart_paging.info
index 5880a59..bdde494 100644
--- a/smart_paging.info
+++ b/smart_paging.info
@@ -4,6 +4,7 @@ description = Provides long Drupal content splitting up into sub pages.
 core = 7.x
 files[] = smart_paging.install
 files[] = smart_paging.module
+files[] = smart_paging.tokens.inc
 files[] = includes/smart_paging.admin.inc
 dependencies[] = filter
-configure = admin/config/content/smart_paging
\ No newline at end of file
+configure = admin/config/content/smart_paging
diff --git a/smart_paging.tokens.inc b/smart_paging.tokens.inc
new file mode 100644
index 0000000..9322dbb
--- /dev/null
+++ b/smart_paging.tokens.inc
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * Implements hook_token_info().
+ */
+function smart_paging_token_info() {
+  $info = array(
+    'types' => array(
+      'smart-paging' => array(
+        'name' => t('Smart Paging'),
+        'description' => t('Smart Paging Tokens.'),
+      )
+    )
+  );
+
+  // Create token [smart-paging:page-number]
+  $info['tokens']['smart-paging']['page-number'] = array(
+    'name' => t('Page number'),
+    'description' => t('The page number of the current page when viewing paged lists.'),
+  );
+
+  return $info;
+}
+
+/**
+ * Implements hook_tokens().
+ */
+function smart_paging_tokens($type, $tokens, array $data = array(), array $options = array()) {
+  $replacements = array();
+
+  if ($type == 'smart-paging') {
+    foreach ($tokens as $name => $original) {
+      switch ($name) {
+        case 'page-number':
+          $replacements[$original] = pager_find_page(1) + 1;
+          break;
+      }
+    }
+  }
+
+  return $replacements;
+}
\ No newline at end of file
