---
title: "Document import and export"
description: "Import DOCX and Markdown into your Tiptap editor, export to DOCX, PDF, ODT, EPUB, and more. Learn how the conversion pipeline works and what extensions you need."
canonical_url: "https://tiptap.dev/docs/conversion/getting-started/overview"
---

# Document import and export

Import DOCX and Markdown into your Tiptap editor, export to DOCX, PDF, ODT, EPUB, and more. Learn how the conversion pipeline works and what extensions you need.

> **Pro package:**
>
> Conversion is a Pro package included with all [Tiptap subscriptions](https://tiptap.dev/pricing).
> Before installation, you'll need to set up [access to Tiptap's private NPM
> registry](https://tiptap.dev/docs/guides/pro-extensions.md).

Tiptap Conversion translates between document formats and your editor's document model. It supports importing DOCX and Markdown, and exporting to DOCX, PDF, ODT, EPUB, and Markdown. It is **not** a document renderer, **not** a real-time collaborative editor (that's a separate Tiptap product), **not** an OCR or scanned-PDF processor, and **not** an asynchronous job queue — every endpoint is processed synchronously and returns the result in the response. It is a bridge. What renders in your editor depends on which extensions you have installed.

## The conversion pipeline

Conversion is a multi-step pipeline, not a single operation. The conversion service handles the translation between file formats and Tiptap's JSON document model. Your editor handles the rendering.

1. **Import:** The conversion service parses your source document and produces Tiptap JSON, a structured representation of the document's content, formatting, and layout.
2. **Editor rendering:** Your Tiptap editor receives the JSON. For each node type in the JSON (heading, table, image, etc.), the editor needs a matching extension installed to render it. Content without a matching extension needs to be managed. See the [invalid schema guide](https://tiptap.dev/docs/guides/invalid-schema.md) for strategies.
3. **Export:** The export extension converts your editor's content back into a document format. It exports what the editor currently contains, not what the original source document had.

See the [Supported features](https://tiptap.dev/docs/conversion/getting-started/feature-support-matrix.md) page for a full breakdown of what works at each stage, or explore the [Content types](https://tiptap.dev/docs/conversion/content-types/text-and-formatting/paragraphs.md) pages for detailed per-feature documentation.

Try it yourself in the [live demo](https://tiptap.dev/docs/conversion/getting-started/demo.md).

## What you need to render converted content

How much of the document experience you recreate in the editor depends on what you are building.

### ConvertKit

For any Conversion workflow, register the [ConvertKit](https://tiptap.dev/docs/conversion/import/docx/convertkit.md) extension from `@tiptap-pro/extension-convert-kit`. ConvertKit is the canonical editor kit for Conversion: it bundles a DOCX-aware schema (paragraphs, headings, lists, images, marks) and the formatting attributes the conversion service produces. Use it instead of `StarterKit` — even if you don't import DOCX today, ConvertKit gets you ready for the moment you do.

This is enough if you are building a **content editor** or **CMS** that accepts document uploads. The text content renders correctly in a continuous-scroll editor. For Markdown imports, ConvertKit is also the right choice — it covers the same set of features.

The [Supported features](https://tiptap.dev/docs/conversion/getting-started/feature-support-matrix.md) page shows what ConvertKit handles per feature and where you may need additional extensions.

### Pages extension for document layout

For page-aware documents with headers, footers, page breaks, page numbering, page size and margins, you also need the [Pages extension](https://tiptap.dev/docs/pages/getting-started/overview.md) and [PagesTableKit](https://tiptap.dev/docs/pages/guides/pages-tablekit.md). Pages provides a paginated editing experience where content flows across visual pages and headers and footers have dedicated editing areas; PagesTableKit provides pagination-safe tables (ConvertKit's built-in tables don't paginate).

Page-aware imports — headers, footers, page breaks — only render in the editor when Pages is installed. Without Pages, imported headers and footers have nowhere to render, page breaks are ignored, and there is no concept of page boundaries.

| What you are building                      | What you need                                                                                                                |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| Content editor or CMS with document upload | `ConvertKit`                                                                                                                 |
| Document editor with page layout           | `ConvertKit` + `TableKit` (`@tiptap-pro/extension-pages-tablekit`) + `Pages` (with `ConvertKit.configure({ table: false })`) |
| Headless pipeline (no editor)              | REST API only, no extensions needed                                                                                          |

## Supported formats

You can integrate conversion using editor extensions (commands within your Tiptap editor) or the REST API (HTTP endpoints for server-side or non-editor use).

| Format           | Import                                                                                                                                                  | Export                                                                                                                                                          | Notes |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **DOCX** (Word)  | [Extension](https://tiptap.dev/docs/conversion/import/docx/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/import/docx/rest-api.md) | [Extension](https://tiptap.dev/docs/conversion/export/docx/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/export/docx/rest-api.md)         |       |
| **Markdown**     | [REST API](https://tiptap.dev/docs/conversion/import/markdown/rest-api.md)                                                                              | [Extension](https://tiptap.dev/docs/conversion/export/markdown/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/export/markdown/rest-api.md) |       |
| **PDF**          |                                                                                                                                                         | [Extension](https://tiptap.dev/docs/conversion/export/pdf/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/export/pdf/rest-api.md)           |       |
| **ODT**          |                                                                                                                                                         | [Extension](https://tiptap.dev/docs/conversion/export/odt/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/export/odt/rest-api.md)           |       |
| **EPUB**         |                                                                                                                                                         | [Extension](https://tiptap.dev/docs/conversion/export/epub/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/export/epub/rest-api.md)         |       |
| **DOC** (legacy) |                                                                                                                                                         | [Extension](https://tiptap.dev/docs/conversion/export/doc/editor-extension.md), [REST API](https://tiptap.dev/docs/conversion/export/doc/rest-api.md)           |       |

Markdown is also available as a [core editor feature](https://tiptap.dev/docs/editor/markdown.md) with built-in parsing and serialization, independent of the conversion service.

## Next steps

- [Supported features](https://tiptap.dev/docs/conversion/getting-started/feature-support-matrix.md) to see what works across import, editor, and export
- [Install](https://tiptap.dev/docs/conversion/getting-started/install.md) to set up credentials and install extensions
- [Live demo](https://tiptap.dev/docs/conversion/getting-started/demo.md) to try DOCX import and export in the browser

## Legacy Import/Export extensions

The legacy `@tiptap-pro/extension-import` and `@tiptap-pro/extension-export` packages are being deprecated and will be sunset in 2026. These extensions receive no new features and are maintained for existing users only.

- [Legacy DOCX Import/Export](https://tiptap.dev/docs/conversion/legacy/overview.md)
- [Legacy ODT Import/Export](https://tiptap.dev/docs/conversion/legacy/odt/editor-extensions.md)
- [Legacy Markdown Import/Export](https://tiptap.dev/docs/conversion/legacy/markdown/editor-extensions.md)

**Migrating to the new extensions:** The current [Import DOCX](https://tiptap.dev/docs/conversion/import/docx/editor-extension.md) and [Export DOCX](https://tiptap.dev/docs/conversion/export/docx/editor-extension.md) extensions provide improved conversion quality, more format options, and active development. We recommend migrating as soon as possible.
