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 |
|---|---|---|---|
| t*b*a*e*i*d*c*.me | F | 2026-06-11 14:36:27 | |
| r*t*i*.pl | F | 2026-06-11 02:53:54 | |
| v*r*l*i*e*n*t*i*a*i*o*.org | B | 2026-06-10 14:32:15 | |
| b*a*t*s*i*r*v*e*s.c*.uk (WP 7.0) | F | 2026-06-09 20:42:07 | |
| l*b*n*h*s*y.fr | F | 2026-06-09 17:52:48 | |
| h*i*e*e*a*s*g*.net | D | 2026-06-08 03:54:12 | |
| o*-*u*i*e*s*t*o*n*y*.com | F | 2026-06-08 01:11:28 | |
| r*g*o*a*-*o*r*e*a*t.de (WP 7.0) | F | 2026-06-08 00:18:12 | |
| h*l*-*e*m*i*t.de (WP 7.0) | F | 2026-06-08 00:18:12 | |
| f*u*r*e*r*n*w*.com (WP 7.0) | F | 2026-06-07 23:37:21 | |
| y*u*f*r*e.fr | F | 2026-06-07 11:52:08 | |
| m*r*d*m*n*e*e.com | F | 2026-06-07 02:17:22 | |
| e*r*n*o.jp | D | 2026-06-06 23:22:08 | |
| t*i*k*u*l*s*.com | F | 2026-06-06 17:27:30 | |
| 9*9*i*s.net | F | 2026-06-06 06:38:06 | |
| m*n*c*a*t*s*o*.net | F | 2026-06-06 04:26:28 | |
| a*s*b*s*e*.com (WP 7.0) | F | 2026-06-06 04:01:01 | |
| t*e*a*h*n*t*n*o*k*e*i*w.com | F | 2026-06-06 03:51:44 | |
| t*e*i*e*t*a.com (WP 6.9.4) | F | 2026-06-06 02:22:27 | |
| p*a*e*o*.de (WP 7.0) | F | 2026-06-05 16:50:41 | |
| f*e*c*-*i*h*s*o*i*s.com (WP 7.0) | F | 2026-06-04 00:56:14 | |
| i*i*a*c*c*u*t*g*.com (WP 7.0) | F | 2026-06-03 22:19:51 | |
| m*t*o*.com | F | 2026-06-03 22:02:48 | |
| m*s*s*i*s*b*a*t*.com (WP 7.0) | F | 2026-06-03 20:56:48 | |
| f*e*l*g*l*d*i*e*o*l*n*.com | F | 2026-06-03 20:22:25 | |
| m*l*n*a*h*o*9*.com (WP 7.0) | F | 2026-06-03 16:04:59 | |
| m*t*o*o*i*i*s.c*m.mx (WP 7.0) | F | 2026-06-03 14:09:51 | |
| b*y*a*e.com (WP 6.8.5) | C | 2026-06-03 12:17:28 | |
| a*i*t*r*h.com | F | 2026-06-03 11:51:58 | |
| a*i*t*r*n*o*a.com | F | 2026-06-03 11:51:57 | |
| a*i*t*r*t*.com | F | 2026-06-03 11:47:55 | |
| b*u*t*l*t*h*t.com (WP 6.9.4) | F | 2026-06-03 09:46:03 | |
| b*u*t*l*c*a*.com (WP 6.9.4) | F | 2026-06-03 09:46:03 | |
| m*g*t*g*o*n*s*.com (WP 6.9.4) | F | 2026-06-03 04:54:57 | |
| p*g*w*o.com (WP 7.0) | F | 2026-06-02 23:22:50 | |
| c*s*n*q*.com (WP 6.9) | D | 2026-06-02 23:14:03 | |
| f*v*r*f*.com (WP 7.0) | F | 2026-06-02 22:50:24 | |
| c*s*n*c*m*i*a.com (WP 7.0) | F | 2026-06-02 21:37:22 | |
| c*s*n*-*a*j*u*s*t.com | B | 2026-06-02 20:54:35 | |
| m*c*e*k*e*a*.com | F | 2026-06-02 16:36:30 | |
| t*e*c*i*n*y*a*g*o*p.com | F | 2026-06-02 13:34:53 | |
| m*c*e*i*w*.com | B | 2026-06-02 10:30:40 | |
| m*c*e*i*w.com | B | 2026-06-02 10:30:40 | |
| f*r*u*o*.com (WP 6.7.4) | F | 2026-06-02 07:27:27 | |
| m*t*r*y*l*a*c*d*n*l*w*e*-*c.com | F | 2026-06-02 06:19:22 | |
| a*s*r*l*a*a*i*o*n*i*e.com (WP 6.7.4) | F | 2026-06-02 04:43:09 | |
| v*a*a*v*n*o.org | A | 2026-06-02 03:55:59 | |
| a*r*a*d*f*o*d.com | F | 2026-06-01 22:19:28 | |
| b*l*y*b*a*t*.com (WP 7.0) | D | 2026-06-01 21:06:15 | |
| e*s*f*l*n*.com | D | 2026-06-01 19:01:36 | |
| e*d*o.app (WP 7.0) | F | 2026-06-01 18:51:40 | |
| l*v*-*a*i*o*.com (WP 7.0) | F | 2026-06-01 14:26:50 | |
| v*r*l*i*e*-*a*i*o*.com | B | 2026-06-01 08:59:07 | |
| b*o*.i*e*m*n*t*r.com | D | 2026-06-01 08:41:43 | |
| t*c*m*n*y*r*.com (WP 7.0) | F | 2026-06-01 08:02:18 | |
| f*o*l*g*n*.com | B | 2026-06-01 06:21:07 | |
| 1*0*a*s*f*h*i*t*a*.com (WP 6.9.4) | F | 2026-06-01 05:10:52 | |
| a*t*r*e*o*.com | A | 2026-06-01 04:31:13 | |
| i*m*b*l*e*-*a*t*s.co | A | 2026-06-01 04:18:42 | |
| j*l*e*h*n*y.ca (WP 7.0) | F | 2026-06-01 02:53:18 | |
| t*c*e*p*o*a*i*n*.com | D | 2026-06-01 02:39:26 | |
| p*i*o*o*l*c*i*e.com (WP 6.9.4) | D | 2026-06-01 00:55:51 | |
| f*o*a*p*u*i*.com | B | 2026-06-01 00:14:45 | |
| h*m*a*.com | B | 2026-05-31 23:42:17 | |
| c*n*a*n*r*a*i*.de (WP 7.0) | F | 2026-05-31 23:30:57 | |
| v*y*g*t*n*r*f*.com | F | 2026-05-31 22:08:27 | |
| i*o*e*p*r*e*t*r*e*r.com | D | 2026-05-31 21:49:09 | |
| g*t*r*a*t*v*.de (WP 7.0) | F | 2026-05-31 21:14:46 | |
| h*i*e*b*p*s*h*r*.com | F | 2026-05-31 17:13:27 | |
| d*v*l*e.net (WP 7.0) | F | 2026-05-31 16:34:41 | |
| n*w*m*s*e*-*t*g*n*.com (WP 7.0) | F | 2026-05-31 15:21:27 | |
| i*i*p*i*i*d*e*h.com (WP 7.0) | F | 2026-05-31 14:25:45 | |
| p*i*s*o*e*o*i*.com | F | 2026-05-31 14:02:33 | |
| e*v*e*x.c*u*t*r*2*.h*s*i*g.o*h.net (WP 7.0) | F | 2026-05-31 13:54:48 | |
| m*n*a*o*.com | F | 2026-05-31 11:34:00 | |
| f*s*l*w.com | F | 2026-05-31 11:21:58 | |
| i*f*o*d*n.com | F | 2026-05-31 11:00:00 | |
| p*e*e*t*v*m*d*c*n*d*i*y.com (WP 7.0) | B | 2026-05-31 10:54:14 | |
| o*i*i*i*t*.mx (WP 7.0) | F | 2026-05-31 10:49:36 | |
| e*g*n*d*m*i*n*a*.nl (WP 5.9.9) | F | 2026-05-31 10:27:10 | |
| g*j*p*n.jp | D | 2026-05-31 08:04:58 | |
| m*n*a*d*n*n*i*l*.com | A | 2026-05-31 08:03:36 | |
| a*t*o*f*t*r*.fr | F | 2026-05-31 07:51:39 | |
| m*n*p*.com (WP 7.0) | F | 2026-05-31 07:02:11 | |
| w*a*a*m*.info (WP 6.9.4) | F | 2026-05-31 06:43:59 | |
| o*k*i*l*a*e*t*.com (WP 7.0) | F | 2026-05-31 04:38:20 | |
| t*e*r*t*e*s*u*d.com | D | 2026-05-30 21:36:39 | |
| v*t*l*t*t*d*y.com (WP 6.9.4) | F | 2026-05-30 19:38:46 | |
| f*o*i*a*r*c*i*g*c*i*e*t*.com | F | 2026-05-30 19:01:03 | |
| d*e*e*z*l*s*a*t.nl (WP 7.0) | F | 2026-05-30 18:10:45 | |
| w*b*g*n*y.world (WP 6.9.4) | F | 2026-05-30 16:19:08 | |
| e*p*r*o*r*s*a*h*p.it (WP 6.0.9) | F | 2026-05-30 16:19:08 | |
| f*n*y*i*a*f*.fr | F | 2026-05-30 15:27:57 | |
| n*v*l*x.com (WP 7.0) | A | 2026-05-30 15:01:16 | |
| v*s*a*o*l*p*e*s*.com | F | 2026-05-30 14:25:26 | |
| s*i*a*n*v*n*l*n*c.com (WP 7.0) | F | 2026-05-30 13:33:51 | |
| f*r*s*h*u*h*.de (WP 7.0) | F | 2026-05-30 12:49:13 | |
| a*t*a*a*o*.com | F | 2026-05-30 09:59:30 | |
| v*s*t*r*l*v*.com (WP 6.8.5) | F | 2026-05-30 09:56:15 | |
| 8*4*v*b*m*d.p*e*i*w.i*f*m*n*a*.website | F | 2026-05-30 08:02:51 |