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 |
|---|---|---|---|
| m*l*i*o*o*r.com (WP 6.9.4) | F | 2026-05-20 18:42:44 | |
| e*p*r*-*n*r*e*i*u*.com | A | 2026-05-20 17:35:47 | |
| l*b*n*b*u*c*e.de | F | 2026-05-20 17:03:53 | |
| p*o*e*g*.a*f*c*p*t*l.ru (WP 5.2.1) | F | 2026-05-20 16:30:34 | |
| b*o*.l*p*p*b*i*h*n*.com (WP 6.9.1) | F | 2026-05-20 16:13:31 | |
| m*b*l*w.com | F | 2026-05-20 14:01:47 | |
| e*p*r*m*n*s*i*h*i*e.com (WP 6.9.4) | F | 2026-05-20 12:26:33 | |
| f*o.gallery | B | 2026-05-20 06:31:33 | |
| s*l*e*e*o.com (WP 6.9.4) | F | 2026-05-20 02:56:31 | |
| b*t*e*t*t*p*a*n*n*.com | F | 2026-05-20 01:40:07 | |
| o*-*a*k*u*t*y*t*o*n*y*.com | F | 2026-05-20 01:03:55 | |
| m*h*l*w.com | F | 2026-05-19 22:34:59 | |
| c*e*t*r*s*i*y*e*.co (WP 6.9.4) | A | 2026-05-19 22:02:36 | |
| e*i*f*o*d*.com | F | 2026-05-19 20:57:18 | |
| a*e*d*t*s*h*s*o*i*u*s.com (WP 6.7.2) | F | 2026-05-19 19:32:43 | |
| e*o*v*w*l*n*s*a*d*e*l*h.com | F | 2026-05-19 19:00:31 | |
| o*s*h*r.com (WP 6.9.4) | F | 2026-05-19 18:31:07 | |
| p*s*u*a*.c*m.ar (WP 6.9.4) | F | 2026-05-19 17:59:22 | |
| s*x*a*t*r*.org (WP 6.9.4) | F | 2026-05-19 17:54:30 | |
| e*p*e*d*r*l*s.com (WP 6.9.4) | F | 2026-05-19 15:37:47 | |
| m*y*a*l*p.com | F | 2026-05-19 14:32:44 | |
| d*s*u*r*f*.com | F | 2026-05-19 14:31:39 | |
| k*d*l*a*n*n*s*a*e.com | D | 2026-05-19 13:24:53 | |
| b*o*s*h*r*.com | F | 2026-05-19 11:35:37 | |
| e*o*k*i*i*.com (WP 6.9.4) | D | 2026-05-19 11:22:36 | |
| b*u*t*l*t*h*t*i*e.a*p.link (WP 6.9.4) | D | 2026-05-19 10:51:48 | |
| s*f*a*o*i*b.com | F | 2026-05-19 10:41:10 | |
| c*b*s*o*t*r.de (WP 6.9.4) | F | 2026-05-19 10:30:23 | |
| a*p*t*t*a*d*n.fr | F | 2026-05-19 09:35:51 | |
| k*l*r*h*s*b*.com | F | 2026-05-19 08:34:59 | |
| y*s*l*y*a.com (WP 6.9.4) | F | 2026-05-19 05:04:07 | |
| g*o*t*-*a*k*r*.net (WP 6.9.4) | F | 2026-05-19 04:10:11 | |
| r*a*i*g*o*t*n*.com | D | 2026-05-19 03:45:43 | |
| n*w*o*.com (WP 6.9.4) | B | 2026-05-19 03:28:38 | |
| r*p*i*d*i*y.com (WP 6.9.4) | F | 2026-05-19 03:03:48 | |
| r*p*d*r*n*f*r*a*i*o.com | B | 2026-05-19 01:02:28 | |
| x*-*k*e*r*y*v*p*a*f*b.com | B | 2026-05-19 00:58:33 | |
| b*o*e*i*n*w*.com (WP 6.9.4) | C | 2026-05-19 00:45:57 | |
| b*o*e*i*.com (WP 6.9.4) | C | 2026-05-19 00:45:57 | |
| d*f*a*s*k*l*h.s*m*.t*k*o*r*t.a*.id (WP 6.9.4) | F | 2026-05-19 00:12:48 | |
| e*r*s*i*g*a*t.eu (WP 6.9.1) | F | 2026-05-19 00:03:51 | |
| a*p*a*l*n.de (WP 6.9.4) | F | 2026-05-18 23:23:43 | |
| e*e*d*i*l*n*e.fr | D | 2026-05-18 19:15:25 | |
| e*r*p*t*a*e*3*0.com | F | 2026-05-18 17:46:48 | |
| c*s*n*.i*f*.u*.ua (WP 6.7.5) | F | 2026-05-18 16:38:08 | |
| k*h*o*i*.com | F | 2026-05-18 16:20:26 | |
| m*t*h*w*h*r*e*h*r*p*.com | F | 2026-05-18 15:27:38 | |
| e*s*o*l*w*l*c.com | F | 2026-05-18 15:18:08 | |
| r*n*o*t*e*e*c*u*a*s.com | F | 2026-05-18 14:46:49 | |
| v*n*u*r*c*s*n*.net | F | 2026-05-18 09:03:01 | |
| n*m*z*-*i*a*.com | D | 2026-05-18 08:09:42 | |
| d*c*a*n*.com (WP 6.9.4) | F | 2026-05-18 07:02:24 | |
| v*s*c*s*n*.fi | B | 2026-05-18 07:02:21 | |
| s*r*m*b*l*c*s*n*.fi | B | 2026-05-18 07:02:21 | |
| 2*e*e*s*e*l*.org | A | 2026-05-18 05:55:19 | |
| k*a*e*g*o*p.com | F | 2026-05-18 05:44:52 | |
| h*r*y*c*s*n*.org | F | 2026-05-18 04:37:47 | |
| r*c*p*j*y*.com (WP 6.9.4) | F | 2026-05-18 02:17:16 | |
| w*m*a*i*o*d*.com | F | 2026-05-18 01:28:06 | |
| l*l*e*u*t*r*.fr (WP 6.6.5) | F | 2026-05-17 23:57:32 | |
| j*i*f*e*i*a*.com (WP 6.9.4) | F | 2026-05-17 22:25:33 | |
| y*c*t*n*u*e*s.com (WP 6.9.4) | F | 2026-05-17 21:32:06 | |
| m*s*e*s*a*g*a*e.com (WP 6.9.4) | C | 2026-05-17 21:11:13 | |
| t*a*s*a*r*i*.com (WP 6.9.4) | C | 2026-05-17 20:43:28 | |
| d*b*i*t*o*.website | F | 2026-05-17 20:35:39 | |
| t*n*m*t*k.com | F | 2026-05-17 20:23:34 | |
| n*2.k*l*r*h*s*b*.com | F | 2026-05-17 19:05:41 | |
| h*a*t*p*o*o*o*s.com (WP 6.9.4) | F | 2026-05-17 19:05:21 | |
| a*u*t*e*e*e*r*.com | F | 2026-05-17 17:49:06 | |
| m*t*b*n*u*e*.info | F | 2026-05-17 16:42:21 | |
| e*a*e*w*y*a*.c*.uk | F | 2026-05-17 15:08:01 | |
| n*1.k*l*r*h*s*b*.com | F | 2026-05-17 14:47:31 | |
| l*d*c*a*s*c*e*.fr (WP 6.9.4) | F | 2026-05-17 14:26:33 | |
| x*r*a*w*t*h.com (WP 6.9.4) | F | 2026-05-17 14:15:59 | |
| h*e*o.fr | A | 2026-05-17 13:24:52 | |
| d*t*e*k*z*.nl (WP 6.9.4) | F | 2026-05-17 10:05:01 | |
| b*a*n*v.com (WP 6.9.4) | F | 2026-05-17 07:08:03 | |
| n*w*n*l*d*d.com | B | 2026-05-17 04:29:33 | |
| x*-*t*f*l*e*c*f*-*c*.com (WP 6.9.4) | F | 2026-05-17 02:18:58 | |
| a*t*a*i*e*-*a*t*.com (WP 6.9.4) | F | 2026-05-17 01:24:26 | |
| k*z*n*i*a*b*h*s*i*e*e*i.com (WP 6.9.4) | F | 2026-05-16 22:50:12 | |
| b*a*i*l*.nl (WP 6.9.4) | D | 2026-05-16 21:33:47 | |
| h*y*u*s*l*w.com | F | 2026-05-16 21:03:01 | |
| d*g*t*l*o*a*h*r*w*r*.de (WP 6.9.4) | F | 2026-05-16 19:40:12 | |
| e*o*v*w*l*n*s*.w*e*g*n*.com | F | 2026-05-16 19:32:36 | |
| a*a*e*h*c*s*o*e*.com | D | 2026-05-16 16:38:24 | |
| n*t*e*o*d*u*.com | F | 2026-05-16 14:59:27 | |
| t*x*s*o*d*o*s*s*e*i*l*.com | F | 2026-05-16 14:57:51 | |
| r*z*r*u*o*l*s*.com (WP 6.9.4) | F | 2026-05-16 14:34:49 | |
| v*r*l*m*e*d*s*g*.c*.uk (WP 6.9.4) | A | 2026-05-16 14:29:25 | |
| a*t*d*s*e*i*s.com (WP 6.9.4) | F | 2026-05-16 14:10:51 | |
| j*h*.c*m*a*a*t*s*m*t*s*.org | D | 2026-05-16 13:40:46 | |
| a*a*o*u*.net (WP 6.9.4) | D | 2026-05-16 13:17:04 | |
| m*r*b*m.com (WP 6.9.4) | F | 2026-05-16 09:29:18 | |
| c*i*k*n*r*a*-*a*i*o.pl | F | 2026-05-16 08:57:30 | |
| x*-*c*s*n*o*a*m*-*h*.com | F | 2026-05-16 07:19:25 | |
| s*e*p*x*m*n*r.com | C | 2026-05-16 06:54:34 | |
| f*r*a*a*y*i*h*.com (WP 6.9.4) | F | 2026-05-16 06:36:29 | |
| n*r*e*i*n*d*e*t*r*.com | F | 2026-05-16 05:32:31 | |
| n*r*h*e*t*r*w*r*h*u*e.com (WP 6.9.4) | B | 2026-05-16 04:10:31 |