On-page SEO · Jump Links & Sitelink Navigation
SEO Table of Contents & Jump-Link Generator
Turn HTML or Markdown headings into a clean, accessible <nav> Table of Contents, automatically inject collision-free id attributes into your headings, and export Jump-Link JSON-LD schema.
4 Outputs Generated Instantly
- 1. Semantic
<nav aria-label="Table of contents"> - 2. Full Article HTML with
id="..."injected - 3. GitHub / Docs Markdown TOC
- 4.
ItemListJump-Link JSON-LD Schema
Ready to Generate Your SEO Table of Contents
Paste your article HTML or Markdown above, enter a live article URL, or click Load Sample Article to inspect crawlable <nav> jump links and JSON-LD schema.
Earn SERP “Jump to” links and improve long-form scannability
Long-form guides without anchor navigation force mobile readers to scroll endlessly and prevent search engines from linking directly to deep sub-sections in search results.
Automatic ID Injection
Generates both the navigation block and the updated article body with matching id attributes on every H2–H4 tag.
Editable Slugs & Exclusions
Shorten long heading slugs or uncheck specific headings with live preview updates.
Structured ItemList Schema
Includes ready-to-paste JSON-LD ItemList markup mapping each section URL fragment.
Related Heading & Structure Tools
Audit your heading hierarchy first in the Heading Structure Analyzer, optimize your H2 answer passages in the Featured Snippet & AI Overview Optimizer, or convert full webpages to clean Markdown in Article to Markdown.
Questions and answers
SEO Table of Contents & jump-link questions
How does a Table of Contents help On-Page SEO and AI Search?
A semantic HTML <nav> Table of Contents paired with matching id='...' attributes on your H2 and H3 headings allows Google to display clickable 'Jump to' sitelinks directly in SERP snippets and gives AI answer engines a clear structural map of your article.
Why is it important to inject id attributes into the headings too?
An anchor link like <a href='#step-1'> only scrolls to the section if the corresponding heading actually carries id='step-1'. Our tab #2 ('Full HTML + Injected IDs') automatically writes the matching id attributes into every H2–H4 tag.
How are duplicate heading names handled?
If two subheadings share the exact same text (such as 'Examples'), the generator automatically appends a unique suffix (#examples and #examples-2) so your HTML stays valid.
Does the generated HTML Table of Contents require JavaScript?
No. It uses pure semantic HTML (<nav>, <ol>/<ul>, <li>, and <a href='#slug'>) so it works with zero client-side JavaScript and zero Cumulative Layout Shift (CLS).
