All posts
Platform migrations

How to Import Content Into Framer CMS (CSV, Plugins and API)

How to import into Framer CMS: CSV upload, sync plugins or the Server API, with prep steps, rich text and image handling, and checks for large sites.

By Mehdi Hassan8 min read

The short answer

To import into Framer CMS, you have three routes: upload a CSV into a collection, sync from a source like Notion or Google Sheets with a marketplace plugin, or push items with Framer's Server API. CSV suits one-off moves, plugins suit content that lives elsewhere, and the API suits large or recurring imports.

Key takeaways

  • CSV import is the default for one-off migrations: one file per collection, one row per item.
  • Sync plugins keep content in Notion, Sheets or Airtable, but the plugin owns those fields in Framer.
  • The Server API is for big or repeated imports where a script, not a person, should do the work.
  • Clean rich text and re-host images before importing, or you'll fix them item by item afterwards.
  • Import referenced collections first, then the items that point to them.

Part of CMS Content Migration: How to Export, Clean and Import Content Between Platforms

How do you import content into Framer CMS?

You import content into Framer CMS by creating a collection with the right fields, then filling it from a CSV file, a sync plugin or the Server API. The method matters less than the preparation: Framer will happily import messy content, and messy content is slow to fix one item at a time.

Most imports are part of a bigger move, usually off Webflow, WordPress or HubSpot. If that's you, start with the wider process in our guide to CMS content migration, which covers export, cleanup and import as one job. This article covers the last step: getting clean content into Framer and keeping it intact.

The short version: model your collections first, pick the import route that fits how often content changes, run a small test batch, then import everything and check it against the source.

CSV, plugins or the Server API: which Framer CMS import method fits?

CSV fits a one-time move, a sync plugin fits content that will keep living in another tool, and the Server API fits large or scripted imports. The table compares them on the things that decide a real migration.

Factor

CSV import

Sync plugin

Server API

Best for

One-off migrations

Content edited in Notion, Sheets or Airtable

Large or recurring imports

Who runs it

Anyone on the team

Anyone, after setup

A developer

Ongoing sync

No, it's a snapshot

Yes, on demand

Yes, scripted

Editing in Framer afterwards

Full

Synced fields are locked to the source

Full, unless your script overwrites them

Rich text

HTML in a cell

Depends on the plugin

You control the conversion

Main risk

Bad formatting at scale

Plugin limits or changes

Build and maintenance effort

Our default for a marketing site migration is CSV. It's the simplest route, it leaves editors in full control afterwards, and the file doubles as a record of what you moved. We reach for the API only when the volume or the update frequency makes manual uploads a chore.

How do you prepare a CSV for a Framer CMS CSV import?

Prepare one CSV per collection, with one column per field and one row per item, and clean it before Framer sees it. The work happens in a spreadsheet or a script, not in Framer.

  1. Model the collection first

    Decide the fields in Framer before you export anything: title, slug, date, author, category, summary, body, image, SEO title and description. Our guide to content modeling explains how to split collections without copying the old site's mistakes.

  2. Export and audit the source

    Pull the content out of the old platform, then decide what's worth moving. A content audit before migration usually removes a meaningful share of thin or outdated posts before they cost you import time.

  3. Match columns to fields

    Rename CSV headers to match the Framer field names exactly. It makes the mapping screen fast and stops columns landing in the wrong field.

  4. Keep slugs from the old site

    Put the existing URL slug in its own column. Keeping slugs means fewer redirects and less SEO risk.

  5. Clean rich text and dates

    Strip inline styles, empty tags and old shortcodes from body HTML, and use one consistent date format across the file.

  6. Test with ten rows

    Import a small sample, open each item and its live page, and only then import the full file.

How does Framer handle rich text and images on import?

Framer reads HTML in a formatted text column and converts it into its own rich text, and it fetches images from public URLs. Both work well when the source is clean and break in predictable ways when it isn't.

For rich text, the common problems are embeds, tables and custom classes. Framer's formatted text doesn't keep arbitrary classes or scripts, so iframes, tweet embeds and styled callouts from the old CMS either disappear or arrive as plain text. Convert them before import, or plan to rebuild them as components. Our guide to rich text migration between CMSs covers the conversion patterns.

For images, every URL must be publicly reachable at the moment you import. If the old site is about to be switched off, import first. If your images sit on another platform's CDN, as they do after a Webflow CMS export, get them into Framer while that CDN still serves them.

When should you use a Framer CMS plugin import instead?

Use a plugin when the content will keep living somewhere else, such as a job board in Airtable, a changelog in Notion or a directory in Google Sheets. The plugin syncs that source into a Framer collection whenever you run it.

Pros

  • Non-designers keep editing in a tool they already use
  • Re-syncing takes a click instead of a new CSV
  • Good fit for structured lists like jobs, docs, directories and events

Cons

  • Synced collections are managed by the plugin, so you can't freely edit those fields in Framer
  • You depend on a third-party plugin staying maintained
  • Rich text and references vary by plugin, so test before committing

For a one-off blog migration, a plugin adds a dependency you don't need. For a list your ops team updates weekly, it's often the right call. If the content model is outgrowing Framer, also read about moving content to a headless CMS while keeping the Framer design.

When does the Framer CMS API make sense for large sites?

The Framer CMS API route makes sense when you have hundreds of items, several linked collections or content that updates on a schedule. A script can create items, convert rich text, set references and re-run safely, which no spreadsheet can.

Framer's Server API lets code outside the editor read and write CMS content and publish. Plugin-based imports through the Plugin API are another scripted option. Check Framer's current developer docs for access, plan requirements and rate limits before you build on either, because these change.

Before scripting anything, check that the volume fits. Our guide to Framer CMS limits covers what happens when collections get large. Sites built for programmatic SEO in Framer are the usual reason teams need the API in the first place.

Hypothetical example: a blog with authors and categories

For example, suppose a SaaS team is moving a blog with three linked collections: posts, authors and categories. With CSV, they import authors and categories first, then posts, with reference columns that match the slugs of the already-imported items.

With the API, a developer writes one script that reads the export, creates authors and categories, stores their new IDs, converts each post body to clean HTML and creates the posts with references set. It costs more upfront, but the script can be re-run after a content freeze, so last-minute posts aren't lost. This is illustrative, not a client result.

What should you check after importing into Framer CMS?

Check every collection against the source before you switch domains. A quick, systematic pass catches the problems that show up later as broken pages or lost rankings.

  1. Item count. The number of items in each collection matches the cleaned export.
  2. Slugs. Every slug matches the old URL, or has a redirect from the old one.
  3. Rich text. Headings, lists, links and inline images render on a sample of long posts.
  4. Images. Cover and inline images load from Framer, not from the old platform.
  5. References. Authors, categories and related items link correctly on live pages.
  6. SEO fields. Titles, descriptions and Open Graph images are populated and wired into the page template.
  7. Forms and tracking. Any embedded forms in posts still submit, as covered in our guide to migrating website forms.

If you're coming from HubSpot, the same checks apply, with extra attention to forms and CTAs. Our HubSpot to Framer migration guide walks through those. Migration work is scoped on the intro call, and we include redirects and SEO checks in any migration we take on.

Frequently asked questions

Can I import a Webflow CSV straight into Framer?
Yes, but not without cleanup. Webflow's CSV export has its own column names, rich text HTML with Webflow classes and image URLs on Webflow's CDN. Rename the headers to match your Framer fields, strip the classes from body HTML and make sure Framer pulls every image before you cancel the Webflow plan. Test with a small batch first.
Does a Framer CMS import overwrite existing items?
It can, depending on how you import and whether slugs match existing items. Treat any re-import as a possible overwrite: export or duplicate the collection first, then import into a test collection to see how Framer treats matching slugs. Scripted imports through the API do exactly what your code says, so make them check before writing.
Can I import WordPress posts into Framer CMS?
Yes. Export WordPress content to a CSV, either with an export plugin or from the REST API, then import that CSV into a Framer collection. The hard parts are shortcodes, page-builder markup and media URLs, which need converting or re-hosting first. Keep the old slugs so most URLs carry over without redirects.
Do I need a developer to import content into Framer?
Not for a CSV import or a sync plugin. A marketer comfortable with spreadsheets can prepare the file, map the fields and run the import. You need a developer when the job involves hundreds of linked items, rich text conversion at scale, scheduled syncs or the Server API, where a script is safer than manual uploads.
What happens to SEO when I import content into Framer?
The import itself doesn't hurt SEO. What hurts is changed URLs without redirects, missing titles and descriptions, broken images and thin pages. Keep slugs where you can, map every changed URL to a 301 redirect, fill SEO fields in the CMS and check that templates output them before you move the domain.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Website, $8,000.

A multi-page marketing site, designed by us, developed in Next.js and animated. $8,000, one-time, up to 6 pages. Book a free 30-minute call to see if it fits.

Schedule Call