Scroll Progress and table of contents
A reading progress bar or ring with an auto-built table of contents.
On this page
This module shows how far a visitor has read and builds a table of contents from your headings.
Progress
- Progress style (bar or ring) and bar position.
- Progress based on: the whole page, the article or content area, or a custom CSS selector.
- Optional percentage inside the ring, and a click on the ring to go back to the top.
- Hide on short pages.
Table of contents
- TOC source: automatic from your headings (choose the heading levels) or a manual list.
- Collapsible sub-headings, smooth scroll, scroll offset in pixels and a search filter.
- Reading time, with optional per-section time badges. The default speed is 200 words per minute.
- A floating button on mobile and an option to sync the URL hash while scrolling (off by default).
Good to know
- On normal posts and pages the full outline is built on the server with plain anchor links, so it works without JavaScript and does not shift the layout.
- Headings in Bengali, Arabic and other non-Latin scripts get readable anchors.
- Clicking a link moves keyboard focus to the heading, and arrow keys move through visible links.
- Put only one progress bar on a page.