Gutenberg still has no native table of contents block, so anyone writing long-form WordPress content ends up choosing between four real plugin approaches: a zero-config minimalist block, a heavily customizable one with an onboarding wizard, a template-level option from an established vendor, or a brand-new sticky-scroll block from ConicPlex. The short version: SimpleTOC is the safest default for most sites, Joli Table Of Contents wins if you need to retrofit a TOC across hundreds of old posts at once, Heroic Table of Contents fits sites that want several ready-made visual styles, and PlexBlocks Table of Contents is worth a staging test if you specifically want a sticky, scroll-highlighting index.
This is a narrower question than “best table of contents plugin for WordPress.” Most of the big roundups you’ll find (WPBeginner’s included) are built around classic, shortcode-and-widget plugins like Table of Contents Plus, Easy Table of Contents, or the TOC feature bundled into an SEO suite like AIOSEO. Those work fine, but they were designed before Gutenberg existed and it shows: settings live on a separate admin screen, and inserting the TOC often still means dropping in a shortcode or relying on auto-insert logic you don’t control from the editor. A table of contents plugin for the WordPress block editor is a different category: it’s a block you drag in like any other, with its settings living in the same sidebar as everything else you’re already editing. It’s the same narrow-comparison approach we used for countdown timer plugins for a sale page and before/after image slider plugins: pick the block-editor-native tool for one specific job instead of a generic roundup.
Comparison Table
| Plugin | Best For | Active Installs | Rating |
|---|---|---|---|
| SimpleTOC | Zero-config, minimal HTML, accessibility-first sites | 10,000+ | 98% (77 ratings) |
| Joli Table Of Contents | Retrofitting a TOC across many existing posts at once | 7,000+ | 98% (43 ratings) |
| Heroic Table of Contents | Ready-made visual styles and template-level placement | 5,000+ | 94% (9 ratings) |
| PlexBlocks Table of Contents for Block Editor | Sticky, scroll-highlighting TOC (new plugin) | Under 100 (v1.0.0, just listed) | Not yet rated |
SimpleTOC
SimpleTOC does one thing and does it with almost nothing extra attached. It adds a single Gutenberg block that scans the headings in your post and builds a nested list of links to them, with a maximum-depth setting in the block sidebar and the option to hide the “Table of Contents” label and replace it with your own heading. According to its own plugin page, it’s built for WCAG 2.2 level AA conformance and has been tested with assistive technology, and the collapsible version of the TOC uses the browser’s native <details> and <summary> elements instead of custom JavaScript, which is part of why its output stays minimal. Reviewers on WordPress.org describe it as “lightweight, stable, and fully compatible with WordPress Full Site Editing” and note it “adds no bloat,” language that lines up with a 98% rating across 77 reviews, 73 of them five-star.
Setup is genuinely just: go to Plugins β Add New, search “SimpleTOC” or just “TOC,” install and activate, then in the block editor add a block and search “SimpleTOC” or “TOC.” One quirk worth knowing before you rely on it: the plugin’s own instructions say to save your content before you use the block, since the TOC parses headings that are already saved.
The honest limitation is that there’s no auto-insert option. Every post that needs a table of contents needs the block dropped in manually, and there isn’t a settings screen to bulk-apply it to a post type. For a handful of long guides, that’s a non-issue. If you’re trying to backfill a TOC across a large archive of older posts, it becomes real work.
Joli Table Of Contents
Joli Table Of Contents is built around the opposite tradeoff: more setup, more control. After activation it runs a step-by-step onboarding wizard so you get a working TOC without reading documentation first, and its Color Palette system lets you set a single accent color that propagates across the whole TOC’s styling automatically. Its heading detection is also more aggressive than a typical block-only plugin: it can pick up headings injected by third-party shortcodes or blocks that don’t show up directly in the post editor, with a setting to choose between a narrower “Content scope” (the default, which avoids picking up unwanted headings) or an “Extended scope” for edge cases.
Where it actually differs from SimpleTOC and Heroic Table of Contents is that it gives you three separate ways to place a TOC: auto-insert by post type (Settings β Auto-Insert, pick which post types get one automatically), the Gutenberg block with inline heading editing, or the classic [joli-toc] shortcode for anywhere else. That auto-insert option is the reason to reach for this one over a block-only plugin: if you’ve got 300 old blog posts that predate any TOC and don’t want to open each one, this is the plugin that solves that specific problem without custom code.
The plugin page also promotes a “Get PRO” upgrade alongside the free feature list, so some of what shows up in marketing copy (deeper customization options, certain advanced settings) may be gated behind the paid tier rather than included in the free version tested here. Check the settings screen after installing before assuming a specific feature is free.
Heroic Table of Contents
Heroic Table of Contents comes from HeroThemes, the company behind the KnowAll knowledge base theme and Heroic FAQs, and it’s built for sites that want a finished look without custom CSS. It ships four pre-made visual styles, lets you hide or relabel individual headings without touching the original content, choose exactly which headings appear in the list, and supports both bulleted, numbered, and plain-list formats. The feature that sets it apart from the other three here is Template Mode: instead of placing a block in every post individually, you can insert the TOC once into a template and have automatic, context-aware detection apply it across matching posts and pages.
Installation follows the standard pattern: Plugins β Add New, search “Heroic Table of Contents,” activate, then add the “Heroic Table of Contents” block from the block inserter. There’s no separate onboarding flow; the block itself is the setup.
Two things worth checking before committing to it on a production site. First, it requires WordPress 6.7 or newer, the newest minimum version of the four plugins compared here, which could rule it out on a slightly behind-schedule install. Second, despite HeroThemes’ own claim of over 26,000 customers across its products, this specific plugin has only 9 ratings on WordPress.org. That’s not a red flag by itself, but it’s thin enough that it’s worth reading through the support forum before rolling it out on a high-traffic site, rather than assuming scale at the company level carries over to review volume for this particular plugin.
PlexBlocks Table of Contents for Block Editor
PlexBlocks Table of Contents for Block Editor is ConicPlex’s own entry in this comparison, and it’s included here because its core feature genuinely isn’t covered by the other three: sticky mode. You can pin the table of contents to the screen with a custom offset as the reader scrolls, and it highlights the currently active section in real time as they move through the article. On mobile, the same block can collapse into a compact toggle instead of taking up screen space. Anchor handling is automatic too: it generates safe, unique anchor links for H2 through H4 headings without requiring you to manually set an HTML anchor ID on each one, and if you do set a custom anchor yourself in the editor, the block respects it instead of overwriting it.
Setup matches the same pattern as the others: Plugins β Add New, search “PlexBlocks β Table of Contents,” install and activate, then add the block from the Gutenberg inserter. Design settings (colors, spacing, borders, box shadow, and a choice of bulleted, numbered, or unstyled layout) live in the block’s sidebar, the same place you’d expect them if you’re used to any other native block.
The limitation here should be stated plainly rather than glossed over: this is a version 1.0.0 plugin with zero active installs and no reviews yet at the time of writing, because it was only just listed on WordPress.org. That’s not a reason to avoid it if the sticky-scroll feature is what you actually need and nothing else here offers it, but it does mean there’s no install base or review history to lean on yet. Test it on a staging site first, the same way you’d test any brand-new plugin before putting it on a production post that gets real traffic.
How to Pick
- If you want the lightest possible plugin with zero settings to configure and a strong accessibility track record: use SimpleTOC.
- If you need to add a table of contents to a large archive of already-published posts without editing each one by hand: use Joli Table Of Contents and its auto-insert setting.
- If you want several finished visual styles out of the box and prefer setting the TOC up once at the template level: use Heroic Table of Contents.
- If you specifically want a sticky, scroll-synced TOC that highlights the active section, and you’re comfortable testing a new plugin on staging first: try PlexBlocks Table of Contents for Block Editor.
- If your site is still built around a page builder or the classic editor rather than Gutenberg blocks, none of these four will help directly. Joli’s shortcode mode is the one exception among them, or look at a classic plugin like Easy Table of Contents instead.
None of this rules out building something custom if a client site needs TOC behavior that doesn’t match any of these four exactly, like a table of contents tied to custom post types with non-standard heading structures. That’s the kind of thing our Plugin Development team builds directly when an off-the-shelf option doesn’t fit, and it’s a common request on WordPress Development projects generally.
FAQ
Does WordPress have a built-in table of contents block?
No. As of WordPress 7.1, Gutenberg still doesn’t ship a native table of contents block. Some SEO plugins like AIOSEO include one as part of a larger feature set, but if you don’t already run one of those, you need a dedicated plugin like the ones compared here.
Will a table of contents plugin slow down my site?
The four compared here are all built specifically as lightweight blocks rather than heavier legacy plugins, and several (SimpleTOC in particular) explicitly market minimal HTML output as a feature. Any plugin adds some overhead, but a block-based TOC plugin is generally lighter than an older shortcode-based one that loads its own separate settings framework.
Do these plugins update automatically if I add a new heading later?
Yes, for all four. They scan headings dynamically from the post content, so adding, removing, or reordering headings updates the table of contents the next time the page renders (SimpleTOC’s readme specifically notes to save the post first so the parser sees the latest headings).
Can I use a table of contents plugin with Elementor or the classic editor instead of Gutenberg?
Not with a block-only plugin like SimpleTOC, Heroic Table of Contents, or PlexBlocks Table of Contents, since they only insert through the block inserter. Joli Table Of Contents is the exception among these four: its shortcode and auto-insert options work regardless of which editor or page builder you’re using.
Which of these is best for SEO?
All four output real, crawlable anchor links rather than JavaScript-only navigation, which is what actually matters for SEO here, not the plugin’s marketing claims. A table of contents helps more with dwell time and can earn jump-to-section sitelinks in Google results; it isn’t a direct ranking factor on its own with any of these plugins.




