---
title: "Migrating from Notion: pages and databases — Kition"
description: "Notion exports Markdown; Kition catches it — databases become tables, pages become `.md`."
canonical: "https://kition.ai/docs/articles/migrate-from-notion"
---

> Canonical HTML: [https://kition.ai/docs/articles/migrate-from-notion](https://kition.ai/docs/articles/migrate-from-notion)

[Docs home](https://kition.ai/docs)

-   Get started
    
    -   [What is Kition](https://kition.ai/docs/what-is-kition)
    -   [Install Kition](https://kition.ai/docs/install-kition)
    -   [Create your first vault](https://kition.ai/docs/create-first-vault)
    -   [UI tour](https://kition.ai/docs/ui-tour)
    -   [Configure an AI provider](https://kition.ai/docs/configure-provider)
    -   [Securing your API key](https://kition.ai/docs/secure-api-key)
    -   [Backup and sync](https://kition.ai/docs/backup-and-sync)
-   Scenarios
    
    -   [Real-world scenarios](https://kition.ai/docs/scenarios)
    -   [Generate campaign assets in batches](https://kition.ai/docs/scenarios/campaign-assets)
    -   [Turn receipt images into searchable records](https://kition.ai/docs/scenarios/receipt-ocr)
    -   [Expand one product brief into a complete asset pipeline](https://kition.ai/docs/scenarios/product-asset-pipeline)
-   Document editor
    
    -   [Markdown basics](https://kition.ai/docs/editor/markdown-basics)
    -   [Wikilinks and backlinks](https://kition.ai/docs/editor/wikilinks-basics)
    -   [Callout syntax](https://kition.ai/docs/editor/callouts-syntax)
    -   [Command palette](https://kition.ai/docs/editor/command-palette)
    -   [Document templates](https://kition.ai/docs/editor/doc-templates)
    -   [Embedding a table in a doc](https://kition.ai/docs/editor/embed-table-in-doc)
    -   [Math and Mermaid diagrams](https://kition.ai/docs/editor/math-and-diagrams)
    -   [Exporting to PDF / DOCX](https://kition.ai/docs/editor/export-pdf-docx)
-   Data tables
    
    -   [Create a table](https://kition.ai/docs/tables/create-a-table)
    -   [Field types overview](https://kition.ai/docs/tables/field-types)
    -   [Creating and switching views](https://kition.ai/docs/tables/create-view)
    -   [Filter, sort, group](https://kition.ai/docs/tables/filter-sort-group)
    -   [Setting up an AI field](https://kition.ai/docs/tables/ai-field-setup)
    -   [Importing from CSV](https://kition.ai/docs/tables/csv-import)
    -   [Export tables as CSV / JSON](https://kition.ai/docs/tables/csv-export)
    -   [Linking docs and tables](https://kition.ai/docs/tables/link-doc-and-table)
-   AI agent
    
    -   [Agent chat basics](https://kition.ai/docs/agent/agent-basics)
    -   [Agent tool calls](https://kition.ai/docs/agent/agent-tool-calls)
    -   [Plan mode](https://kition.ai/docs/agent/plan-mode)
    -   [Hooks intro](https://kition.ai/docs/agent/hooks-intro)
    -   [MCP server setup](https://kition.ai/docs/agent/mcp-setup)
    -   [Subagent collaboration](https://kition.ai/docs/agent/subagents)
    -   [Agent long-term memory](https://kition.ai/docs/agent/agent-memory)
    -   [Browser tool](https://kition.ai/docs/agent/browser-tool)
    -   [Controlling agent cost](https://kition.ai/docs/agent/agent-cost-control)
    -   [Agent permission model](https://kition.ai/docs/agent/agent-permissions)
-   Providers
    
    -   [Set up OpenAI](https://kition.ai/docs/providers/openai-setup)
    -   [Set up Anthropic](https://kition.ai/docs/providers/anthropic-setup)
    -   [Custom OpenAI-compatible provider](https://kition.ai/docs/providers/custom-provider-setup)
    -   [Set up China-hosted models](https://kition.ai/docs/providers/china-models-setup)
    -   [Switch the default model](https://kition.ai/docs/providers/switch-default-model)
-   Desktop & data
    
    -   [Log & config file locations](https://kition.ai/docs/desktop/log-and-config-locations)
    -   [Updates and versioning](https://kition.ai/docs/desktop/app-update)
    -   [Free vs Pro](https://kition.ai/docs/desktop/free-vs-pro)
    -   [Uninstall and take your data](https://kition.ai/docs/desktop/uninstall-and-data)
-   Recipes
    
    -   [Build a custom tool](https://kition.ai/docs/recipes/custom-tool)
    -   [Calling the Kition agent from CLI](https://kition.ai/docs/recipes/cli-usage)
    -   [Headless mode](https://kition.ai/docs/recipes/headless-mode)
    -   [Team vault protocol](https://kition.ai/docs/recipes/enterprise-team-vault)
-   Reference
    
    -   [Settings referencesoon](https://kition.ai/docs/settings)
    -   [Keybindingssoon](https://kition.ai/docs/keybindings)
    -   [Privacy & telemetrysoon](https://kition.ai/docs/privacy)
    -   [Agent isn’t responding](https://kition.ai/docs/agent-not-responding)
    -   [Vault isn’t syncing](https://kition.ai/docs/vault-not-syncing)
    -   [Editor feels laggy](https://kition.ai/docs/editor-laggy)
    -   [Wikilinks broken / backlinks missing](https://kition.ai/docs/wikilink-broken)
    -   [CSV import fails / shows mojibake](https://kition.ai/docs/csv-import-fail)
    -   [PDF export fails](https://kition.ai/docs/pdf-export-fails)
-   Articles
    
    -   [Wire MCP servers into the agent: Linear / Notion / GitHub](https://kition.ai/docs/articles/agent-mcp-setup)
    -   [Migrating from Notion: pages and databases](https://kition.ai/docs/articles/migrate-from-notion)
    -   [What is Kition? A 5-minute product tour](https://kition.ai/docs/articles/what-is-kition)

Articles · Getting started

# Migrating from Notion: pages and databases

Notion exports Markdown; Kition catches it — databases become tables, pages become \`.md\`.

Kition Team·Jul 21, 2026·5 min read

## Start with an inventory, not the export button

A clean Notion migration starts by deciding what each workspace element should become. Pages usually map to Markdown documents. Full-page databases usually map to Kition tables. Attachments stay as files. Dashboards, linked database views, formulas, rollups, buttons, automations, and permissions require judgment because they are behavior layered on top of the underlying content.

Before exporting, list the workspaces, top-level pages, databases, owners, and business-critical workflows. Mark content as active, archive, or disposable. Migrating years of duplicate meeting notes creates a noisy vault and makes verification harder. The goal is a trustworthy working set, not a perfect copy of every historical pixel.

## Create a rollback point

-   Keep the original Notion workspace unchanged during migration.
-   Record the export date and workspace name in a migration log.
-   Download one complete export and store the untouched ZIP separately from the working copy.
-   Perform the first migration into a new Kition vault rather than your production vault.
-   For team workspaces, choose one person to run the export so permissions and duplicate partial exports do not create conflicting sources.

## Export from Notion

In Notion, open Settings, choose the workspace export option, and select **Markdown & CSV**. Enable **Include subpages** so nested content is included. Notion produces a ZIP containing Markdown files for pages, CSV files for databases, folders for nested pages, and copied attachments where export permissions allow them.

Large workspaces can take time to prepare. Do not start editing the exported files until Notion has finished and you have preserved the original ZIP. If the export is unexpectedly small, check whether guest pages, private pages, or externally owned content were omitted.

## Stage the exported folder

-   Unzip into a temporary migration directory and keep the original ZIP read-only.
-   Remove obvious trash such as duplicate exports and empty placeholder pages.
-   Choose a stable top-level structure such as `Inbox/`, `Projects/`, `Areas/`, `Resources/`, and `Archive/` before moving hundreds of files.
-   Avoid mass-renaming files on the first pass. Notion-generated names and identifiers are unattractive, but they help preserve relative links while you validate the import.
-   Open the staged directory in a text editor and inspect several Markdown files before opening it as a Kition vault.

## Import pages as Markdown documents

Open the staged directory as a new Kition vault. Standard headings, paragraphs, lists, links, images, code blocks, and basic formatting should remain readable because the export is Markdown. Kition does not need to translate those pages into a proprietary block format.

Notion often writes internal links as relative Markdown links whose filenames include generated identifiers. Preserve them through the first verification pass. After confirming that linked pages open correctly, rename high-value pages gradually and update links in the same change. Git is useful here because every rename and link repair becomes reviewable.

## Import databases as Kition tables

Each exported database normally includes a CSV representation. In Kition, create a table and use the CSV import flow described in [Import CSV](https://kition.ai/docs/tables/csv-import). Review the preview instead of accepting inferred field types automatically.

-   Map titles and long descriptions to text or rich-text fields.
-   Map status, type, and category columns to select fields after checking the distinct values.
-   Map tags to multi-select fields and normalize inconsistent capitalization before import.
-   Map dates only after confirming timezone and date-format interpretation.
-   Keep Notion page IDs in a temporary source-ID column until verification is complete.
-   Import attachments separately when the CSV contains file references rather than the files themselves.

## What does not migrate one-to-one

A Markdown-and-CSV export preserves content better than behavior. Linked database views are view configuration, not independent datasets. Notion relations and rollups depend on internal object identifiers. Formulas may use functions with no direct equivalent. Buttons, automations, comments, page history, workspace permissions, and external integrations are not portable through a normal export.

Rebuild only the behavior that the team still uses. A linked database can become an embedded Kition table view. A relation can become a link field or a stable source ID. A formula should be re-created and checked against sample rows. Comments that contain decisions should be promoted into the document body before export rather than treated as durable content.

## Handle attachments deliberately

Open a sample of images, PDFs, and other attachments from inside the imported documents. Check that relative paths resolve on both macOS and Windows if the vault is shared across platforms. Keep attachment filenames unchanged until links work; cosmetic cleanup comes after correctness.

For a large media library, decide whether every binary belongs in the vault. Git works well for Markdown but poorly for large videos and archives unless Git LFS or another storage strategy is used. Document that choice before teammates start syncing the new vault.

## Verification checklist

-   Compare page and database counts with the migration inventory, allowing for intentionally excluded archives.
-   Open at least ten representative documents, including deeply nested pages and pages with attachments.
-   Follow internal links in both directions and search for unresolved Notion URLs or missing files.
-   Compare row counts and several important records for every migrated database.
-   Test select values, multi-select values, dates, formulas, and attachment fields rather than checking only titles.
-   Ask the real owner of each workflow to complete one normal task in the migrated vault.
-   Keep the Notion workspace available until the team has completed an agreed verification window.

## After the migration

Once the vault is verified, put it under the backup or synchronization system your team actually owns. Then document the folder structure, table conventions, provider configuration, and any rebuilt workflows. Avoid turning the first migration into a simultaneous redesign of every process; stabilize the data first, then improve the system in smaller reviewed changes.

Continue with [Create your first vault](https://kition.ai/docs/create-first-vault), the [data tables feature overview](https://kition.ai/features/data-tables), and the detailed [Kition vs Notion comparison](https://kition.ai/compare/notion). Those pages explain the target model and the tradeoffs that remain after the files have moved.

[← All articles](https://kition.ai/docs#articles)

## Related reading

[

Compare & migrate

### Kition vs Notion deep dive: local + AI-native vs cloud collaboration

Not "which is better" but "which fits you." Four axes: data ownership, collaboration, AI integration, pricing.

](https://kition.ai/docs/articles/kition-vs-notion-deep)[

Data tables

### CSV in and out: import from Excel / Notion in one click

CSV is the data world’s greatest common divisor. Kition treats it as first-class — clean import, clean export.

](https://kition.ai/docs/articles/csv-import-export)

On this page

-   [Start with an inventory, not the export button](#section-0)
-   [Create a rollback point](#section-1)
-   [Export from Notion](#section-2)
-   [Stage the exported folder](#section-3)
-   [Import pages as Markdown documents](#section-4)
-   [Import databases as Kition tables](#section-5)
-   [What does not migrate one-to-one](#section-6)
-   [Handle attachments deliberately](#section-7)
-   [Verification checklist](#section-8)
-   [After the migration](#section-9)
