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*i*a*y*l*.com (WP 6.9.4) | B | 2026-05-12 06:11:56 | |
| b*a*i*l*.com (WP 6.9.4) | D | 2026-05-12 05:29:42 | |
| a*i*t*r*e*.c*.mz | F | 2026-05-12 04:43:39 | |
| e*e*i*-*e*i*e*.com (WP 6.9.4) | F | 2026-05-12 04:27:41 | |
| b*y*n*r*a*t*.asia | F | 2026-05-12 02:38:03 | |
| m*n*f*i*o*i*e*i.it | A | 2026-05-12 01:41:02 | |
| 2*0*a*i*o*o*u*s*t.fi | B | 2026-05-11 23:20:22 | |
| g*-*a*p*n*-*a*.com (WP 6.9.4) | F | 2026-05-11 23:01:40 | |
| b*t*k*.com | F | 2026-05-11 21:35:57 | |
| t*a*e*s*c*t.de | F | 2026-05-11 20:52:19 | |
| t*k*m*o*l*n*c*a*s*e*p*r.com | F | 2026-05-11 19:58:07 | |
| f*u*n*p*u*i*s.nl | F | 2026-05-11 11:31:41 | |
| w*n*i*t*c*s*n*.net (WP 6.9.4) | F | 2026-05-11 09:50:47 | |
| l*n*y*n*r*y.com (WP 6.9.4) | F | 2026-05-11 09:22:37 | |
| j*b*o*s*i*.com | A | 2026-05-11 09:09:17 | |
| t*m*l*s*b*s*e*b*l*.com (WP 6.9.4) | F | 2026-05-11 08:54:54 | |
| b*s*i*e*t*n*a.com (WP 6.9.4) | F | 2026-05-11 07:05:08 | |
| d*l*w*r*n*t*o*a*g*a*d.com (WP 6.9.4) | F | 2026-05-11 06:53:53 | |
| b*o*.s*m*.c*m.br | F | 2026-05-11 06:52:31 | |
| m*i*o*f*m*l*a*e.com | A | 2026-05-11 05:59:09 | |
| g*o*a*w*t*h*n*i*e.com (WP 6.9.4) | F | 2026-05-11 05:22:42 | |
| m*i*o*-*a*s*n*e*d*-*o*r*i*e.com | A | 2026-05-11 04:53:40 | |
| 4*e*w*l*.com (WP 6.9.4) | F | 2026-05-11 03:30:58 | |
| e*m*a*.com | B | 2026-05-11 02:20:22 | |
| g*e*t*a*a*e*s.com (WP 6.9.4) | F | 2026-05-11 01:04:04 | |
| a*b*-*b*o*.com | F | 2026-05-11 00:53:27 | |
| w*c*e*s*c*r*c*r*s.com (WP 6.9.4) | F | 2026-05-10 23:09:43 | |
| a*l*a*c*s*r*i*e.bg | A | 2026-05-10 22:20:56 | |
| j*w*r*w*.cz | F | 2026-05-10 21:37:59 | |
| e*s*u*i*.tr (WP 6.9.4) | F | 2026-05-10 19:28:56 | |
| j*y*9.com | F | 2026-05-10 19:08:20 | |
| b*s*-*o*e*-*r*k*r*-*n*i*a*.com (WP 6.9.4) | F | 2026-05-10 18:46:20 | |
| v*t*h.com (WP 6.9.4) | F | 2026-05-10 18:34:34 | |
| b*s*c*a*l*t*.a*p.link (WP 6.9.4) | D | 2026-05-10 17:44:45 | |
| m*h*a*i*a*o*l*w.com | F | 2026-05-10 15:45:40 | |
| o*m*.jp | D | 2026-05-10 13:56:09 | |
| p*r*h*m*s*a*e*.com (WP 6.9.4) | F | 2026-05-10 13:29:26 | |
| c*r*m*c*i*v*l*i.com (WP 6.9.4) | F | 2026-05-10 13:15:35 | |
| n*e*o*f*o*d.com | F | 2026-05-10 12:35:10 | |
| s*x*m*t*e*s.org (WP 6.9.4) | F | 2026-05-10 12:03:48 | |
| b*p*s*g*m*t*p.c*.uk | D | 2026-05-10 11:10:41 | |
| b*w*e*e*e*e*i*f*.nl | F | 2026-05-10 10:26:53 | |
| t*r*v*n*p*a*t*t*o*e*s.com (WP 6.9.4) | F | 2026-05-10 07:29:15 | |
| d*k*e*.c*m.ua (WP 6.9.4) | D | 2026-05-10 06:42:10 | |
| t*r*l*n*.com (WP 6.9.4) | D | 2026-05-10 05:00:55 | |
| l*f*p*a*l*g*l*z.com | F | 2026-05-10 02:53:12 | |
| l*f*p*a*l*g*l.com | F | 2026-05-10 02:53:12 | |
| m*s*i*n*n*r*s*a*l*.games | F | 2026-05-10 02:13:30 | |
| n*a.o*g.uk (WP 6.9.4) | F | 2026-05-10 00:28:16 | |
| n*h*.org | F | 2026-05-10 00:12:50 | |
| w*p*a*c*l*t*r.com (WP 6.9.4) | F | 2026-05-09 23:52:14 | |
| s*n*i*e*.ht (WP 6.9.4) | F | 2026-05-09 23:45:10 | |
| t*o*g*i*p*a*n*u*i.com (WP 6.9.4) | C | 2026-05-09 22:32:00 | |
| s*i*e*h*d*y*a*h*c*a*t*r*.com | F | 2026-05-09 21:52:08 | |
| s*i*e*h*d*y*a*h*c*a*t*r.com | F | 2026-05-09 21:52:08 | |
| s*i*e*h*d*y*h*r*e*s.com | F | 2026-05-09 21:52:08 | |
| s*i*e*h*d*y*h*r*e*.com | F | 2026-05-09 21:52:08 | |
| w*t*e*-*u*s*a*l.info (WP 6.9.4) | F | 2026-05-09 21:50:46 | |
| g*o*t*h*c*i*g*i*l*.com (WP 6.9.4) | B | 2026-05-09 20:40:09 | |
| d*n*t*.fr | A | 2026-05-09 20:23:00 | |
| p*i*e*c*e.com | A | 2026-05-09 20:22:46 | |
| t*t*c*.com | F | 2026-05-09 19:51:16 | |
| f*j*e*e*t*i*.fr (WP 6.9.1) | D | 2026-05-09 18:20:13 | |
| m*s*y*c*t*h*r*e*s.com | F | 2026-05-09 18:09:35 | |
| m*s*y*c*t*h*r*e*.com | F | 2026-05-09 18:09:35 | |
| m*s*s*p*r*a*h*s.com | F | 2026-05-09 18:03:39 | |
| m*s*s*p*r*a*h*.com | F | 2026-05-09 18:03:39 | |
| s*v*r*l.pro | F | 2026-05-09 16:05:37 | |
| m*s*c*a*t*r*.com | F | 2026-05-09 15:38:03 | |
| m*s*c*a*t*r.com | F | 2026-05-09 15:38:03 | |
| b*m*o*l*h*.com | F | 2026-05-09 15:17:36 | |
| i*o*a*a*t*s*o.pt (WP 6.9.4) | F | 2026-05-09 15:10:49 | |
| i*c*.me (WP 6.9.4) | F | 2026-05-09 08:11:14 | |
| k*z*m*a*e*e*g*e.com | A | 2026-05-09 07:55:46 | |
| j*n*o*j*v*d*v*l*p*r.pl (WP 6.9.4) | F | 2026-05-09 07:42:17 | |
| y*c*p*c*o.com (WP 6.9.4) | F | 2026-05-09 06:51:49 | |
| s*c*r*t*p*o*a*.com (WP 6.9) | F | 2026-05-09 06:34:05 | |
| g*l*e*t*r*e*r*m*e*s.com | F | 2026-05-09 05:43:24 | |
| c*n*o*s*a*k*.com | F | 2026-05-09 04:59:01 | |
| j*f*r*s*u*i*.com (WP 6.9.4) | D | 2026-05-09 02:05:29 | |
| l*v*l*s*o*l*n*.com (WP 6.9.4) | F | 2026-05-09 00:00:19 | |
| d*i*s*a*d*o*p*o*d*g.nl (WP 6.9.4) | F | 2026-05-08 22:42:47 | |
| c*y*t*b*o*g*r.nl (WP 6.9.4) | F | 2026-05-08 22:37:31 | |
| w*b*o*x*e*t.com | D | 2026-05-08 22:35:36 | |
| s*c*w*d.com (WP 6.9.4) | F | 2026-05-08 22:34:22 | |
| a*r*o*t*t*r*i*a*g*i*e.com (WP 6.7.1) | F | 2026-05-08 21:32:24 | |
| l*v*a*d*e*y*a*.com (WP 6.9.4) | F | 2026-05-08 21:30:35 | |
| e*o*e*d*h*u*e.com | A | 2026-05-08 20:56:31 | |
| c*n*u*t*n*a*c*o*s.com | F | 2026-05-08 19:45:58 | |
| 1*b*t*n.com | F | 2026-05-08 18:46:33 | |
| k*y*t*w*e*r*n*3*5.com | F | 2026-05-08 18:28:01 | |
| m*l*w*e*s*l*.com | F | 2026-05-08 16:56:58 | |
| w*b*i*e*l*l*.com | F | 2026-05-08 16:01:01 | |
| p*a*e*o*.com (WP 6.9.4) | F | 2026-05-08 15:09:42 | |
| p*a*-*o*k*s*o*s.com (WP 6.9.4) | F | 2026-05-08 13:17:51 | |
| c*n*p*r*t*a*i*y*u*.com (WP 6.9.4) | D | 2026-05-08 13:03:09 | |
| i*s*o*r*o*e*l*.com (WP 6.9.4) | F | 2026-05-08 12:12:10 | |
| i*s*v*r.com | F | 2026-05-08 10:38:19 | |
| i*p.today (WP 6.9.4) | F | 2026-05-08 09:34:47 | |
| e*s*f*l*n*.us | C | 2026-05-08 09:13:04 |