The SSHOW Figma plugin connects your two design surfaces. Hand a Figma layout to SSHOW to add motion and interactivity, or bring a finished SSHOW project back into Figma to keep iterating. It runs entirely inside Figma — your files never leave your machine.
Note The plugin requests no network access. Every conversion happens locally inside Figma, so nothing about your design is uploaded anywhere.
View SSHOW on FigmaTwo directions
The plugin adds two commands to Figma's Plugins menu — one for each direction.
Getting started
From opening the plugin to your first round trip.
-
1
Open the plugin
In Figma, run Plugins → SSHOW Figma Plugin, then pick Export to SSHOW or Import by SSHOW.
-
2
Pick your scope
For export, select the frames you want — or switch to All on page to take every top-level frame.
-
3
Run the conversion
Choose a file name and click Download .sshow, or drop a .sshow file and click Import to Figma.
-
4
Keep working
Open the .sshow in SSHOW to add motion, or keep editing the rebuilt frames in Figma — then send it back the other way.
Export to SSHOW
Export converts top-level Figma frames into SSHOW scenes, preserving layout, type, and styling as faithfully as each feature allows.
- Scope — export only the frames you've selected, or switch to All on page to include every top-level frame at once.
- File name — name the download; SSHOW opens the resulting .sshow exactly as a native project.
- Frames become scenes — each top-level frame is one scene, and the first frame's size sets the project's canvas size.
Tip Group what belongs together inside frames before exporting. Only top-level frames become scenes; loose objects on the page are skipped.
Import by SSHOW
Import takes a .sshow project and rebuilds it as editable Figma nodes — handy for reviewing, remixing, or printing a SSHOW deck with Figma's own tools.
- Choose a file — click the drop zone to pick a .sshow, or drag the file straight onto the panel.
- Columns per row — set how many scenes sit side by side before wrapping to a new row, so large decks stay tidy.
- Scenes become frames — every scene is recreated as a native frame with its objects, ready to edit in Figma.
What converts
The plugin maps each Figma node to its closest SSHOW object, and the other way around.
- Frames → Scenes
- Top-level frames become scenes, and their background fills become the scene background. Components, instances, and component sets come across as frames too.
- Rectangles & ellipses
- Map to SSHOW's rectangle and circle objects, with corner radius and arc data preserved.
- Text
- Keeps the string, font, size, line height, alignment, and spacing wherever the font is available.
- Images
- Image fills and image-backed rectangles carry across as embedded image objects.
- Vectors, lines, stars & polygons
- Become SSHOW path objects, so custom shapes keep their outlines.
- Groups
- Containers and groups come in as SSHOW groups and frames, with their clipping preserved.
Fidelity & limits
Most things convert cleanly, but the two tools don't support exactly the same features. Here's what to expect:
- Gradients
- Linear and radial gradients round-trip both ways. Angular and diamond gradients import from Figma faithfully, but on the way back to Figma they're flattened to their average color.
- Strokes
- Solid and gradient strokes carry their weight, caps, joins, and dash pattern.
- Effects
- Drop and inner shadows and layer and background blurs map across; effects beyond those are skipped rather than approximated.
- Variables
- Colors bound to Figma variables (design tokens) are resolved to their real value, library variables included.
- Fonts
- A font that SSHOW or Figma can't load falls back to a default face, which can shift line breaks.
- Video & audio
- Video and audio objects have no Figma equivalent, so on import they come in as labelled placeholder frames; re-add the media in SSHOW.
- Motion & interactivity
- Figma is a static canvas, so animations, transitions, and interactions don't come across on import; keep the .sshow as the source of truth for anything that moves.
- Anything else
- A node with no faithful equivalent is rasterized to a PNG, so it still looks right even if it's no longer editable.
Note Because the plugin is in beta, treat a conversion as a faithful starting point rather than a pixel-perfect copy. A few node types have no structural equivalent — boolean shapes, for one, come across flattened to an image — so keep the original on each side as your source of truth.