- Mac app
- Web app
- iOS app
Copenhagen (2025.3)
Our third — and final — major update of 2025 is here. It brings a fresh design with an all-new Inspector, wrap for stacks, one-click image background removal, and more flexible way to organize your Workspace.
We’ve named this release Copenhagen — a city famous for its beautiful, functional design. And that’s exactly what we’ve aimed to bring with this update.
An all-new design
When Apple announced macOS Tahoe, we knew we had to redesign Sketch. We also knew that redesign had to be more than a fresh coat of paint — it had to improve functionality.
In Copenhagen, the toolbar is contextual and automatically adapts based on your selection and tool choice. The layer list has a new focus mode to show only layers you’ve selected and their relevant context.
The new Inspector isn’t just a redesign, either — it’s a full rewrite. It introduces floating panels for things color and color variable selection, numeric fields you can drag to scrub without focusing, and alternate functions when you hold ⌥.
There’s a lot more to talk about this redesign, and we’ve got a full guide to every detail over on the blog.
Blog post: A guided tour of Copenhagen
Stacks now wrap
A much-requested feature since we launched Stacks earlier in the year. You can now set horizontal or vertical stacks to wrap when their contents exceed the fixed height of width of their container.
Naturally, you get alignment options for those items wrapping over multiple rows or columns. This one opens up a whole new world of layout possibilities and we’re excited to see what you do with it.
One-click background removal
You can now remove the background from any image in Sketch in one click. We have two options for this — one better suited for people, and another for objects.
We use Apple’s on-device machine learning for this. We don’t send your images off to any external server or third-party for processing.
More flexible folders
Projects and Collections in your Workspace are now simply called folders. And unlike projects and collections, you can nest folders infinitely, giving you the freedom to organize your Workspace however you want.
Nested folders will always take on the permissions of their top-level parent folder. Everyone who shares your workspace will need to update to Copenhagen to see nested folders.
Improvements (15)
Containers and layer sizing
- You can now resize any layer to fill its parent with a new “Size to Fill” action. You’ll find this under the Layer Menu. You can also resize just the width or height to fit or fill — you’ll find options for these in the Width and Height submenus in the Layer menu. All of these actions are also available in the Command Bar. Finally, you can Option-double-click on a layer’s selection box to resize it to fill.
- The Frame and Graphic tools now remember their own last-used dimensions separately. This makes it easier to click-to-insert different types of containers at consistent sizes.
- You can now press ⇧-Arrows to move a stack item to the start or end of the stack.
Rendering and performance
- Opening a document is now up to 5x faster than it was previously.
- We’ve improved the accuracy of spreading shadows on some complex shapes.
- Frames that clip their contents now better prevent fills from bleeding through any foreground content around their edges. This applies unless a frame’s fill has a blend mode that suggests blending with other layers is intentional.
- We’ve improved CSS export with support for size, visibility, and blend mode properties. Corner radius output now uses CSS shorthand when possible for cleaner code, and multi-layer copying includes layer names as comments for better organization.
- We’ve improved Sketch’s performance when you open larger documents.
Interface and navigation
- We’ve added Frame and Graphic as filter options in the Layer List. We’ve also split the Symbol option into two: Source and Instance.
- The “Hide All Grids And Layouts” action (available in the Command Bar) now hides grids and layouts in nested frames, not just top-level ones. There’s also now a menu item for this action under View > Canvas.
- We’ve moved the Rotate Copies controls from a sheet to a panel, meaning you no longer have to decide how many copies to make in advance. Now you can tweak your rotated copies as much as you like.
- You can now rotate layers by 90º via new buttons in the Inspector. Hold ⌥ and hover over the Flip Horizontally / Vertically buttons so they change to Rotate Left / Right. You’ll also find these actions in the Layer > Transform menu and the Command Bar.
General
- You can now copy links to individual frames in a Workspace document to share and view in your browser. You’ll find a button to copy a frame link next to the Frame heading in the Inspector when you have a frame selected. You’ll also find options for this in the contextual menu and Command Bar. There’s also a button to copy a link to a specific page next to the Page heading in the Inspector when you have nothing selected.
- You can now use ⌘E to export layers without existing export presets. This marks the layer as exportable and opens the export presets panel. For existing layers, this shortcut continues to open the export dialog.
- We now remember your last-used corner style (e.g. rounded, smooth, etc.) and use this as the default when you insert a new layer. For shapes where you’ve set your own default style that uses non-rounded corners, we’ll respect and use that instead of the last-used style.
Changes (12)
Interface and menus
- The prompt to convert groups to frames will now only show once per document, and we’ve removed the respective preference for this from Settings. You can still find this action via File > Convert Groups to Frames, and in the Command Bar.
- We no longer support Touch Bar controls.
- The Canvas pane no longer exists within Document Settings. You can continue to change your document’s color profile from the Inspector when you don’t have any layers selected.
- The Fill Rule options (Even-Odd and Non-Zero) no longer live in the Inspector. You’ll find them in the Layer > Style menu and the Command Bar instead.
- We’ve renamed the Alpha Mask effect to Fade, which you can find in the Inspector under Effects, or in Layer > Style > Add Fade. This doesn’t affect the mask mode for layers used as masks, which remains unchanged as Layer > Mask > Mask Mode > Alpha Mask.
- We’ve removed the option to stop other collaborators in your document from following your cursor.
- We’ve removed the “Replace Image with Fill” checkbox from the Inspector on image layers. It’s now available via the Layer > Image menu as well as the Command Bar.
- In the Save Document Version dialog, ⌥ Enter now creates a new line in the version description field. To save the version, you can simply press Enter.
Symbols and containers
- When you drag a layer into a frame or graphic that’s smaller than it, we now move/place that layer inside that frame or graphic.
- You now have more control over whether symbol sources are available to insert as an instance or swap as an override. Previously these two options were combined as “Available to insert”, but we’ve separated them into “Insert & Swap” and “Swap”. This can be handy for hiding symbols you might not want insert, but do want to swap to. You’ll find these options in both the Inspector and Components view.
General
- We restored the behavior where we remember the last text style used across any document, not just the current document.
- The AEUX plugin is no longer compatible with Sketch.
Fixes (14)
Interface and menus
- Fixes a bug that meant the Add Shadow, Add Inner Shadow, and Remove Unused Styles actions in the Layer > Style menu didn’t work in frames or graphics.
- Fixes a bug that unexpectedly changed the frame you were previewing in the prototype player when you cleared your selection.
- Fixes a bug where a new hotspot you added wouldn’t default to your last-used animation type, as adding other interactions does.
Rendering and display
- Fixes a bug where pin constraints and auto-pin foresight overlays would ignore the rotation settings of a parent frame and appear incorrect on the canvas.
- Fixes a bug where offsetting a layer’s path could produce incorrect results, especially for small layers.
- Fixes a bug where assigning a new color space to a document could leave some layers temporarily displaying the wrong color.
- Fixes a bug where color overrides appeared incorrectly in P3 documents.
- Fixes a bug where part of a shadow on the Canvas could sometimes render with the wrong color.
General
- Fixes a bug where inserting images with filenames ended in
…@1.5xwouldn’t resize them to their logical size. - Fixes a bug that meant replies would remain unread on comment threads you resolved. We now mark them as read.
- Fixes a crash that occurred in macOS Tahoe when you exited the vector editor while simultaneously dragged points on a path.
- Fixes a bug where Glass settings wouldn’t adjust when you scaled a layer.
- Fixes a bug where adjusting a Mirrored point could unexpectedly switch to be a Straight point instead.
- Fixes a bug that caused the corner radii of layers within a combined shape to change unexpectedly when you edited that combined shape’s styling.
API (13)
For a full guide to the API changes in this update, check out our developer documentation.
- Adds support for the Image Background Removal feature
- Adds support for Wrapping Stacks via
StackLayout.wraps,StackLayout.alignContent, andStackLayout.crossAxisGapproperties - Introduces
SymbolInstance.expandedLayersas a new way to traverse symbol hierarchies - Introduces
SymbolInstance.overridesForExpandedLayer()as a new way to discover available symbol overrides - Adds support for working with Color Variables in fills, borders, shadows, tints, gradients, text layers, and symbol overrides
- Makes
Swatch.colora writable property - Adds
Swatch.getLibrary()andSwatch.syncWithLibrary()functions - Adds
StackLayout.AlignItems.Stretchoption for aligning items within Stacks - Fixes an issue where text layers created with
new Text({ style: ... })would have an unexpected default border - Fixes
SharedStyle.styleTypeto return an actual effective style type - Fixes
StackLayout.gapto accept non-integer values - Fixes an issue where
find('Frame')andfind('Graphic')wouldn’t find any symbols - Deprecates
Blur.isCustomGlass
Requires macOS Sonoma (14.0.0) or newer

