---
title: "PageKit"
description: "Learn how to use the PageKit extension to quickly add Pages and Table support to your editor."
canonical_url: "https://tiptap.dev/docs/pages/guides/pagekit-usage"
---

# PageKit

Learn how to use the PageKit extension to quickly add Pages and Table support to your editor.

PageKit is a convenience extension that wraps `Pages`, the pagination-safe `TableKit`, and `PageBreak` in a single registration so you can configure them under one roof. By default, **only Pages and PageBreak are registered** — `TableKit` is opt-in: pass any options object (e.g. `table: {}`) to enable it. PageKit does **not** include `ConvertKit` — ConvertKit is a separate package install that you pair with PageKit.

> **Interactive demo:** [PagesPageKit](https://embed-pro.tiptap.dev/preview/Extensions/PagesPageKit)

---

## 1. Install ConvertKit and PageKit

PageKit bundles three Pages-related extensions, but you still need `ConvertKit` separately for the editor's node and mark schema.

```bash
npm install @tiptap-pro/extension-convert-kit \
            @tiptap-pro/extension-pages-pagekit
```

## 2. Add ConvertKit and PageKit to your editor

```ts
import { Editor } from '@tiptap/core'
import { ConvertKit } from '@tiptap-pro/extension-convert-kit'
import { PageKit } from '@tiptap-pro/extension-pages-pagekit'

const editor = new Editor({
  extensions: [
    ConvertKit.configure({ table: false }),
    PageKit.configure({
      pages: {
        pageFormat: 'A4',
        header: 'My Project',
        footer: 'Page {page} of {total}',
      },
      table: {
        // Enables PageKit's bundled TableKit. Pass `{}` for defaults, or forward
        // TableKitOptions here. Without this key (or `false`), tables are not registered.
        table: { resizable: true }, // forwarded to the underlying Table extension
      },
      pagebreak: {
        // Forwarded to PageBreak (optional)
        label: 'Page break',
      },
    }),
  ],
})
```

> **Why ConvertKit's tables are disabled:**
>
> When PageKit's `table` slot is enabled, it registers the pagination-safe `TableKit` from
> @tiptap-pro/extension-pages-tablekit. ConvertKit ships its own table stack
> (DOCX-aware, but not pagination-safe), so we disable it here and let PageKit's tables take over.
> ConvertKit's tables and PageKit's tables accept the same DOCX cell attributes, so imported content
> renders correctly either way.

> **How it works:**
>
> PageKit configures the Pages, TableKit, and PageBreak extensions for you. Pass your Pages options
> under pages, your Table options under table, and your PageBreak options
> under pagebreak.

## Disabling PageBreak

If you don't need explicit page breaks, you can disable the PageBreak extension:

```ts
PageKit.configure({
  pages: { pageFormat: 'A4' },
  pagebreak: false, // Disable PageBreak
})
```

## 3. When to use PageKit?

- Use PageKit for the fastest setup if you want both pagination and tables.
- If you need to deeply customize TableKit or Pages, import and configure them individually instead. See the [PagesTableKit guide](https://tiptap.dev/docs/pages/guides/pages-tablekit.md) for the unbundled setup.

## 4. Next steps

- Explore [Pages options](https://tiptap.dev/docs/pages/core-concepts/options.md) for more layout control.
- See the [Pages with tables guide](https://tiptap.dev/docs/pages/guides/table-with-pages.md) for the unbundled table setup.
