Build Resizable Sketch Buttons with Symbols, Overrides, and Smart Layout
Use one Sketch Symbol master with Overrides for per-instance text and icon swaps, and Smart Layout for automatic resizing. A worked Button example shows how to keep consistency while letting labels change length without manual edits.
21 Aug 2026, 01:29 UTC

Buttons that look consistent but need different labels and widths are the classic reason to use a Sketch Symbol with Overrides and Smart Layout. The useful takeaway is: make one Button master, allow per-instance text and icon swaps via Overrides, and let Smart Layout resize the background automatically instead of manually stretching each instance.
How Symbols, Overrides and Smart Layout work together
A Symbol in Sketch is a reusable master. Every instance mirrors the master, so editing the master, for example changing a corner radius or fill color, updates all non-detached instances across pages. That is the consistency mechanism.
Overrides let a single instance diverge in controlled ways without breaking the link. Text content, nested symbol swaps, and image fills can be changed per instance. A Button symbol can read "Save" in one place and "Cancel" in another while still receiving master updates.
Smart Layout makes symbols resize predictably. On the master you set a resizing direction and minimum dimensions, and instances grow or shrink to fit overridden content while preserving padding. This is the standard way to build buttons and list rows that adapt to longer labels.
Worked configuration: a resizable Button component
Assumption: Sketch on macOS with Symbols, Overrides and Smart Layout available. Feature names and UI locations change between releases, so check your version dialog and release notes for current behavior.
Create the master:
- Draw a rounded rectangle for the background. Give it a fill and corner radius that represents the design token.
- Add a Text layer centered inside, for example "Button Label".
- Select the Text layer and set its resizing constraints so it stays centered with fixed margins to the rectangle edges. In Sketch this is done via pinning/resizing rules in the Inspector. The text should be able to grow, the background should follow.
- Optionally add an icon placeholder as a nested Symbol instance. Keeping the icon as a Symbol allows later override to different icons without editing the master.
Enable Smart Layout on the master:
- Select the Button group and open the Smart Layout controls.
- Set the layout direction to horizontal and choose center-out behavior so the background expands equally left and right as the text grows.
- Set a minimum width and height for the master to avoid collapse with very short labels.
Convert to Symbol:
- Select the group and create a Symbol named Button/Default. The master now lives in the Symbols panel.
Use Overrides:
- Place two instances on a page. Open the Overrides panel.
- Override the Text layer to "Save" in one instance and "Export data set" in another. With Smart Layout correctly pinned, the background width should increase for the longer label while padding remains constant.
- Override the nested icon Symbol to swap between icon-left, icon-right, or no icon, provided the replacement symbols have compatible sizes.
Library distribution:
- Place the Button symbol in a Sketch Library document. Consuming files link to the library source. Updates published from the library can be accepted per document in Preferences/Components. This is the practical distribution path for a design system.
Limits and common mistakes
Detaching breaks the link. Detaching a symbol instance makes it a normal group permanently for that instance. Prefer Overrides unless divergence is truly one-off.
Smart Layout depends on correct pinning. If layers inside the master are unpinned or have conflicting constraints, resize produces overlapping or clipped content. Verify pinning on the master, not on instances.
Nesting depth hurts maintainability. Symbols inside symbols inside symbols become hard to override and slower to navigate. Keep nesting shallow and name layers clearly for the Overrides panel.
Library updates are opt-in. Teammates can silently run outdated components if they do not accept library updates. Confirm which symbols come from a linked library versus the local document in Preferences/Components.
Platform and version variance. Sketch is macOS-only and its feature set, file format and licensing change over time. Specifics here may not match your installed release. Check the current release notes for Smart Layout and Libraries behavior.
Practical verification
- Create a Button symbol, override its text in two instances with different label lengths, and confirm the background resizes per the Smart Layout settings you set on the master.
- Edit the master's fill color and confirm all non-detached instances update immediately.
- In Sketch's Preferences/Components view, confirm which symbols come from a linked library versus the local document.
- Check Sketch's version dialog to confirm Smart Layout and Library behavior in your installed version.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.