← All playbooks
Design migration

Figma → Penpot

Move Figma files, components, libraries, variables, auto layout, prototypes, fonts, comments, branches, permissions, plugins, and developer handoff into Penpot through the exporter with visual and structural verification.

Typical timeline20–45 business days90–175 hours active work
Statusneeds review
Source testedFigma documentation reviewed 2026-07-19
Destination testedPenpot documentation reviewed 2026-07-19
Last reviewed2026-07-19
Sources3
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Figma

Reasons to stay
  • Best-in-class multiplayer design, prototyping, components, and developer collaboration
  • Shared design files and reusable components improve team consistency
Reasons to leave
  • Cloud dependence, seat costs, and proprietary files create concentration risk
  • Plugin, prototype, history, and developer-handoff fidelity can be hard to preserve
New platform

Penpot

What gets better
  • Open-source design with web standards and self-hosting improves ownership
  • Shared design files and reusable components improve team consistency
What gets worse
  • Its plugin ecosystem, prototyping depth, and collaboration polish remain less mature
  • Plugin, prototype, history, and developer-handoff fidelity can be hard to preserve
Best of the move

Penpot: Open-source design with web standards and self-hosting improves ownership. This removes a major source-side concern: Cloud dependence, seat costs, and proprietary files create concentration risk.

Worst of the move

What you lose: Best-in-class multiplayer design, prototyping, components, and developer collaboration. What you inherit: Its plugin ecosystem, prototyping depth, and collaboration polish remain less mature.

01At a glance

Know the shape of the move.

Transfer outcome12 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 10, Manual rebuild: 1, Not transferred: 1.
Clean0
Partial10
Manual1
Lost1
Mapping route9 of 9 fields have a destination path

This timeline assumes

  • Up to 500 files, 20 libraries, 25,000 components, and 250 users
  • Design-system, product-design, research, and engineering owners approve the migration scope.
  • A representative file set covers every source feature and file-size class.
  • The source remains available until libraries, prototypes, access, and handoff checks pass.
  • The migration team records evidence for every blocking verification check.
02Loss matrix

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Figma files through Penpot ExporterpartialcriticalPenpot recommends its Figma Exporter but notes differing features can make conversion less than fully reliable.Pilot every feature class and retain source files and acceptance images.
Components, libraries, variables, and auto layoutpartialcriticalReusable structure and layout semantics require destination inspection rather than visual-only approval.Rebuild destination libraries and test instances, tokens, modes, resizing, and overrides.
Prototypes, comments, branches, and version historylosthighCollaboration and history are not guaranteed by design-file conversion.Resolve reviews, merge or archive branches, and recreate critical interactions.
Plugins and developer handoffmanualcriticalFigma extensions and handoff integrations do not execute in Penpot.Replace each active workflow and validate SVG, CSS, HTML, and token outputs.
Files, pages, and canvasespartialcriticalCore design content can convert while document structure and proprietary features differ.Pilot every file class and reconcile the complete file inventory.
Frames, artboards, groups, and layerspartialcriticalContainers map conceptually while layout and hierarchy can change.Compare layer trees and screenshots for representative files.
Components, symbols, and instancespartialcriticalReusable assets can import without retaining library relationships and overrides.Publish destination libraries and reconnect or audit every critical instance.
Styles, variables, and design tokenspartialcriticalStyle and variable systems have different scope and semantics.Create a signed token map and rebuild the supported source of truth.
Auto layout, constraints, grids, and responsive behaviorpartialcriticalLayout engines do not produce identical results.Test supported viewport and content-stress cases.
Fonts and text renderingpartialcriticalLocal, licensed, missing, and variable fonts require destination availability.Inventory fonts and compare text bounds and line breaks.
Images, vectors, effects, and blend modespartialhighRendering support and SVG conversion can alter appearance or editability.Compare screenshots and retain original assets.
Prototypes and interactionspartialhighTriggers, transitions, overlays, variables, and device behavior differ.Rebuild critical flows and run task-based prototype tests.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
Figma team, project, or workspacePenpot team or projectmanualDesign ownership and access first.
Design fileDestination design filetransformPreserve source ID and archive.
Page or canvasDestination pagetransformVerify order and bounds.
Frame, artboard, or boardDestination frame or boardtransformCompare hierarchy and layout.
Component, symbol, or instanceDestination component or instancetransformReconnect library relationships.
Style, variable, or tokenDestination style or tokentransformRebuild supported semantics.
Constraint or auto layoutDestination layout behaviortransformTest resize and content stress.
Prototype connectionDestination interactionmanualRebuild critical flows.
Comment, branch, or versionArchive evidencemanualResolve active work before migration.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Preserve Figma data, configuration, and operating evidence before any destination write.

  1. Export Figma files, libraries, assets, prototypes, comments, branches, users, permissions, and settings where available.
  2. Inventory file features, fonts, styles, variables, plugins, links, handoff, and integrations.
  3. Record counts by team, project, file, page, component, style, prototype, owner, and access class.
  4. Hash source files and rendered acceptance images.

Proof to capture: A signed manifest reconciles every scoped record class, runtime dependency, export file, count, and hash.

Transformation · Platform export tools and migration workbook

File and feature inventory

Disposition every file, library, prototype, font, and collaboration artifact.

  1. Inventory source values and exceptions.
  2. Define explicit destination mappings.
  3. Reject unmapped critical records.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Official importer or exporter, screenshot comparison, and task tests

Conversion and visual QA

Import supported structure and identify rendering or behavior differences.

  1. Normalize encoding, dates, identifiers, and blanks.
  2. Run a representative pilot.
  3. Reconcile accepted, rejected, and transformed rows.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Import

Visually similar files lose reusable structure

criticalpossible likelihood

Screens render while components, tokens, layout, or libraries flatten.

Consequence
Future design work becomes inconsistent and expensive.
Mitigation
Inspect structure and behavior, not screenshots alone.

Stop if: A critical design-system relationship has no destination.

Rendering

Missing fonts or effects alter approved work

criticalpossible likelihood

Text metrics or unsupported effects shift layouts.

Consequence
Design and implementation references become unreliable.
Mitigation
Provision fonts and compare rendered acceptance images.

Stop if: A critical screen exceeds visual tolerance.

Cutover

Both tools remain active design authorities

criticalpossible likelihood

Teams edit source and destination files.

Consequence
Libraries and product designs diverge.
Mitigation
Make source read-only and update every handoff and integration.

Stop if: Any unapproved source edit occurs after freeze.

06Precise timeline

Do the work in this order.

Estimate forUp to 500 files, 20 libraries, 25,000 components, and 250 users
Total elapsed20–45 business days
Active work90–175 hours
BufferAdd time for very large files, complex variables, advanced prototypes, many libraries, custom fonts, branches, or plugin-dependent workflows.
01
Days 1–3Inventory and decisions2–3 days
02
Days 3–5Backup and reconcile1–3 days
03
Days 5–12Map and pilot3–8 days
04
Days 10–20Final delta and switch1–5 days
05
Days 12–40Observe and close3–10 days
  1. Days 1–3 · inventory

    Inventory and decisions

    6–12 hours active2–3 days elapsedOwner review waiting
    • Inventory Figma data, features, users, domains, and integrations.
    • Approve scope, owners, mappings, and exclusions.

    Depends on: Figma and Penpot administrator access

    Stop / go checkpoint

    Export?

    Go when: Every critical item has an owner and disposition.

    Stop when: Consent, billing, access, or system ownership is unclear.

  2. Days 3–5 · backup

    Backup and reconcile

    5–10 hours active1–3 days elapsedExport processing waiting
    • Create immutable exports and configuration evidence.
    • Reconcile counts, totals, and hashes.

    Depends on: Approved inventory

    Stop / go checkpoint

    Transform?

    Go when: Source totals and export manifests agree.

    Stop when: Any critical dataset or configuration is absent.

  3. Days 5–12 · pilot

    Map and pilot

    10–35 hours active3–8 days elapsedDestination processing and review waiting
    • Configure Penpot and transform representative data.
    • Run a pilot containing normal records and every critical edge case.

    Depends on: Verified backup

    Stop / go checkpoint

    Scale?

    Go when: Pilot mappings, behavior, access, and evidence pass.

    Stop when: Any critical check fails or produces unexplained variance.

  4. Days 10–20 · cutover

    Final delta and switch

    5–25 hours active1–5 days elapsedDNS, import, or sync propagation waiting
    • Freeze production writes in Figma.
    • Apply the final delta, switch ownership, and run blocking checks.

    Depends on: Passed pilot and approved rollback

    Stop / go checkpoint

    Open production?

    Go when: Counts reconcile and one destination system owns production.

    Stop when: A source writer remains active or a blocking check fails.

  5. Days 12–40 · observe

    Observe and close

    3–18 hours active3–10 days elapsedOperating-cycle evidence waiting
    • Monitor one complete operating cycle.
    • Sign the verification report and close rollback only after stability.

    Depends on: Verified cutover

    Stop / go checkpoint

    Close rollback?

    Go when: No trigger occurs during the agreed observation period.

    Stop when: Data, access, delivery, routing, or business results regress.

07The point of change

Cut over with a way back.

Go live

Cutover

Make Penpot the only production system without losing the final Figma delta.

Recommended window: A low-volume weekday morning with platform, data, DNS, and business owners available.

  1. Freeze production writes and scheduled actions in Figma.
  2. Export, transform, and reconcile the final delta.
  3. Apply the approved delta to Penpot.
  4. Switch domains, forms, integrations, sending, or sync ownership as applicable.
  5. Run every blocking verification check and keep the source intact.

Proof to capture: Penpot owns production, totals reconcile, and every blocking check has durable evidence.

Return to safety

Rollback

Return production ownership to Figma without losing destination-era changes.

Deadline: Within seven days and before source data, plans, credentials, domains, or billing are changed.

  1. Stop new writes and scheduled actions in Penpot.
  2. Restore the prior Figma routing, forms, integrations, sending, or sync ownership.
  3. Export the Penpot post-cutover delta.
  4. Review and apply safe destination-era changes to Figma.
  5. Run the same blocking checks against the restored source.

Proof to capture: Figma again owns production with current data and no duplicate destination action.

Rollback immediately when
  • Unexplained critical count or value variance
  • Missing or exposed critical data
  • Duplicate production action
  • Failed access, routing, delivery, or integration check
  • A critical feature has no safe destination replacement
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingFile reconciliationCompare counts by team, project, file, page, owner, and status.Every scoped file is imported or archived.File ledger.
V-02BlockingRendered parityCompare approved screens at fixed dimensions.Differences remain within signed tolerance.Screenshot diff.
V-03BlockingLayer and layout behaviorInspect hierarchy and resize representative content.Critical structure and responsive behavior remain editable.Structure report.
V-04BlockingComponents, libraries, styles, and tokensInspect definitions, instances, overrides, and variable modes.Required reusable relationships work.Design-system report.
V-05BlockingText renderingOpen files with every font and compare text bounds.No critical missing font or layout shift.Font report.
V-06BlockingInteraction flowsRun approved user tasks through representative prototypes.Every critical path and state works.Prototype matrix.
V-07BlockingTeams and sharingTest owners, editors, viewers, guests, and public links.Least privilege matches policy.Access evidence.
V-08BlockingSingle design authorityInspect source editability, libraries, plugins, handoff, and integrations.Penpot alone owns active design work.Cutover checklist.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: One complete operating cycle, at least seven stable days, and owner sign-off on every blocking check.

  1. Create final Figma exports and archive verification evidence.
  2. Revoke temporary credentials, API keys, webhooks, and elevated roles.
  3. Remove obsolete embeds, forms, jobs, integrations, and DNS records.
  4. Keep the source intact through the approved retention window.
  5. Cancel paid plans only after billing, legal, and recovery review.
  6. Schedule the next Penpot backup, access, and migration-playbook review.
Sources and maintenance

Built to be reviewed.

Tested 2026-07-19. Next scheduled review: 2026-10-19.

  1. Penpot: switch from FigmaAccessed 2026-07-19
  2. Penpot: Figma migration stepsAccessed 2026-07-19
  3. Penpot: import filesAccessed 2026-07-19