# Page modes

Every page can set a frontmatter `mode`, controlling how much of the site's own chrome (topbar, sidebar, table of contents) wraps it. Useful for pages that aren't ordinary prose - a wide reference table, a standalone policy page, a hand-built homepage, an auth screen.

```mdx
---
title: My Page
mode: wide
---
```

| Mode | Topbar | Sidebar | Table of contents | Article width |
|---|---|---|---|---|
| `default` (or omitted) | yes | yes | yes | normal (~760px) |
| `wide` | yes | yes | no | wider (~1040px) |
| `frame` | yes | no | no | normal (~760px) |
| `custom` | yes | no | no | full width, no auto title, no prev/next |
| `blank` | no | no | no | full width, no auto title, no prev/next |

## `wide`

Drops the table of contents and widens the article column - useful for a page with a wide table, side-by-side images, or anything that feels cramped at the normal reading width. The sidebar and topbar are unchanged.

## `frame`

Mintlify's `mode: center` is accepted as another name for this mode. Mintlify's own `frame` mode is different — see [Migrating from Mintlify](/docs/migrating-from-mintlify/).

Drops the sidebar and table of contents, but keeps the topbar and the article's own normal width/centering - "frame" as in the page still sits inside the site's outer frame, just without the reading-navigation chrome on either side. Good for a standalone page that doesn't belong in the sidebar's hierarchy (a terms-of-service page, a single long guide linked from elsewhere) and doesn't need its own table of contents.

## `custom`

Drops the sidebar, table of contents, the automatically-rendered `<h1>` (built from frontmatter `title`), and the prev/next navigation at the bottom of the article. The article's own prose width/padding is skipped too - full width, blank canvas below the topbar. The topbar itself stays, so branding, search, and the theme toggle are still available. Meant for a page built entirely out of components (`Card`, `CardGroup`, hand-written HTML/CSS) rather than read top-to-bottom like a document - a homepage or marketing landing page that's still recognizably part of the site.

`title` is still used in `custom` mode - for the `<title>` tag, navigation labels, and meta tags - it's just never auto-rendered as a heading on the page itself.

```mdx
---
title: Welcome
mode: custom
---

<div style="max-width: 900px; margin: 0 auto; padding: 5rem 1.5rem; text-align: center;">
  <h1>Your product name</h1>
  <p>A one-line pitch.</p>
  <CardGroup cols={3}>
    <Card title="Get started" href="/docs/quickstart/" />
    <Card title="API reference" href="/api/" />
    <Card title="Guides" href="/guides/" />
  </CardGroup>
</div>
```

## `blank`

Everything `custom` drops, plus the topbar itself - no site chrome at all, just this page's own content. For something that should look nothing like the rest of the site: a login/auth screen, a print-friendly page, a standalone embed.

```mdx
---
title: Sign in
mode: blank
---

<div style="max-width: 400px; margin: 10vh auto;">
  <!-- a completely custom sign-in form, no site branding at all -->
</div>
```

<Callout type="tip">
  See `docs.json-examples/00-kitchen-sink/` in the Writedocs repo for a complete, buildable example of all four non-default modes: `wide` (`docs/core/2026-01/guides/rate-limits.mdx`), `frame` (`legal/terms.mdx`), `custom` (`about.mdx`), and `blank` (`signin.mdx`).
</Callout>