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 CMS → Collections
2
Select a collection
Choose a collection to migrate (start small—under 50 items recommended)
3
Export as CSV
Click the settings icon (⚙️) → Export → CSV 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
/migratekit3
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 Column | Sanity Type | Notes |
|---|---|---|
| Name/Title | string | Plain text |
| Post Body | portableText | HTML auto-converts |
| Main Image | image | Downloads & uploads |
| Slug | slug | URL-friendly ID |
| Published Date | datetime | ISO 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
productionordevelopment - 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?
Full Migration Guide
Complete walkthrough with advanced options
Field Types Reference
Comprehensive guide to all Sanity field types
Troubleshooting
Common issues and how to fix them
Understanding Portable Text
How HTML converts to Portable Text
Need Help?
The CSV upload failed
The CSV upload failed
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
Portable Text looks wrong
Portable Text looks wrong
This usually happens with complex HTML. MigrateKit converts most common tags, but some structures may need manual cleanup in Sanity.Learn more: HTML Conversion
Images didn't upload
Images didn't upload
Image upload failures typically occur due to:
- Invalid image URLs in your CSV
- Network timeouts for large files
- Sanity asset quota limits
Some rows failed to import
Some rows failed to import
Check the error messages for specific issues:
- Required fields with missing values
- Invalid data types (text in number fields)
- Malformed dates or slugs
Contact Support
Still stuck? Email us at support@contentwrap.io