This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



A tiny and simple to help with navigation in long texts by forming an automatic Wikipedia-like table of contents.

It works by scanning the text for headings (<h1>-<h6> HTML tags). If more than a certain amount of headings (3 by default) are found – a table of contents with bookmarks is formed and inserted to the post content. Location (above or below) the text can be chosen in settings page.

TOC is formed as HTML5 <nav> element with nested ordered list inside. No specific styling is provided, so that it fits organicaly into the text. If you need specific styling, include it to your theme’s CSS.

You can also use a shortcode – [toc], template tags – get_toc()/the_toc() and a widget – tinyTOC Widget.

The plugin is translation ready and has Lithuanian translation.

Also try out my other plugins:

  • Gust – a Ghost-like admin panel for WordPress, featuring Markdown based split-view editor.
  • tinyCoffee – a PayPal donations button with a twist. Ask people to treat you to a coffee/beer/etc.
  • tinySocial – a plugin to display social sharing links to Facebook/Twitter/etc. via shortcodes
  • tinyRelated – a plugin to manually assign and display related posts.
  • tinyIPPremium – stop WordPress users from sharing login information, force users to be logged in only from one device at a time.

An enormous amount of coffee was consumed while developing these plugins, so if you like what you get, please consider treating me to a cup. Or two. Or ten.

Cover image credit: Jeremy Keith


  • A TOC widget (left) and a TOC above the page content (center) in action in TwentyFourteen theme.
  • Settings screen.


  1. Install via WP Admin > Plugins > Add New or download a .zip file and upload via FTP to /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. (optional) Modify options via WP Admin > Settings > tinyTOC, if needed. Plugin automatically embeds TOC top of post content, but you can use a widget, a shortcode ([toc]), a couple of template tags (the_toc()/get_toc()) for other integration options.


I don’t see tinyTOC Widget in the available widget list.

You need to activate the widget via plugin Settings page (WP Admin > Settings > tinyTOC)


Read all 3 reviews

Contributors & Developers

“tinyTOC” is open source software. The following people have contributed to this plugin.


“tinyTOC” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “tinyTOC” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • a tinytoc_widget_content filter (by Maciej Gryniuk / odie2 )
  • better non-latin character support (by Maciej Gryniuk / odie2 )
  • prevent duplicate slugs (by Maciej Gryniuk / odie2 )
  • better PHP < 5.3.6 support (suggested by Maciej Gryniuk / odie2 )
  • a link to plugin settings from Plugins list (suggested by Maciej Gryniuk / odie2 )
  • updated widget code to remove PHP4 style constructors


  • an option to generate slug-based links


  • a big code rewrite (options page, main class, etc.)
  • renamed main plugin file to fit WordPress tradition better. Plugin will be deactivated after upgrade and you’ll need to reactivate it.


  • fixed some typos


  • fixed UTF-8 issue


  • shortcode and template tags added
  • parser rewriten (regex -> DOMDocument)


  • Widget added (thanks to Darcy W. Christ)
  • Small bug fixes


  • Initial release