Skip to main content
This guide walks you through your first migration from start to finish. For detailed explanations, see the complete migration guide.

Before You Begin

Make sure you have:
  • A Webflow collection to export
  • A Sanity project with dataset (or ready to create one)
  • A Sanity API token with Editor permissions
  • A ContentWrap account

Need setup help?

See prerequisites for detailed requirements

Step 1: Export from Webflow

1

Open Webflow CMS

Navigate to your Webflow project and click CMSCollections
2

Select a collection

Choose a collection to migrate (start small—under 50 items recommended)
3

Export as CSV

Click the settings icon (⚙️) → ExportCSV file
Don’t edit the CSV! Keep all columns and headers exactly as Webflow exports them, especially Collection ID, Item ID, and Locale ID.

Step 2: Upload to MigrateKit

1

Sign in

Go to app.contentwrap.io and sign in with your ContentWrap account
2

Open MigrateKit

Click MigrateKit in the sidebar or navigate to /migratekit
3

Upload your CSV

Drag and drop your Webflow CSV or click to browse
MigrateKit automatically detects your Webflow structure and shows a preview

Step 3: Map Fields

Define how Webflow content becomes Sanity documents:
1

Name your document type

Enter a Sanity-compatible name (e.g., blogPost, article, product)
Use camelCase with no spaces: blogPost ✓ not Blog Post
2

Map your fields

For each Webflow column, select a Sanity field type:
Webflow ColumnSanity TypeNotes
Name/TitlestringPlain text
Post BodyportableTextHTML auto-converts
Main ImageimageDownloads & uploads
SlugslugURL-friendly ID
Published DatedatetimeISO date format
3

Skip system fields

Don’t map: Collection ID, Item ID, Locale ID (ContentWrap uses these internally)
MigrateKit auto-suggests mappings based on column names and data types. Review and adjust as needed.

Step 4: Connect Sanity

1

Enter project details

You’ll need three things:
  • Project ID - Found in your Sanity dashboard
  • Dataset - Usually production or development
  • API Token - Must have Editor permissions
2

Test connection

Click Test Connection to verify credentials
First migration? Use a test dataset like development to safely try the migration before importing to production.

Step 5: Import

1

Review the preview

Check sample documents to ensure:
  • Field mappings look correct
  • Portable Text renders properly
  • Images are referenced
2

Start import

Click Import to Sanity
All documents import as drafts—your published content stays safe
3

Monitor progress

Watch the real-time progress:
  • Documents created
  • Assets uploaded
  • Warnings or errors

Step 6: Verify in Sanity

1

Open Sanity Studio

Navigate to your Sanity Studio (usually yourproject.sanity.studio)
2

Check drafts

Review migrated documents in the drafts section
  • Check content accuracy
  • Verify formatting
  • Confirm images loaded
3

Publish when ready

Publish documents individually or in bulk

What’s Next?

Need Help?

Check that your file:
  • Is a valid CSV (not XLSX or other format)
  • Has all original Webflow columns
  • Isn’t corrupted or edited in Excel
See CSV troubleshooting for more help.
This usually happens with complex HTML. MigrateKit converts most common tags, but some structures may need manual cleanup in Sanity.Learn more: HTML Conversion
Image upload failures typically occur due to:
  • Invalid image URLs in your CSV
  • Network timeouts for large files
  • Sanity asset quota limits
The import report shows which assets failed—you can re-upload them manually.
Check the error messages for specific issues:
  • Required fields with missing values
  • Invalid data types (text in number fields)
  • Malformed dates or slugs
Fix the issues and re-import just those rows.