How to Migrate from Notion to AppFlowy 2026
How to Migrate from Notion to AppFlowy
Notion's free plan limits block storage and guest collaborators. Paid plans start at $10/user/month. AppFlowy gives you a Notion-like experience — block editor, databases, kanban boards — fully open source and self-hosted. Here's how to migrate.
What Transfers (and What Doesn't)
| Content | Status |
|---|---|
| ✅ Pages and sub-pages | Markdown export → import |
| ✅ Text content | Full formatting preserved |
| ✅ Headings, lists, toggles | Supported |
| ✅ Code blocks | Supported |
| ✅ Tables | Basic tables transfer |
| ⚠️ Databases | Partial — export as CSV, recreate views |
| ⚠️ Images | Need to be re-added or linked |
| ❌ Database relations | Not supported |
| ❌ Formulas | Not supported |
| ❌ Integrations/API automations | Rebuild separately |
| ❌ Comments and activity | Not preserved |
Step 1: Export from Notion
- Go to Settings & Members → Settings
- Scroll to Export all workspace content
- Choose Markdown & CSV format
- Choose to include sub-pages
- Click Export → Download the ZIP
For individual pages:
- Open the page → click ⋯ menu → Export
- Choose Markdown & CSV
Step 2: Install AppFlowy
Desktop (recommended for migration):
- Download from appflowy.io for Mac, Windows, or Linux
- Or use the AppFlowy Cloud for hosted option
Self-hosted (Docker):
git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud.git
cd AppFlowy-Cloud
cp deploy.env .env
# Edit .env with your configuration
docker compose up -d
Step 3: Import Content
AppFlowy supports Markdown import:
- Open AppFlowy
- Click + New Page
- Click ⋯ → Import → Markdown
- Select your exported
.mdfiles
For bulk import:
- Import pages one at a time (AppFlowy doesn't support bulk ZIP import yet)
- Organize into spaces/folders after import
- Priority: Start with your most-used pages
Step 4: Recreate Databases
Notion databases export as CSV files. In AppFlowy:
- Create a new Grid or Board view
- Define columns matching your Notion database
- Import CSV data (or recreate entries manually)
- Set up Kanban view if needed
Tip: AppFlowy's database views support Grid, Board (Kanban), and Calendar — similar to Notion but without relations and rollups.
Step 5: Reorganize Your Workspace
Notion's workspace structure → AppFlowy equivalent:
| Notion | AppFlowy |
|---|---|
| Workspace | Workspace |
| Team spaces | Spaces |
| Pages | Documents |
| Sub-pages | Nested documents |
| Databases | Grid/Board views |
| Templates | Document templates |
| Favorites | Favorites |
Step 6: Set Up Your Team
If self-hosted:
- Share your AppFlowy Cloud instance URL with your team
- Create user accounts
- Set up spaces with appropriate permissions
If using AppFlowy Cloud:
- Invite team members via email
- Organize shared spaces
- Set up workspace permissions
What You'll Miss (and Workarounds)
| Notion Feature | AppFlowy Status | Workaround |
|---|---|---|
| Database relations | Not available | Use links between pages |
| Formulas | Not available | Use external spreadsheet |
| API/Integrations | Limited | AppFlowy has a growing plugin system |
| Web clipper | Not available | Copy-paste content |
| Synced blocks | Not available | Duplicate content manually |
| Comments | Available | ✅ |
| Real-time collaboration | Available | ✅ |
What You'll Gain
- Full data ownership — your data stays on your machine or server
- No block limits — Notion's free plan limits storage
- Offline-first — works without internet (desktop app)
- No per-user pricing — self-hosted is free for unlimited users
- Privacy — no data sent to third parties
- Customizable — open source, extensible with plugins
Migration Timeline
| Day | Task |
|---|---|
| Day 1 | Export Notion workspace, install AppFlowy |
| Day 2-3 | Import priority pages, recreate key databases |
| Day 4-5 | Organize workspace structure, invite team |
| Week 2 | Run both platforms in parallel |
| Week 3-4 | Full transition, cancel Notion subscription |
Tips for a Smooth Migration
- Don't migrate everything at once — Start with your 10 most-used pages
- Recreate databases manually — It's often faster than importing CSV and reformatting
- Keep Notion as read-only archive — Downgrade to free plan instead of deleting
- Use the desktop app — Better performance for large imports
- Embrace differences — AppFlowy isn't Notion; some workflows will change
Self-Hosting AppFlowy: What the Cloud Version Doesn't Tell You
The desktop-only version of AppFlowy stores data locally on each user's machine, which works well for individual use but breaks down immediately when you need team collaboration. AppFlowy Cloud is the self-hosted server component that adds real-time sync, shared workspaces, and multi-user access. Understanding its architecture before you deploy saves you from significant troubleshooting later.
AppFlowy Cloud is not a simple single-container deployment. It runs several services: the main AppFlowy Cloud server (Rust), GoTrue for authentication, PostgreSQL for persistent storage, Redis for session management, and MinIO for file and blob storage. The official repository includes a Docker Compose file that wires these together, but you'll need to configure each component correctly for your environment. The most common failure point is the GoTrue authentication service — it needs access to an SMTP server for email verification, and misconfigured SMTP settings cause silent failures where users appear to register but never receive confirmation emails.
For the reverse proxy, Caddy is the recommended option because it handles TLS certificate provisioning automatically. Configure it to proxy requests to AppFlowy Cloud's port 8000, and make sure your domain's DNS is pointed at the server before you start Caddy — otherwise the ACME challenge for certificate provisioning will fail. The AppFlowy client applications (desktop and mobile) require HTTPS; they will not connect to an HTTP-only server.
Storage configuration deserves particular attention. By default, AppFlowy Cloud uses MinIO for blob storage (images, file attachments). If you're running on a VPS with limited local disk, consider pointing MinIO at an S3-compatible bucket from the start rather than migrating later. The configuration is straightforward — MinIO supports S3 compatibility natively — and it eliminates disk space as a constraint for your team. For teams already running other Docker-based services, MinIO can coexist on the same server without issues as long as you allocate ports carefully.
User management in AppFlowy Cloud differs from Notion in one important way: there is no built-in organization-level user directory in the open source version. Users are invited to specific workspaces by email, and workspace owners control permissions at the workspace level. This is adequate for most small teams but means you'll need to manage invitations manually rather than syncing from an LDAP directory or SSO provider. The enterprise tier adds SSO support — something to consider if you're migrating a larger organization.
Preserving Your Workflow: Practical Notes for Power Users
Notion's most distinctive features are its relational databases — the ability to link records between databases, roll up values, and create filtered views that join data from multiple sources. AppFlowy does not yet support relations or rollups. For teams whose Notion workflow centers on linked databases (project management, CRM-style tables, content pipelines), this is the most significant functional gap.
The practical workaround that most teams find workable is to flatten relational data into single-table views during the migration. A Notion setup with a Projects database related to a Tasks database related to a People database can often be rebuilt as a single comprehensive task table with repeated fields for project name and assignee, or as separate unlinked grids with manual cross-referencing. It's less elegant than Notion's relations, but it works for most operational use cases. AppFlowy's development roadmap does include database relations, so this gap is likely to close over time.
Formulas are another gap. Notion's formula fields support complex calculated properties — days until deadline, status-based color coding, computed scores. AppFlowy grids support basic field types without formula computation. If you rely on formulas for operational data, plan to rebuild that logic in your actual application layer or accept that some views will require manual updating. For teams using Notion primarily as a document system with light database usage, formulas are rarely critical.
Templates are handled differently in AppFlowy. Notion's template gallery is large and community-maintained. AppFlowy's template system is functional but smaller. The practical solution is to build your key templates in AppFlowy directly after migration rather than trying to import Notion templates. Most teams find they only use three or four templates regularly — recreating those is a one-time two-hour investment.
For teams choosing between AppFlowy and other open source Notion alternatives, the tradeoffs are meaningful. Outline is a stronger choice if your primary use case is structured team documentation without database features — its editor is faster and cleaner than AppFlowy's for pure writing workflows. AFFiNE adds a whiteboard canvas that AppFlowy lacks, making it better for teams that combine written docs with visual thinking. The Notion, AppFlowy, AFFiNE, and Obsidian comparison covers all four tools in detail, including self-hosting Docker configurations for each. If your team is also evaluating Outline specifically as a standalone wiki, the AppFlowy vs Outline comparison goes deeper on the editing experience, database features, and SSO integration differences between the two leading self-hosted Notion alternatives.
Understanding the Cost Difference at Scale
The financial case for migrating from Notion to AppFlowy self-hosted is clear for teams of more than four people, but the full picture requires accounting for both directions of cost.
Notion charges per user, and the costs compound quickly. A team of 20 on Notion's Plus plan pays $200/month ($2,400/year). A team of 50 on Business plan pays $1,500/month ($18,000/year). These figures include Notion AI on the higher plans, which adds further per-seat cost. At enterprise scale, Notion pricing requires negotiation, but customers regularly report costs well into five figures annually.
AppFlowy Cloud self-hosted eliminates per-user licensing entirely. Your costs are the VPS running the stack (roughly $10-20/month for a properly sized server), the domain, and backup storage. For a team of 50, that's approximately $240/year in infrastructure — a 98% reduction against Notion Business. The hidden cost is maintenance time: expect one to two hours per month for updates, monitoring, and the occasional troubleshooting session. At an engineering hourly rate of $100, that's $100-200/month in time cost. Even factoring in maintenance, the economics strongly favor self-hosting for teams larger than ten people.
The break-even point for smaller teams is worth calculating honestly. If you're a solo user or a two-person team, Notion's free or Plus plan may be cheaper than the time cost of self-hosting. The framework for calculating ROI when switching to open source walks through this calculation in detail with worked examples — the same methodology applies to Notion vs AppFlowy as it does to any SaaS-to-OSS migration. The core insight is that the cost savings are real but the payback period depends on team size, your hourly rate for maintenance, and how many other tools share the same infrastructure.
Data ownership is a distinct benefit that doesn't appear in the cost calculation but matters for many organizations. With AppFlowy self-hosted, your knowledge base data never leaves your server. For teams handling client information, internal strategy, or regulated content, this eliminates a category of compliance risk that Notion's data processing agreements only partially address.
Compare knowledge base tools on OSSAlt — editing experience, collaboration features, and data ownership side by side.
See open source alternatives to Notion on OSSAlt.