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 |
|---|---|---|---|
| c*.l*k*n*v*.cz (WP 6.9.1) | F | 2026-05-16 03:45:49 | |
| b*o*g*r*d*g*t*l.com (WP 6.9.4) | F | 2026-05-16 02:56:21 | |
| z*e*s*u*i*.ca (WP 6.9.4) | F | 2026-05-16 00:54:03 | |
| e*c*e*a.fr | F | 2026-05-15 22:24:04 | |
| b*o*k*h*i*d*s*.com (WP 6.9.4) | F | 2026-05-15 21:58:09 | |
| e*i*s*a*g*t*e*i*w*.com (WP 6.9) | F | 2026-05-15 20:21:32 | |
| d*m*a*d*r.com (WP 6.9.4) | F | 2026-05-15 18:56:59 | |
| w*n*i*-*a*i*o.com (WP 6.9.4) | F | 2026-05-15 18:18:26 | |
| c*y*t*c*r*e*c*p*d*s*r*b*t*o*.com | F | 2026-05-15 16:49:59 | |
| s*r*l*k*s*n*t.com | F | 2026-05-15 16:04:00 | |
| r*n*s*o*d*n.com | A | 2026-05-15 15:56:24 | |
| a*t*r*a*i*e*i*r*e*.com (WP 6.9.4) | F | 2026-05-15 15:01:11 | |
| e*a*e*o*r*o*v*c*i*n.com | F | 2026-05-15 13:47:32 | |
| t*r*w*i*e*e*a*.com | F | 2026-05-15 13:18:51 | |
| n*p*a*e*i*e*n*w*e*e.com | F | 2026-05-15 12:23:41 | |
| s*i*c*r*s*a*y.com | D | 2026-05-15 10:57:44 | |
| r*n*a*k*r.com (WP 6.9.4) | F | 2026-05-15 10:39:51 | |
| t*p*v*y*e*.com (WP 6.9.4) | F | 2026-05-15 08:54:45 | |
| n*n*a*s*o*-*i*e*.com | D | 2026-05-15 07:05:50 | |
| m*n*h*a*t*.c*m.au (WP 6.9.4) | F | 2026-05-15 05:39:00 | |
| n*m*d*e*l*i*f*.com (WP 6.9.4) | F | 2026-05-15 02:09:47 | |
| l*n*-*s*a*d*n*w*.com (WP 6.9.4) | F | 2026-05-15 01:27:29 | |
| h*p*y*o*r*t*m*s.com (WP 6.9.4) | F | 2026-05-15 01:22:16 | |
| c*i*i*s*c*e*y.org (WP 6.9.4) | F | 2026-05-15 00:26:12 | |
| l*n*h*r*e*l*g.com (WP 6.9.4) | F | 2026-05-15 00:19:37 | |
| l*k*n*v*.cz (WP 6.9.1) | F | 2026-05-14 23:27:09 | |
| e*c*7*.com (WP 6.9.4) | F | 2026-05-14 23:09:29 | |
| y*n*-*a*c*a.com (WP 6.9.4) | F | 2026-05-14 22:35:41 | |
| t*l*v*g*c*s*n*.com (WP 6.9.4) | F | 2026-05-14 21:38:32 | |
| t*l*p*o*e*g*m*p*i.com (WP 6.9.4) | F | 2026-05-14 20:55:40 | |
| c*m*e*t*m*n*i*.com (WP 6.9.4) | F | 2026-05-14 20:41:19 | |
| a*p*r*g*.com (WP 6.9.4) | F | 2026-05-14 20:30:51 | |
| j*r*e*l*r*s*a*.com | F | 2026-05-14 19:01:38 | |
| c*y*t*b*e*k*r*.com | F | 2026-05-14 18:35:18 | |
| a*o*a*o*3*5.com | F | 2026-05-14 16:43:33 | |
| a*m*r*e*o*o*a*y*n.com (WP 6.9.4) | D | 2026-05-14 15:00:49 | |
| t*p*k*e*a*p.dk (WP 6.9.1) | F | 2026-05-14 13:42:04 | |
| s*s*o*n*m*r*a*.com (WP 6.9.4) | F | 2026-05-14 12:36:09 | |
| w*i*e*e*o*e*h*n*b*a*t*f*l.com | F | 2026-05-14 12:28:37 | |
| n*a*y*.com (WP 6.9.4) | F | 2026-05-14 11:37:26 | |
| j*m*u*i*1*1.com (WP 6.9.4) | F | 2026-05-14 10:20:13 | |
| s*i*f*r*.fr (WP 6.9.4) | F | 2026-05-14 10:11:03 | |
| g*r*i*a*s.de (WP 6.9.4) | F | 2026-05-14 09:38:19 | |
| j*l*i*e*m*n*.com (WP 6.9.4) | F | 2026-05-14 09:26:24 | |
| 3*8*1*9*d*.n*c*i.io (WP 6.9.4) | F | 2026-05-14 09:26:10 | |
| e*o*e*t*.pl (WP 6.9.4) | F | 2026-05-14 08:53:27 | |
| a*e*r*s*.com | F | 2026-05-14 08:03:12 | |
| w*-*o*a.com (WP 6.8.5) | F | 2026-05-14 05:22:01 | |
| m*r*e*a*o*a*o*.com | F | 2026-05-14 03:48:39 | |
| w*b*o*o*.eu (WP 6.9.4) | F | 2026-05-14 03:24:13 | |
| e*e*y*a*f*e*d.com (WP 6.9) | F | 2026-05-14 03:13:48 | |
| s*o*t*r*.agency | A | 2026-05-14 00:21:22 | |
| l*c*l*o*k*a*.com (WP 6.9.4) | F | 2026-05-14 00:11:40 | |
| s*a*t*g*.pl | F | 2026-05-13 22:59:18 | |
| g*o*h*a*t*a*l.com (WP 6.9.4) | F | 2026-05-13 22:26:04 | |
| b*o*.i*a*a.fr (WP 6.9.4) | D | 2026-05-13 16:40:14 | |
| a*i*t*r*e*.mw | F | 2026-05-13 16:12:28 | |
| a*i*t*r*l*g*n.c*.ke | F | 2026-05-13 16:12:28 | |
| b*t*i*g*n*g*r*a.ng | F | 2026-05-13 16:12:28 | |
| b*t*i*g*s*t*s.c*.za (WP 6.9.4) | F | 2026-05-13 16:12:28 | |
| b*t*i*g*e*y*.c*.ke | F | 2026-05-13 16:12:28 | |
| s*m*l*l*l*.com | B | 2026-05-13 15:53:57 | |
| u*s*r*u*n*c*e.de (WP 6.9.4) | F | 2026-05-13 14:19:03 | |
| n*o*e*p*r*.com | F | 2026-05-13 13:25:16 | |
| d*s*a*c*.a*m*s*i*n*i*.com (WP 6.9.4) | F | 2026-05-13 08:13:20 | |
| o*l*n*.a*m*s*i*n*i*.com (WP 6.9.4) | F | 2026-05-13 08:13:20 | |
| q*i*y.com (WP 6.9.4) | F | 2026-05-13 05:14:09 | |
| d*t*n*r*y.fr | A | 2026-05-13 04:25:53 | |
| n*m*d*w*n*.com | F | 2026-05-13 04:20:35 | |
| a*s*l*r.com | F | 2026-05-13 03:23:52 | |
| b*d*e*-*e*1.b*r*i*g*o*e*e*t*i*.com | F | 2026-05-13 01:41:03 | |
| a*d*x.com (WP 6.9.4) | F | 2026-05-12 23:23:26 | |
| b*r*f*u*f*e*i*k*i*s*e*s*c*e*u*g*n*4.de (WP 6.5.8) | D | 2026-05-12 19:40:15 | |
| t*u*t*y*c*s*n*.fi | F | 2026-05-12 19:11:56 | |
| s*o*o*h*a*v*z.com (WP 6.8.5) | F | 2026-05-12 18:57:10 | |
| a*i*a*e*d*v*c*s.com (WP 6.9.4) | F | 2026-05-12 17:55:26 | |
| b*a*k*a*k*w*n*e*.net (WP 6.9.4) | F | 2026-05-12 17:44:28 | |
| a*t*m*t*n*p*r*n*r.de (WP 6.9.4) | F | 2026-05-12 17:44:28 | |
| x*e*.tips (WP 6.9.4) | F | 2026-05-12 17:44:28 | |
| y*g*l*b*n*w*g.de (WP 6.9.4) | F | 2026-05-12 17:44:28 | |
| b*t*a*z*.com (WP 6.9.4) | F | 2026-05-12 16:34:41 | |
| b*t*a*m*.com | F | 2026-05-12 16:34:41 | |
| m*d*w*t*u*i*y.jp | D | 2026-05-12 15:18:14 | |
| a*i*n*d*o*e*t*m.com | F | 2026-05-12 14:23:22 | |
| w*s*c*f*e*r*v*e*.com (WP 6.9.4) | D | 2026-05-12 12:36:58 | |
| s*i*p*r*.com | F | 2026-05-12 11:36:11 | |
| g*d*o*o*o*o*u*u.com | F | 2026-05-12 11:12:54 | |
| b*t*z*.com (WP 6.8.5) | F | 2026-05-12 10:57:17 | |
| b*t*z*.com (WP 6.9.4) | F | 2026-05-12 10:57:17 | |
| l*s*i*s*n*t*r*e*b*a*t*.ch (WP 6.9.4) | D | 2026-05-12 10:53:45 | |
| c*a*t*i*s*g*t*.com | C | 2026-05-12 10:52:58 | |
| b*t*y*h*l*i*s*e*l*o*.com (WP 6.9.4) | F | 2026-05-12 10:51:58 | |
| b*t*m*.com (WP 6.8.5) | F | 2026-05-12 10:34:51 | |
| b*t*g*.com | F | 2026-05-12 10:27:40 | |
| d*m*a*d*e*k.fr (WP 6.9.4) | F | 2026-05-12 10:23:16 | |
| b*t*a*g*l*.com | F | 2026-05-12 10:20:44 | |
| b*t*-*z.com | F | 2026-05-12 10:08:05 | |
| 8*8*e*s*z.com | F | 2026-05-12 09:52:55 | |
| m*l*a*e*i*.com | B | 2026-05-12 09:43:18 | |
| c*p*a*n*c*o*s*a*i*o.net | F | 2026-05-12 07:35:37 |