Migrate your Notion data
Block-based all-in-one workspace combining docs, wikis, databases, and project management. Everything in Notion is a block — pages, paragraphs, database rows, and images all share the same atomic unit, making migrations both powerful and structurally complex.
In its favor
Why people choose Notion
The signal that keeps Notion on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
Free tier includes unlimited pages for individuals with 7-day history, letting small teams and solo users adopt it with no upfront cost and validate fit before committing to a paid tier.
Block-based editor and relational databases let power users build custom workflows — Kanban boards, CRMs, wikis, content calendars — without writing code, from a single tool.
Template marketplace offers thousands of community-built starting points for project management, wikis, OKRs, and personal productivity, dramatically reducing initial setup time.
Pricing undercuts most enterprise competitors at $12/user/month for Plus and $18/user/month for Business, while still covering SAML SSO, private teamspaces, and unlimited guests.
Clean, minimal interface reduces visual noise compared to alternatives like Confluence or monday.com, making it effective for both individual note-taking and team documentation.
Pages with heavy nested content or large databases become noticeably laggy in the desktop and mobile apps, with scroll stuttering and 3+ second load times on text-heavy pages.
Search is not hyphen- or space-tolerant, does not prioritize headings, and shows no formatting preview in results, making it difficult to locate content in large workspaces.
At 30+ users, performance degrades: pages load slowly, nested hierarchies become hard to navigate, and new hires struggle to find existing documentation.
Steep learning curve despite marketing — users report the flexible block structure feels overwhelming initially, and building effective databases requires time investment and proper setup discipline.
Mobile app is sluggish navigating heavily nested pages or large databases, limiting practical use for serious organization on mobile devices.
Reasons to switch
Why people leave Notion
The recurring reasons buyers give for replacing Notion. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where Notion fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
Notion pricing overview
Notion uses a per-seat model across four tiers. The Free plan is a genuine plan (not a trial) for individuals; Plus adds unlimited file uploads and 30-day history at $12/user/month; Business adds SAML SSO and private teamspaces at $18/user/month; Enterprise is custom-priced with SCIM, audit logs, and unlimited history for large organizations.
Free
Tier 1 of 4
Free
What's included
Need help selecting your Project Management?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on Notion's schedule — see our quote-based pricing →
What gets migrated
Notion object support
Object-by-object support for Notion migrations. Per-pair details surface during scoping.
Pages
Fully supportedThe primary container object in Notion. Pages nest freely inside other pages and can hold an arbitrary number of block children. We traverse the full page tree recursively, preserving parent-child relationships and page-level properties like icon and cover image.
Databases
Mapping requiredDatabases are pages containing a structured table of rows. We extract all property schemas (title, rich_text, number, select, multi_select, date, people, files, checkbox, url, email, phone_number, relation, formula, rollup, etc.) and their current values per row. Schema parity is not guaranteed across platforms because Notion's property types are extensive and include formula outputs that may not translate.
Blocks
Fully supportedEvery visible element — paragraph, heading, list, callout, code block, image, embed, toggle, quote, table, divider — is a block with its own type and content. We extract all blocks with their formatting metadata and nested children arrays up to the API's 2-level-per-request depth limit, using follow-up append calls for deeper nesting.
Database Properties (Fields)
Mapping requiredNotion databases support over 20 property types including rollups, formulas, and relations. Custom property names and select/multi_select option sets vary by workspace. We map each property to the closest equivalent in the destination and flag any formula or relation chain that breaks across platform boundaries.
Database Views
Mapping requiredNotion databases support table, board (kanban), gallery, list, timeline, calendar, and gantt views. Each view stores its own filter, sort, and group configuration. We extract view configurations and apply them to the destination database where supported, noting that board and timeline views map most cleanly while gantt requires destination-specific handling.
Relations and Rollups
Mapping requiredRelations link records across databases; rollups aggregate data from related records. Both are first-class Notion concepts but require the linked databases to exist at the destination for full reconstruction. We detect relation chains during discovery and warn if cross-database links cannot be preserved in the target platform.
Users and Members
Mapping requiredNotion workspaces contain full members, guests, and connections. User objects appear in created_by, last_edited_by, and people property fields. We extract user IDs and display names but note that user identity (avatars, emails) is workspace-scoped and may not map 1:1 in the destination.
Comments and Mentions
Mapping requiredComments live in a separate endpoint from page content and reference specific block IDs. We extract comment text, author, and block association. If the destination lacks a comment-on-block model, we flatten comments to a dedicated section on the target page.
Page History
Mapping requiredNotion retains page history: 7 days on Free, 30 days on Plus, 90 days on Business, unlimited on Enterprise. History is not accessible via API — only the current revision is exportable. We flag this limitation and recommend the customer export versions manually via the UI before migration if history preservation is required.
Attachments and Files
Mapping requiredFiles and images are hosted by Notion and referenced by URL in the block data. We extract the media URLs and re-host them in the destination or on a cloud storage layer. Notion's file upload limits are tier-dependent (unlimited on Plus and above), but the destination may impose its own limits.
Teamspaces
Mapping requiredPrivate teamspaces are available on Business and Enterprise plans. Each teamspace contains its own set of pages and databases with independent permission sets. We extract the full workspace tree including teamspace boundaries and replicate permission hierarchies where the destination supports workspace-level access control.
Templates
Mapping requiredNotion templates are pages or database rows saved as reusable structures. We extract template content but note that the 'use as template' metadata is Notion-specific and may not translate to a template概念 in the destination platform.
Tags and Labels
Fully supportedTags are implemented as multi_select or select property options within databases, or as inline page tags. We extract all option labels and their color metadata and map them to the destination's tagging system.
| Object | Support | Notes |
|---|---|---|
| Pages | Fully supported | The primary container object in Notion. Pages nest freely inside other pages and can hold an arbitrary number of block children. We traverse the full page tree recursively, preserving parent-child relationships and page-level properties like icon and cover image. |
| Databases | Mapping required | Databases are pages containing a structured table of rows. We extract all property schemas (title, rich_text, number, select, multi_select, date, people, files, checkbox, url, email, phone_number, relation, formula, rollup, etc.) and their current values per row. Schema parity is not guaranteed across platforms because Notion's property types are extensive and include formula outputs that may not translate. |
| Blocks | Fully supported | Every visible element — paragraph, heading, list, callout, code block, image, embed, toggle, quote, table, divider — is a block with its own type and content. We extract all blocks with their formatting metadata and nested children arrays up to the API's 2-level-per-request depth limit, using follow-up append calls for deeper nesting. |
| Database Properties (Fields) | Mapping required | Notion databases support over 20 property types including rollups, formulas, and relations. Custom property names and select/multi_select option sets vary by workspace. We map each property to the closest equivalent in the destination and flag any formula or relation chain that breaks across platform boundaries. |
| Database Views | Mapping required | Notion databases support table, board (kanban), gallery, list, timeline, calendar, and gantt views. Each view stores its own filter, sort, and group configuration. We extract view configurations and apply them to the destination database where supported, noting that board and timeline views map most cleanly while gantt requires destination-specific handling. |
| Relations and Rollups | Mapping required | Relations link records across databases; rollups aggregate data from related records. Both are first-class Notion concepts but require the linked databases to exist at the destination for full reconstruction. We detect relation chains during discovery and warn if cross-database links cannot be preserved in the target platform. |
| Users and Members | Mapping required | Notion workspaces contain full members, guests, and connections. User objects appear in created_by, last_edited_by, and people property fields. We extract user IDs and display names but note that user identity (avatars, emails) is workspace-scoped and may not map 1:1 in the destination. |
| Comments and Mentions | Mapping required | Comments live in a separate endpoint from page content and reference specific block IDs. We extract comment text, author, and block association. If the destination lacks a comment-on-block model, we flatten comments to a dedicated section on the target page. |
| Page History | Mapping required | Notion retains page history: 7 days on Free, 30 days on Plus, 90 days on Business, unlimited on Enterprise. History is not accessible via API — only the current revision is exportable. We flag this limitation and recommend the customer export versions manually via the UI before migration if history preservation is required. |
| Attachments and Files | Mapping required | Files and images are hosted by Notion and referenced by URL in the block data. We extract the media URLs and re-host them in the destination or on a cloud storage layer. Notion's file upload limits are tier-dependent (unlimited on Plus and above), but the destination may impose its own limits. |
| Teamspaces | Mapping required | Private teamspaces are available on Business and Enterprise plans. Each teamspace contains its own set of pages and databases with independent permission sets. We extract the full workspace tree including teamspace boundaries and replicate permission hierarchies where the destination supports workspace-level access control. |
| Templates | Mapping required | Notion templates are pages or database rows saved as reusable structures. We extract template content but note that the 'use as template' metadata is Notion-specific and may not translate to a template概念 in the destination platform. |
| Tags and Labels | Fully supported | Tags are implemented as multi_select or select property options within databases, or as inline page tags. We extract all option labels and their color metadata and map them to the destination's tagging system. |
Gotchas
What to watch for in Notion migrations
Issues we've hit on past Notion migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
No dedicated /export API endpoint
1,000 block and 500 KB per-request payload limits
Database imports cap at 1,000 rows in the native UI
Notion AI has modified or overwritten content without prompting
Page history is API-inaccessible
| Severity | Issue |
|---|---|
| High | No dedicated /export API endpoint |
| High | 1,000 block and 500 KB per-request payload limits |
| Medium | Database imports cap at 1,000 rows in the native UI |
| Medium | Notion AI has modified or overwritten content without prompting |
| Medium | Page history is API-inaccessible |
Leaving Notion?
Where Notion customers move next
5 destinations Notion can migrate to.
How a Notion migration works
Four steps, Notion-specific
Connect
Bearer token (OAuth 2.0 for third-party integrations, internal integrations use token-based auth) into Notion. Scopes limited to read-only on the data we move.
Map
We translate Notion-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate Notion quirks before production.
Migrate
Full migration with Notion rate-limit handling. Rollback available throughout.
FAQ
Notion migration FAQ
Answers to the questions buyers ask most during Notion migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your Notion migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationOther project management tools we support
Ready when you are
Migrate Notion.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your Notion setup and destination — written quote back within a business day.