Documents you open with this update will be incompatible with older Sketch versions — this may affect anyone you share documents and collaborate with. This update requires macOS Sonoma (14.0.0) or newer.
A new look for macOS Tahoe
We've given Sketch a complete redesign for macOS Tahoe. It's focused, consistent, and most importantly, more functional. There's an all-new contextual toolbar, a cleaner layer list, and we've redrawn every single icon (over 600 of them). You'll see a few subtle uses of Liquid Glass, too.
An all-new Inspector
We've redesigned and rebuilt the Inspector from scratch. Freely movable panels replace most of the previous popover menus. The new color panel makes variables more accessible. Inputs and sliders are easier to work with. Prototyping controls are now also in their own panel, rather than an Inspector tab.
A more focused layer list
A new, optional focus mode filters items in the Layer List to show only siblings and the parent container(s) of the layer(s) you've selected. It also collapses containers and groups automatically. There's also new iconography and path lines to make Layer List cleaner and hierarchy easier to understand.
Wrap for Stack layout
You can now set items in a stack to wrap when their combined height (for vertical stacks) or width (for horizontal stacks) exceeds their container's fixed dimensions. You can also choose how items that wrap align.
Background removal
You can now remove backgrounds from images using two new tools: one for images with objects in the foreground, and another for images with people. Both use Apple's on-device, machine learning frameworks.
Nested folders
Projects and Collections are now nested folders — giving you even more flexibility over how you organize your Workspace. You can also nest folders as deep as you like and they'll inherit the permissions of their top-level folder. Note: During the beta, this will only be available on the Mac app. In the web app, you'll see any nested folders as single-level Collections within Projects.
Improvements
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.
- When you add a stack layout to a single text layer, we now give the stack itself some padding and a fill color, giving you an instant button-like design.
- 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, Graphic, Slice, and Hotspot 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
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've removed the Slice and Hotspot options from the Layer List filter, but you can still filter for all Exports and Interactions, which includes these.
- 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 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
- Previously, Symbols you marked as not available to insert wouldn't appear in the Symbol swapping popover — even if they were available to override. We've renamed the "Available as override" checkbox to "Available to swap", and Symbols you've enabled this setting for will be available for both swapping and overriding, but won't appear in the Command Bar's Symbols mode.
- 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
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.5x wouldn'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
- Adds support for the Image Background Removal feature
- Adds support for Wrapping Stacks via
StackLayout.wraps, StackLayout.alignContent, and StackLayout.crossAxisGap properties
- Introduces
SymbolInstance.expandedLayers as 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.color a writable property
- Adds
Swatch.getLibrary() and Swatch.syncWithLibrary() functions
- Adds
StackLayout.AlignItems.Stretch option for aligning items within Stacks
- Fixes an issue where text layers created with
new Text({ style: ... }) would have an unexpected default border
- Fixes
SharedStyle.styleType to return an actual effective style type
- Fixes
StackLayout.gap to accept non-integer values
- Fixes an issue where
find('Frame') and find('Graphic') wouldn't find any symbols
- Deprecates
Blur.isCustomGlass