Skip to main content

How to Migrate from Notion to Outline

·OSSAlt Team
notionoutlinemigrationwikiguide

How to Migrate from Notion to Outline

Outline is the most mature open source Notion alternative for team wikis. It has a Notion-like editor, real-time collaboration, collections, and a comprehensive API. Here's how to migrate your Notion workspace.

What Transfers

ContentStatus
✅ Pages and sub-pagesNative Notion import
✅ Text formattingFull support
✅ ImagesImported with content
✅ TablesSupported
✅ Code blocksSupported
✅ Lists and togglesSupported
⚠️ DatabasesImport as tables (static)
❌ Database views/filtersNot supported
❌ Formulas and relationsNot supported
❌ CommentsNot preserved
❌ Page analyticsNot preserved

Step 1: Export from Notion

  1. Go to Settings & MembersSettings
  2. Click Export all workspace content
  3. Choose Markdown & CSV format
  4. Include sub-pages → Export
  5. Download the ZIP file

Step 2: Deploy Outline

# Docker Compose
git clone https://github.com/outline/outline.git
cd outline/docker
cp .env.sample .env

# Edit .env — configure:
# - DATABASE_URL (PostgreSQL)
# - REDIS_URL
# - SECRET_KEY (generate with openssl rand -hex 32)
# - URL (your domain)
# - Authentication provider (Google, Slack, OIDC, SAML)

docker compose up -d

Requirements: PostgreSQL, Redis, S3-compatible storage (MinIO works), authentication provider (OIDC, Google, Slack, or SAML).

Step 3: Import into Outline

Outline has a native Notion import:

  1. Open Outline → SettingsImport
  2. Select Notion as the source
  3. Upload your exported ZIP file
  4. Outline maps Notion pages → Documents and sub-pages → Nested documents
  5. Import completes in minutes

Alternative: Markdown import

  1. SettingsImportMarkdown
  2. Upload individual .md files or folders

Step 4: Organize Collections

Notion's workspace structure → Outline:

NotionOutline
Team spacesCollections
Top-level pagesDocuments in collections
Sub-pagesNested documents
FavoritesStars
Shared pagesPublic document sharing

Create collections to mirror your Notion team spaces, then move imported documents into the appropriate collections.

Step 5: Set Up Authentication

Outline requires an external auth provider:

Google OAuth (easiest):

  1. Create OAuth credentials at console.cloud.google.com
  2. Set authorized redirect: https://your-outline.com/auth/google.callback
  3. Add GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to .env

OIDC (Keycloak, Authentik, etc.):

OIDC_CLIENT_ID=outline
OIDC_CLIENT_SECRET=your-secret
OIDC_AUTH_URI=https://auth.yourdomain.com/authorize
OIDC_TOKEN_URI=https://auth.yourdomain.com/token
OIDC_USERINFO_URI=https://auth.yourdomain.com/userinfo

Step 6: Set Up Integrations

Notion FeatureOutline Equivalent
Slack integration✅ Slack plugin (search, share, notifications)
API✅ Comprehensive REST API
Embed blocks✅ Embeds (YouTube, Figma, etc.)
Webhooks✅ Webhooks
Templates✅ Document templates
Public sharing✅ Public links with custom domains

What You'll Gain

  • Self-hosted data — your docs on your server
  • No per-user pricing — unlimited users
  • Real-time collaboration — same as Notion
  • API access — full REST API for automation
  • Custom domains for public docs
  • Faster editor — lightweight, focused on writing

Migration Timeline

DayTask
Day 1Deploy Outline, configure auth, import Notion export
Day 2Organize collections, set up integrations
Day 3-5Invite team, run both platforms
Week 2Primary usage moves to Outline
Week 3Sunset Notion, downgrade plan

Compare wiki and knowledge base tools on OSSAlt — editing experience, collaboration, and self-hosting options side by side.