PageTOCA table of contents for any long page in Safari.

PageTOC reads a page’s own headings and builds an outline you can jump around in — on iPhone, iPad and Mac.

Coming to the App Store

Safari on iOS 17+, iPadOS 17+ and macOS 14+

What it looks like

Mac

A long article in Safari on Mac with the PageTOC panel open beside it, the current section highlighted
A draggable panel on Mac. ⌘⇧E shows and hides it.
The same panel in dark mode
Light and dark, matched to Safari.

iPad

A long article on iPad with the PageTOC panel docked in the right margin, the current section highlighted
On iPad the panel sits in the margin next to the article, and stays wherever you drag it.

iPhone

An article on iPhone with the PageTOC floating button resting against the right edge
On iPhone it is a floating button — drag it anywhere, it snaps to the edge.
The PageTOC sheet open over an article on iPhone, showing a nested outline with a progress bar
Tap it and the outline slides up, with the section you are reading highlighted.
The same sheet in dark mode
The same sheet in dark mode.

What it does

Built from the page itself

The outline comes from the page’s real heading tags. Nothing to configure, per site or otherwise.

Always shows where you are

The section you are reading stays highlighted as you scroll, with a bar for how far into the page you have got.

One tap to anywhere

Smooth scrolling to any heading — including headings inside a page’s own scrolling container.

A button you place yourself

Drag the floating button wherever it suits you. It snaps to the edge and stays there, remembered per site.

Follows Dark Mode

Light and dark, matched to Safari, on all three platforms.

Not on every site

Hide PageTOC on a site in one tap. The list of hidden sites lives in the app, and you can undo it there.

Three steps, once

  1. 1

    Install and open the app

    The app is small on purpose: an enable card, two settings, and the list of sites you have hidden it on.

  2. 2

    Turn PageTOC on in Safari

    Safari asks for permission per site the first time you use it there. Choosing “Always Allow” means it stops asking.

  3. 3

    Open any long page

    Tap the floating button on iPhone or iPad, or press ⌘⇧E on Mac.

It collects nothing

No account, no analytics, no crash reporting, no server. The extension contains no networking code at all — no fetch, no XMLHttpRequest, no WebSocket, no sendBeacon — so there is nothing to opt out of.

Stored on your device

Your two settings; the sites you chose to hide it on; where you dragged the panel or the button, per site.

Never stored

The addresses of pages you visit; how far you have read; any content from the pages; any identifier for you or your device.

You do not have to take our word for it: run PageTOC behind an HTTP proxy and watch it produce no traffic at all.

Read the full privacy policy →

What it cannot do