Joli Table Of Contents
Joli Table Of Contents is the most customizable and performance-focused table of contents plugin for WordPress. It works out of the box for beginners β thanks to a built-in Onboarding Wizard β and offers deep control for advanced users and developers.
Easily insert a table of contents into all your posts with either the Auto-insert, the Gutenberg Block, or the Shortcode.
π Documentation | β Get PRO
π Why Joli Table Of Contents?
β Beginner-Friendly Onboarding Wizard
After activation, a step-by-step setup wizard walks you through the most important settings β no configuration headaches, no reading documentation. Youβll have a working, good-looking TOC in minutes.
π¨ Instant Customization with the Color Palette System
The new Color Palette makes customization effortless. Set just the Accent color and it automatically propagates across your entire TOC β thatβs 90% of the visual work done in a single click. Fine-tune everything else at your own pace.
π§ Smart Heading Detection
Joli Table Of Contents accurately detects headings from third-party shortcodes and blocks that donβt appear directly in the editor but are rendered on the front end. Since v3, you can now choose between Content scope (default β prevents unwanted headings from appearing) and Extended scope for advanced use cases.
π Gutenberg Block with Inline Editing
Use the dedicated Gutenberg Block to insert a table of contents anywhere in your post. The block lets you hide or edit specific headings inline β no settings page needed.
β‘ Performance First
No jQuery dependency. Minified CSS and JavaScript. Conditional style loading based on active settings β only the code you need is loaded. Built for fast websites.
π Migrate from Another TOC Plugin β Without Touching Your Content
Already using Easy Table of Contents, LuckyWP Table of Contents, or another plugin? You can switch to Joli TOC without updating a single shortcode across your posts.
Use the built-in filter to map Joli TOC to your existing shortcode tag:
add_filter('jolitoc_shortcode_tag', function(){ return 'toc'; });
This works with any custom tag, so your existing [toc] (or any other) shortcodes continue to work immediately after switching.
β¨ Key Features
Design & Themes:
* Professional looking themes (Default, Original, Hero, + all legacy themes)
* Dark mode support for v3 themes
* Color Palette system β set one color, style the whole TOC
* Fully customizable: padding, margin, borders, fonts, colors, icons
* Custom CSS support
* CSS variable architecture for deep theming
* Custom theme engine (create your own theme)
Insertion methods:
* Auto-insert (by post type and position)
* Gutenberg Block
* Shortcode [joli-toc]
Auto-insert positions:
* Before/After the content
* Before/After H1
* Before first H2 / After first H2
* After first paragraph
Headings & Detection:
* Detect headings from third-party blocks and shortcodes
* Heading scope: Content (default) or Extended
* Show headings by custom depth (H2 to H6)
* Hide or edit specific headings via the block
* Disable headings by text or CSS class
Navigation & UX:
* Reading time estimate (new in v3)
* Hierarchical or Flat view
* Multiple numbering styles (with regional number support)
* Customizable numbering separator and suffix
* Smooth scrolling
* Folding/unfolding with animation
* Pretty URL hash (e.g. mysite.com/article/#section-title)
* Latin & non-latin character support
* Multilingual hash transliteration
* Responsive β hover events work as touch on mobile
Other:
* Import / Export settings
* Import presets for quick setup
* Custom CSS section
* Fully responsive
* multi-page support
* RTL support
* WPML compatible
* No jQuery
* Developer hooks (see full list)
β Whatβs New in v3
π§ Onboarding Wizard
New users are greeted with a step-by-step onboarding wizard that configures the most important settings for their site β without needing to touch advanced options.
π¨ Color Palette System
A brand-new reusable color palette makes customization fast and consistent. Define your Accent color once and watch it style your entire TOC automatically.
πΌ New & Updated Themes
v3 ships with new and upgraded themes: Default (replaces Basic Light/Dark), Original, and Hero β all with dark mode support and theme-specific style variants.
π Redesigned Settings Page
The admin interface has been fully redesigned with:
* A search bar to quickly find any setting
* A Live Preview panel β see your changes in real time
* A Quick Settings Panel for the most common options
* Better color pickers with palette support
* Session checker to prevent lost changes
π New Style Options
New styling controls include: header border style/width/radius/color, numbering badge colors, base font size, and toggle button styles.
π’ Improved Numbering System
The numbering engine has been upgraded to behave like a proper list β including support for regional numbering formats. Hexadecimal and binary modes have been removed.
π TOC Alignment
Choose between left, center, and right alignment for the entire TOC block.
π Reading Time Estimate
Automatically display an estimated reading time inside the TOC header.
π PRO Features
Get Joli Table Of Contents Pro
Premium Themes:
Widgets:
* π Timeline TOC β display the TOC as a visual timeline on the side of the screen, with proportionally spaced markers
* β
Floating TOC Widget β follows the user as they scroll, shows the active section
* β
Slide-Out TOC Widget β fixed panel on the side of the screen
* β
Sticky Sidebar TOC β TOC in a sidebar widget that sticks while scrolling
* β
Progress Bar Widget β reading progress indicator at the top of the page
PRO-only customization:
* β Collapsible headings
* β View more button (Partial fold)
* β Independent top-level heading styling
* Separator between top-level headings
* Multi-columns mode
* Per-device TOC visibility (in-content vs. sidebar)
* Fade past headings
Advanced auto-insert rules:
* Filter by post type, post title, or post ID
* Exclude specific posts by title or ID
* Different settings per post type (theme, layout, everything)
Custom Post Type support with per-post-type settings.
π§ Shortcode
Insert the TOC anywhere using the shortcode:
[joli-toc]
Migrating from another plugin? Keep your existing shortcode tag without updating any content:
add_filter('jolitoc_shortcode_tag', function(){ return 'toc'; });
This is compatible with shortcode tags used by Easy Table of Contents, LuckyWP Table of Contents, and others.
π£ Developer Hooks
Joli Table Of Contents provides a full set of action and filter hooks for developers.
Common examples (add to your themeβs functions.php):
Disable auto-insert globally:
add_filter(βjoli_toc_disable_autoinsertβ, function(){ return true; });
Disable JS or CSS:
add_filter(βjoli_toc_disable_jsβ, function(){ return true; });
add_filter(βjoli_toc_disable_stylesβ, function(){ return true; });
Customize the TOC title dynamically:
add_filter(βjoli_toc_toc_titleβ, function( $title ){ return βMy Custom Titleβ; });
π More Plugins by WPJoli
| Domain | Exposures | Headers | Last Checked |
|---|---|---|---|
| s*g*i*i*a*o*.online | F | 2026-05-30 07:54:38 | |
| p*a*i*x*l.com (WP 7.0) | F | 2026-05-30 07:44:36 | |
| c*m*e*u*o*o*.fr (WP 6.5.8) | F | 2026-05-30 06:31:52 | |
| r*y*l*a*-*a*i*o.com | F | 2026-05-30 06:30:56 | |
| c*i*k*n*s*b*a*.net | F | 2026-05-30 06:30:56 | |
| r*s*m*t*e*.com | F | 2026-05-30 06:17:28 | |
| r*s*m*u*e.com | F | 2026-05-30 06:09:12 | |
| f*r*a*i*n*c*m*w*b.fr (WP 6.8.3) | F | 2026-05-30 02:30:12 | |
| c*n*e*t.d*s*.fi | F | 2026-05-29 23:13:02 | |
| f*a*o*f*l*i*h*s.com | B | 2026-05-29 22:59:38 | |
| i*t*i*i*e*i*r*.com (WP 5.8.13) | F | 2026-05-29 22:50:16 | |
| u*k*r*a.kr (WP 7.0) | F | 2026-05-29 19:44:34 | |
| i*f*.u*.ua (WP 6.7.5) | F | 2026-05-29 19:01:01 | |
| b*t*a*e*a*i*o.de | F | 2026-05-29 17:39:37 | |
| r*c*i*a*c*.com (WP 7.0) | F | 2026-05-29 16:52:10 | |
| c*i*k*n*l*n*o*g*m*.net | F | 2026-05-29 16:08:32 | |
| c*i*k*n*s*b*a*.org | F | 2026-05-29 16:04:02 | |
| i*t*r*e*m*r*e*i*g*t*p*.com (WP 7.0) | F | 2026-05-29 14:42:18 | |
| f*o*d*t*i*t.com | F | 2026-05-29 14:26:01 | |
| f*o*d*w*a*.com | F | 2026-05-29 14:26:01 | |
| f*o*d*w*t*r.com | F | 2026-05-29 14:26:01 | |
| f*o*d*p*.com | F | 2026-05-29 14:26:01 | |
| f*o*d*l*v*n*.com | F | 2026-05-29 14:26:01 | |
| f*o*d*h*t*l*.com | F | 2026-05-29 14:26:01 | |
| f*o*d*.com | F | 2026-05-29 14:21:13 | |
| f*o*d*o*e*.com | F | 2026-05-29 14:21:13 | |
| f*a*r*a*d*f*o*d.com | F | 2026-05-29 13:59:06 | |
| a*k*c*s*n*.com (WP 6.7.2) | D | 2026-05-29 09:20:16 | |
| s*u*e*t*r*.com | D | 2026-05-29 08:42:32 | |
| a*c*h*l*e*c*n*a*e.nl | F | 2026-05-29 08:32:18 | |
| 2*g*a*d*a*i*o.es | F | 2026-05-29 08:23:56 | |
| c*m*r*t*e*m*g*a*h*q*e.com | F | 2026-05-29 05:40:42 | |
| b*r*i*g*.c*m.tr | F | 2026-05-29 05:32:37 | |
| d*c*e*r*o*e*r*.com | F | 2026-05-29 04:53:17 | |
| a*d*o*i*a*t.fr (WP 6.9.4) | F | 2026-05-29 04:33:01 | |
| m*b*l*-*a*.com | F | 2026-05-29 03:41:54 | |
| h*p*o*e*n*a.org (WP 7.0) | D | 2026-05-29 02:15:10 | |
| c*n*e*t*r.ae (WP 6.9.4) | D | 2026-05-28 22:44:29 | |
| p*l*m*z*z*z*y.pl (WP 7.0) | F | 2026-05-28 22:31:06 | |
| f*s*e*h*t*a.com | F | 2026-05-28 21:41:59 | |
| b*t*g.org | F | 2026-05-28 19:48:27 | |
| s*r*t*g*c*i*i*a*a*e*c*.com | F | 2026-05-28 16:48:55 | |
| s*o*a*l*y.nl (WP 7.0) | F | 2026-05-28 15:49:54 | |
| l*b*n*e*o*i*e.com | F | 2026-05-28 14:09:02 | |
| v*l*v*r*r.com | F | 2026-05-28 13:22:06 | |
| i*s*a*b*r.com (WP 7.0) | F | 2026-05-28 12:30:52 | |
| i*s*a*.com (WP 6.9.4) | F | 2026-05-28 11:26:34 | |
| f*e*i*l*u*.in (WP 7.0) | F | 2026-05-28 08:56:05 | |
| a*d*t*c*.es (WP 7.0) | D | 2026-05-28 08:23:38 | |
| c*r*s*m*h*l*c*.com (WP 6.9.4) | F | 2026-05-28 08:16:42 | |
| c*r*s*m*h*l*c.com (WP 6.9.4) | F | 2026-05-28 08:16:42 | |
| f*s*p*r*.de (WP 7.0) | F | 2026-05-28 07:53:10 | |
| c*i*k*n*r*a*-*e*e*l*n*.nl | F | 2026-05-28 06:48:56 | |
| b*o*.v*k*n*.de (WP 7.0) | B | 2026-05-28 05:00:01 | |
| c*i*k*n*s*b*a*.games | F | 2026-05-28 04:18:09 | |
| b*y*n*m*r*e*i*g.xyz | D | 2026-05-28 04:02:08 | |
| i*h*r*y.com (WP 6.9.4) | F | 2026-05-28 03:57:55 | |
| t*g*r*f*r*u*e*o*l*n*.c*m.br | F | 2026-05-28 01:13:34 | |
| f*n*u*n.com (WP 7.0) | D | 2026-05-28 00:40:44 | |
| d*v*b*.com (WP 7.0) | F | 2026-05-28 00:36:44 | |
| c*n*c*r*u*a.net (WP 7.0) | F | 2026-05-27 21:54:45 | |
| k*a*l*w.com | F | 2026-05-27 17:58:51 | |
| m*s*y*c*t*h*r*e*s.com | F | 2026-05-27 16:28:18 | |
| m*s*y*c*t*h*r*e*.com | F | 2026-05-27 16:28:18 | |
| m*s*c*a*t*r*.com | F | 2026-05-27 14:37:44 | |
| m*s*c*a*t*r.com | F | 2026-05-27 14:37:44 | |
| b*m*d.vn (WP 7.0) | F | 2026-05-27 14:16:41 | |
| h*n*o*e*l*k*l.de (WP 7.0) | F | 2026-05-27 13:58:31 | |
| m*-*i*e*s*.fr (WP 7.0) | F | 2026-05-27 12:51:54 | |
| m*s*k*a*.com (WP 7.0) | F | 2026-05-27 12:34:21 | |
| f*e*i*l*u*.co (WP 7.0) | F | 2026-05-27 12:21:24 | |
| v*y*g*o*s.top | F | 2026-05-27 11:15:02 | |
| h*b*k*n*w*.jp | D | 2026-05-27 10:26:11 | |
| d*n*o*c*v*e*.info (WP 7.0) | F | 2026-05-27 10:17:48 | |
| p*s*o*3*8.com (WP 6.8.2) | F | 2026-05-27 08:36:16 | |
| a*t*s*s.com | F | 2026-05-27 08:18:49 | |
| c*i*a*r*w*h*a*k*r*.com (WP 6.9.4) | F | 2026-05-27 02:56:01 | |
| b*o*.v*k*n*d*r*c*.nl (WP 7.0) | B | 2026-05-27 01:12:06 | |
| s*c*i*s*.com (WP 7.0) | F | 2026-05-26 21:37:25 | |
| r*n*h*r*y.com (WP 7.0) | F | 2026-05-26 19:07:32 | |
| l*m*f*a.pt (WP 7.0) | D | 2026-05-26 18:53:33 | |
| s*z*y*d*k.com (WP 7.0) | F | 2026-05-26 18:39:53 | |
| r*g*l*a*i*g*t*d*o.c*.uk | A | 2026-05-26 17:27:33 | |
| l*b*a*y.m*a*t*i*h*u*i*e*s*t*.nl | F | 2026-05-26 17:23:52 | |
| r*m*d*l*f*o*d.com | F | 2026-05-26 16:40:09 | |
| s*e*g*r.com | F | 2026-05-26 14:32:44 | |
| l*s*r*f*o*d.com | F | 2026-05-26 13:21:35 | |
| p*s*u*r.de (WP 7.0) | F | 2026-05-26 11:39:25 | |
| m*c*a*l*f*a*c*.com | F | 2026-05-26 10:27:10 | |
| l*n*t*e*m*t*.com | F | 2026-05-26 09:15:50 | |
| c*t*t*o*m*c*i*e.bot (WP 7.0) | D | 2026-05-26 09:07:24 | |
| v*k*r*e*n*a*h.de (WP 7.0) | F | 2026-05-26 08:24:03 | |
| o*z*r*i*g.com | F | 2026-05-26 07:47:31 | |
| p*i*l*p*f*m*l*l*w.c*m.au (WP 7.0) | F | 2026-05-26 03:46:14 | |
| h*s*i*g*a*k*t.com | F | 2026-05-26 02:36:34 | |
| c*i*k*n*l*n*o*a*e.de | F | 2026-05-26 01:55:41 | |
| m*g*e*a.fr (WP 7.0) | F | 2026-05-26 01:30:14 | |
| p*r*o*a*o*r*a*e.fr | A | 2026-05-26 01:20:24 | |
| r*d*b*.com (WP 6.9.4) | F | 2026-05-25 23:52:25 | |
| u*l*b.nl | F | 2026-05-25 23:45:31 |