---
title: "How to Add a Table of Contents in WordPress (Block-Native)"
url: https://nexterwp.com/blog/how-to-add-table-of-contents-in-wordpress/
date: 2026-07-06
modified: 2026-07-06
author: "Aditya Sharma"
description: "Add a table of contents in WordPress without plugin bloat. Compare three block-native methods: manual core Heading anchors, the experimental Gutenberg block, and the free Nexter Blocks Table of Content block."
image: https://nexterwp.com/wp-content/uploads/2026/07/how-to-add-table-of-contents-in-wordpress-featured-1024x538.jpg
word_count: 1689
---

# How to Add a Table of Contents in WordPress (Block-Native)

#### Key Takeaways
- WordPress core does not include a Table of Contents block. The official block list has no such block, and the one you may have seen is an experimental block that ships only with the Gutenberg plugin.- You have three block-native routes: build one by hand with Heading anchors and a List block, enable the experimental Gutenberg block, or add a dedicated block from a free toolkit like Nexter Blocks.- The no-plugin manual method works everywhere but does not update itself. A block library auto-generates the list from your headings and adds sticky and styling options.- Clear H2 and H3 headings with readable anchors help both readers and AI answer engines jump to the right section of your post.

 

Say you are writing a long WordPress post, you open the block inserter, and you type "table of contents." Nothing shows up. That surprises a lot of people, because almost every serious blog has a tidy jump-link list near the top. Here is the short version: WordPress core does not ship a Table of Contents block, so "block-native" really means picking one of a few real routes instead of clicking a single button.

This guide walks through every block-native option, from a zero-plugin build using only core blocks to a proper auto-updating block, so you can add a table of contents that actually fits your site.

Table of Contents

## Does WordPress Have a Native Table of Contents Block?

Short answer: no, not in core. If you scan the official WordPress block list, you will find Heading, List, Table, Columns, and dozens of others, but there is no Table of Contents block in the Text, Design, Widgets, or Theme groups.

There *is* a Table of Contents block, but it lives in the Gutenberg plugin as an experimental block. It was first released in Gutenberg 13.3 back in 2022, and the request to stabilize it and move it into core is still open. Because it is experimental, it only appears when the Gutenberg plugin is active. As WordPress.com's own documentation puts it, "If you're missing the Table of Contents block, ensure the Gutenberg plugin is active on your site."

So when people search for the "WordPress table of contents block missing," this is why. You are not doing anything wrong. The block simply is not part of a standard WordPress install yet. A native version is loosely penciled in on the 2026 roadmap, but there is no shipped, guaranteed date. Until then, here are the three block-native ways to add one today.

![How to add a table of contents in WordPress overview](https://nexterwp.com/wp-content/uploads/2024/12/How-to-Add-a-Table-Of-Contents-in-WordPress_.jpg)There is no single Table of Contents button in WordPress core, so you choose from a few block-native methods.

## Method 1: Build a Table of Contents With Core Blocks (No Plugin)

This is the true no-plugin route, and it uses only blocks that ship with WordPress.

Every Heading block can carry an HTML anchor. Select a heading, open the block settings, go to the Advanced panel, and set an "HTML anchor" (for example, `method-one`). That turns the heading into a linkable spot on the page.

Then add a List block near the top of your post. For each list item, add a link that points to `#your-anchor`. When a reader clicks it, the page jumps straight to that section. If you want the full walkthrough of the anchor part, we cover it step by step in our guide on [how to add anchor links in WordPress](https://nexterwp.com/blog/add-anchor-links-in-wordpress/).

The upside: it works on any theme, needs no plugin, and adds zero extra scripts. The trade-off: it is fully manual. If you add, rename, or reorder headings later, you have to update the list and the anchors yourself. For a cornerstone page you rarely touch, that is fine. For a busy blog, it gets tedious fast, which is where the next two methods come in.

![WordPress table of contents built from heading tags and anchor links](https://nexterwp.com/wp-content/uploads/2024/06/WordPress-Table-of-Contents-Based-on-Heading-Tags.png)A manual table of contents is just a List block of links pointing to the HTML anchors on your headings.

***Also Read:** [How to Add Anchor Links in WordPress](https://nexterwp.com/blog/add-anchor-links-in-wordpress/) for the exact steps behind the jump links this method relies on.*

## Method 2: The Experimental Gutenberg Table of Contents Block

If you want a block that builds the list for you and you are comfortable running beta software, you can use the experimental Table of Contents block.

To get it, install and activate the Gutenberg plugin from the WordPress plugin directory. Once it is active, search the inserter for "Table of Contents" and drop it in. The block "automatically creates links from all the Heading blocks on the page," and as WordPress.com explains, "as you add new headings, update existing ones, or reorder them, the Table of Contents block automatically updates." It also generates an HTML anchor for each heading automatically, so you do not manage anchors by hand.

The honest caveat: this is the Gutenberg plugin, which is the feature-testing version of the block editor. It updates every two weeks and can introduce changes ahead of core. Many site owners do not want that on a production site. There is also a real catch if you ever deactivate Gutenberg, because existing Table of Contents blocks fall back to a plain list and show warnings in the editor. For a test site or a developer who tracks Gutenberg closely, it is a useful preview. For most production blogs, a stable block library is the safer choice, which brings us to Method 3.

## Method 3: Use a Block Library Like Nexter Blocks (Recommended)

For most people, the cleanest block-native route is a dedicated Table of Content block from a maintained block library. [Nexter Blocks](https://nexterwp.com/nexter-blocks/) is a free toolkit on WordPress.org with 90+ Gutenberg blocks, and it includes a Table of Content block.

After installing Nexter Blocks, search the inserter for "Table of Content" and add it where you want the list to appear, usually right after your intro. It reads the Heading blocks in your post and builds the list automatically, so it stays in sync as you edit. Because it is a stable plugin rather than a beta channel, you are not tying your layout to experimental code.

You also get the options readers actually expect from a modern table of contents: choose which heading levels to include, make it sticky so it follows the reader down the page, collapse it on mobile, and style it to match your brand. If you build with the block editor a lot, it is worth browsing the wider set of [Gutenberg plugins](https://nexterwp.com/blog/best-gutenberg-plugins/) to see how much a good block library adds beyond a single feature.

![Nexter Blocks toolkit for the WordPress block editor with a Table of Content block](https://nexterwp.com/wp-content/uploads/2026/06/vHQhJLNSoI8fNDxc2EaT4J4MGH5tIDD7RcrkJ5_3YwnieObkTUH6eg4uo03-fqoVBluG_isy24eP65uNcnN2hg-scaled.png)Nexter Blocks adds a stable, auto-updating Table of Content block to the WordPress block editor.

## Which Method Should You Choose?

Here is a quick, honest comparison of the three block-native routes.

| Method | Auto-updates | Sticky and styling | Plugin needed | Best for |
| ------ | ------------ | ------------------ | ------------- | -------- |
| Core blocks (manual) | No | No (custom CSS only) | None | One-off pages, minimalists |
| Gutenberg experimental block | Yes | Limited | Gutenberg plugin (beta) | Test sites, developers |
| Nexter Blocks Table of Content | Yes | Yes | Nexter Blocks (free, stable) | Most blogs and business sites |

If you maintain one or two static pages, Method 1 is enough. If you run a real blog and want a table of contents that maintains itself and looks polished, a stable block library like Nexter Blocks is the route most people should take. If you specifically want to preview where core is heading, Method 2 shows you the future block today. Prefer a plug-and-play plugin instead of a full block toolkit? Compare the dedicated options in our roundup of the [best table of contents plugins for WordPress](https://nexterwp.com/blog/best-table-of-content-plugins-for-wordpress/).

***Also Read:** [Best Table of Contents Plugins for WordPress](https://nexterwp.com/blog/best-table-of-content-plugins-for-wordpress/) if you would rather use a single-purpose plugin than a block library.*

## Table of Contents Best Practices for SEO and AEO

A table of contents is not just navigation. It shapes how both readers and search engines read your page.

- **Structure with real headings.** Use one H1 (your title), then H2s for main sections and H3s for sub-points. Every method here builds the list from that structure, so clean headings mean a clean table of contents.- **Keep anchors readable.** Short, descriptive anchors (like `block-native-methods`) are easier to share and cite than random strings.- **Put it above the fold on long posts.** A jump-link list near the top tells readers, and answer engines, exactly what the page covers.- **Help AI answer engines.** Clear sections with anchors make it easier for AI Overviews and assistants to quote the exact part of your post that answers a question. If you are optimizing for that, our guide to [answer engine optimization](https://nexterwp.com/blog/answer-engine-optimization-wordpress/) goes deeper.

![Sticky table of contents in WordPress that follows the reader down the page](https://nexterwp.com/wp-content/uploads/2024/12/How-to-Make-a-Sticky-Table-of-Contents-in-WordPress_.jpg)A sticky table of contents keeps your section links visible as readers scroll, a common option in block libraries.

## Frequently Asked Questions

### Can I add a table of contents in WordPress without a plugin?

Yes. Give each Heading block an HTML anchor under the Advanced panel, then add a List block with links to those anchors. It is fully manual and does not update itself, but it needs no plugin and works on any theme.

### Why is the Table of Contents block missing in my editor?

Because it is not part of WordPress core. It is an experimental block that only appears when the Gutenberg plugin is active. A stable alternative is a dedicated Table of Content block from a library like Nexter Blocks.

### How do I make the table of contents sticky?

Core blocks do not offer a sticky option without custom CSS. A dedicated block, such as the Nexter Blocks Table of Content block, includes a sticky setting you can toggle on so the list follows the reader as they scroll.

## Wrapping Up

A table of contents is one of the fastest ways to make a long WordPress post easier to read and easier to cite. Core does not hand you a block for it yet, but you are not stuck. Build one by hand with Heading anchors, preview the experimental Gutenberg block, or add a stable, auto-updating one with a free toolkit. If you want the block that just works and stays in sync as you write, add the Table of Content block from Nexter Blocks and you are done in a couple of clicks.

## Suggested Reading

- [What Is Gutenberg? The WordPress Block Editor Explained](https://nexterwp.com/blog/what-is-gutenberg/)- [Best Gutenberg Plugins for WordPress](https://nexterwp.com/blog/best-gutenberg-plugins/)- [Gutenberg vs Elementor: An Honest Comparison](https://nexterwp.com/blog/gutenberg-vs-elementor/)- [Best WordPress Widget Plugins](https://nexterwp.com/blog/best-wordpress-widget-plugins/)- [Common WordPress Mistakes to Avoid](https://nexterwp.com/blog/common-wordpress-mistakes-to-avoid/)

#### Stay updated with Helpful WordPress Tips, Insider Insights, and Exclusive Updates – Subscribe now to keep up with Everything Happening on WordPress!

Subscribe