Why a simple idea took years to ship
Every so often, a feature ships that makes you wonder how you ever worked without it. Multi-edit is one of those features. It changes how you edit multiple objects across Figma, and once you have it, it feels like it has always been there. But getting to that point took years of iteration, several false starts, and a fundamental rethink of how selection in a design tool should work.
Vice President of Product Sho Kuwamoto and Product Designer Nikolas Klein recently walked through the long road to multi-edit and why building features that feel second-nature should be a first-order priority.
Quick shortcuts to try multi-edit
- ⌘ Command + ⌥ Option + A to select all matching objects.
- Shift drag to select specific matching objects.
- Select multiple text objects and hit enter to multi-edit text.
- Select a component set and hit Q to enter multi-edit mode for variants.
A 2019 idea that wouldn't die
The idea for multi-edit first surfaced in 2019, during the design of the variants feature. Figma had cleared calendars for a two-day design summit to work through the thorny issues around variants, and one of the central problems was the sheer amount of repetitive editing variants demanded. The team tossed around mechanisms to streamline that work, but nothing felt right.
Then came a simple insight: what if you could enter a mode where edits applied to all variants at once? And wouldn't you want that capability elsewhere too — editing a bunch of designs in one pass whenever you needed it? The team sketched it on a whiteboard and called it multi-edit.
That was the easy part. From there, the idea went into hibernation. Coding couldn't start immediately because the core concepts weren't worked out, and the answers that seem obvious in hindsight were far from obvious at the time.
What Figma already had — and where it fell short
The team initially thought of multi-edit as a powerful new mode, similar to multi-cursor editing in an advanced text editor. But once they tried to pin down how it would actually function, they hit a realization: Figma already kind of allowed multi-editing by selecting multiple objects. The problem was that the existing approach had two gaps:
- It was hard to select exactly what you wanted to edit.
- Once selected, some edits didn't work well.
Changing the color of multiple objects was easy, but resizing them was hard. Changing the font or size of multiple text nodes was easy, but changing the text itself wasn't. So the team stopped thinking of multi-edit as a mode and started asking a more fundamental question: "How should selection work anyway?"
Practical software development realities also pushed the feature down the roadmap. No matter how good an idea is, other work often has to come first. So the multi-edit idea stewed for a long time.
An unstructured spiritual cousin for components
Despite the long delay, the idea never lost traction internally. That persistence came from a design philosophy: Figma's job is to help people make changes quickly, whether or not they've structured their files ahead of time.
Almost every feature for structuring a file has a "free-spirited" counterpart for loose, unstructured work. Styles and tokens let you change colors quickly, but the selection colors feature covers unstructured cases. Auto layout stacks and moves objects, but smart selection handles quick reordering when you don't want structure. For editing, components let you change multiple copies of an object at once — but there was no unstructured alternative. The options were copy, paste, and clicking a hundred times. Components needed a spiritual cousin, and that was multi-edit.
The idea had internal champions, including Tom Lowry, Director of Advocacy at Figma. Klein prototyped a version during one of Figma's Maker Weeks, and Kuwamoto built another with Software Engineers Naomi Jung and Joanna Chen. Each experiment deepened the team's understanding of what needed to be built and how it had to integrate with the rest of the tool.
Reshaping Selection Mechanics
When the team finally picked multi-edit back up in 2023, the first obstacle was the fundamental way Figma handled selections. Like most design tools, Figma drew a single aggregate bounding box around all selected items, treating them as if they were grouped. That works fine when everything lives in the same frame, but it falls apart when you need to interact with objects across multiple frames or variants. Resizing a logo that appears across every screen in a design meant repositioning and rescaling everything relative to one giant box, rather than letting each object stay in context.
The proposed fix was initially a dedicated "multi-bound mode" that would change how selection bounds were drawn, allowing for relative edits across hierarchies. After significant back-and-forth, the team realized that a new mode was treating a symptom. The better path was to change the default selection behavior for every user, rethinking how editing worked across Figma entirely.
That insight was only the beginning. Widening the scope meant discovering a web of interdependencies between selection mechanics and nearly every other operation in the editor. The initial instinct was to draw individual bounding boxes around every single object, even within the same frame. That proved to be too disruptive—traditional selection mechanics have served designers well for decades. The middle ground is what shipped: showing multiple bounding boxes for each set of objects selected at different levels of the design hierarchy.
Aligning Relative to Frames
With multiple bounding boxes in play, every potential action needed to behave correctly within its own hierarchy. The team catalogued every task that requires object selection and adjusted each for multi-edit. The most visibly broken behavior was aligning elements across frames. Selecting items across horizontally arranged frames and aligning to the left or right would move objects to the same canvas position, stacking them or pushing them out of their original frame entirely.
The solution was to make alignment relative to each frame. Aligning elements now takes the smallest value in the direction you're aligning to and applies it to all objects relatively within their own frames. There's a special case for aligning objects on the canvas itself—those still align relative to the closest object inside a frame, preserving existing workflows for that context.
Selecting Matching Layers
With the core mechanics working, the focus shifted to helping users get into a multi-edit state faster. The team looked at how designers repeatedly duplicate frames with the same layers and applied the matching rules from smart animate and the selection behavior from component properties to introduce "select all matching layers" (⌘ Command + ⌥ Option + A) across the entire editor. Some users had already discovered similar functionality in specific contexts and wondered why it didn't apply more broadly.
Selecting every match immediately proved to be too aggressive. Users frequently want to edit only a subset of duplicated frames. The refined behavior adds a shift-hold option: pressing shift while dragging highlights all matching layers, and users can drag to select only specific matches. This works only when the drag starts outside of a frame; starting a drag inside a frame preserves the previous behavior of adding or removing individual objects from the selection.
A Mode for Variants
The origin of the whole effort was editing variants. Managing variants often calls for editing all of them at once, which multi-edit now supports. But for that use case to feel fluid, the team found they needed a way to stay in that editing state. Even though the conceptual breakthrough was treating multi-edit as a default behavior rather than a mode, a mode proved necessary for variant workflows. Bulk actions like selecting the next element or creating a button label text layer across all variants at once benefit from a dedicated space where that state persists.
Beyond Selection
Changes to selection mechanics surfaced other opportunities for refinement. The project also led to a set of subtle visual and behavioral polish items that shipped alongside the core functionality.
The Weight of Launching
Sho Kuwamoto, VP of Product on the Figma editor, notes that multi-edit has the longest gap between initial idea and launch of any feature in the company's history. The years of iteration made the feature feel less like a feature and more like part of the environment. Internally, the team stopped noticing it—until switching back to the production build, where the inefficiencies of old selection mechanics immediately stood out.
That comfort brings its own anxieties. The team changed many subtle behaviors and knows there's a risk they've made something worse for someone with a particular workflow. Extensive internal testing helps, but there is still apprehension about making deep changes to a tool millions of people depend on daily.
The discovery process hasn't stopped. The change to alignment across frames, for example, came together just weeks before launch. The expectation is that more opportunities for refinement will surface once users get their hands on the feature.
You can explore the new selection and editing behaviors in the multi-edit playground file.



