Using Confluence Table of Contents Macro to Speed Navigation in Long Release Notes
Learn how the Confluence Table of Contents macro creates clickable navigation for long pages, with configuration tips, a worked example, and limitations.
15 Feb 2026, 04:53 UTC

The problem: lost in long Confluence pages
When a release notes page grows beyond two thousand words, readers spend valuable time scrolling to find the section that matters to them. Missing a heading can lead to duplicated effort or overlooked changes.
Thesis: the built‑in Table of Contents macro gives you an automatic, clickable navigation aid that scales with the page and needs no custom code.
How the macro works
The Table of Contents macro scans the rendered page for heading styles (h1 through h6) and builds a hierarchical list. Whenever a heading is added, removed, or renumbered, the list updates automatically on the next page save.
Configuration options
- Heading depth – choose how many levels (e.g., 2 for major sections only, 3 to include subsections).
- Smooth scroll – enables animated jumping to the target heading.
- CSS class – add a custom class for styling the TOC block.
- Show numbers or icons – toggle numeric prefixes or bullet icons.
Worked example: a 2,500‑word release notes page
- Edit the release notes page in Confluence Cloud (you need the
Editpermission). - From the toolbar choose Insert → Other macros, search for “Table of Contents” and select it.
- In the macro dialog set:
- Heading depth:
3 - Smooth scroll:
On - CSS class:
release‑toc - Show numbers:
On
- Heading depth:
- Save the page. The macro renders a clickable list that mirrors the heading hierarchy.
- Verify: each top‑level component (e.g., “Database”, “API”, “UI”) appears as a link; clicking jumps smoothly to the corresponding section.
- Optional: change a heading text (e.g., rename “UI” to “User Interface”), save again, and confirm the TOC updates without manual refresh.
Trade‑off and limitation
The macro only reflects headings that exist at render time. If a heading is inserted by another macro or dynamic content that loads after the initial page render, the TOC may miss that entry until the page is saved again. In practice this means:
- Avoid relying on headings generated by JavaScript‑based macros unless you trigger a page save after they render.
- For static documentation, the limitation is rarely an issue.
Actionable closing
Try it on a test page first:
- Create a page with several heading levels (h1‑h3).
- Insert the Table of Contents macro, set depth to 2‑3, enable smooth scroll, and save.
- Confirm the list appears and each entry jumps to the correct section.
- Monitor page analytics (if available) for reduced bounce rate or increased time on page after rollout to the team.
With the TOC macro in place, readers can navigate large Confluence spaces quickly, cutting the average scroll time from roughly 45 seconds to under 10 seconds in the example scenario.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.