Work in Figma branches without losing your Ditto links, variants, or collaboration setup. Ditto maps one project to an entire Figma file, including all of its branches, so your team can iterate freely in branches while keeping everything connected to the same text items and components.
How it works
If your Figma file is already connected to a Ditto project, you can link a branch of that file to the same project. Open the Ditto plugin in the branch file and enter the branch's Figma URL. The plugin links the branch file to the project automatically, so you don't need to relink text layers, recreate text items, or set up a separate project.
Text edits you make to text items in a branch file are scoped to that branch. They won't overwrite text in the main file until you merge the branch file via Figma.
This extends for instance tracking as well. Figma instances of your text item are tracked separately by Ditto across branch and main files
Metadata fields changes such as changing status, assignee, developer ID, tags, or notes propagate across all branch files and the main file
Opening a branch in the Ditto plugin
Open the Figma branch file you want to work in and launch the Ditto plugin
Share the file link for the branch file
The plugin automatically connects this branch file to same Ditto project connected to the main file
Let a full plugin sync run for the first time after linking a branch file to Ditto so that all the linked text nodes in the branch file can be correctly linked to their existing text items.
đĄ If the plugin doesn't recognize the branch, confirm the main file is already linked to a Ditto project before branching
What's supported in a branch
All core Ditto plugin features work inside a branch file:
Linked text items: text layers linked in the main file stay linked in the branch
Conflict resolution: conflicts are tracked and resolved separately for branch files
Applied variants: variant assignments carry over and can be changed per-branch
Auto-linking: new frames are auto-linked the same way as in the main file
Link matching suggestions: Ditto surfaces match suggestions for unlinked text layers
Magic Translate and Suggestions: you can generate translations and accept style guide suggestions in branch files
Branch-specific change items: branches track text edits for text items separately from the activity log tracked for main files
Whatâs not currently supported in branch files
Plural edits: adding plurals to text items in a branch file is disabled
Magic draft: Magic draft is disabled in branch files
Instance splitting: splitting off a text item instance in a branch file is currently disabled
Adding/removing a variant, for a text item: You can only add or remove variants to a text item using plugin in main file
Merging a branch back to main
Merging is handled in Figma, not in Ditto. Ditto explicitly supports Figmaâs intended workflow with branchesâ you can iterate on a branch independently, and only merge those changes in when youâre ready to delete the branch.
When you merge your Figma branch:
Text changes from the branch propagate to the main file's frames
Ditto reflects the updated text in the main file after the next sync
Alternatively, you can pull in changes from the main Figma file into the branch file. This is also entirely managed via the Figma UI. The Ditto plugin simply acts as a supporting tool in this regard, keeping your text layers synced when either merging into main, or pulling into branch.





