Nesting Symbols in Sketch

Nolan Schneiderman
King Tide
Published in
4 min readDec 10, 2018

Nesting symbols in Sketch is a dynamic workflow that saves time, creates consistency throughout your designs, and most importantly puts you in the mindset of a developer.

At King Tide, we’ve found it’s easier to communicate the functionality of web and app designs to our developers when portions of the design are broken out into Components. Components are repeatable elements of your design like headers, navbars, submission forms, blog articles, etc.

By using symbols and nested symbols in Sketch you can easily show different states of components with just a few clicks. And when you have feedback to implement you can simply edit one Symbol that will be reflected across all instances of that component.

This workflow may not be news to some of you, but there is value in utilizing the workflow early and often to make sure your designs are consistent throughout the design process and that you are thinking in terms of components. For those of you that are new to this workflow, read on for a comprehensive step by step process.

In this example, we know we‘ll create sidebar menu on our desktop site that will be utilized on every page. Each menu navigation item will have an icon and text.

Create a wireframe version of a sidebar menu item you’re happy with. This menu item has a text area, icon area and is grouped in a container (the larger gray box). We’ll likely make the container opaque, but for now, it helps us keep spacing consistent and will later determine UI interactions like hover and click area. Group the Container, TextBox, and Icon Container and click “Create Symbol.”

Nav Icon > Nav Menu Item > Sidebar Nav

Then, in the newly created symbol select the icon container (smaller box) and click “Create Symbol” again. This is nesting symbols. We have the Sidebar Nav Icon nested within the Sidebar Nav Menu Item, nested within the Sidebar Nav.

I’ll copy/paste the Menu Item because this site has 3 pages to navigate to. When you select a Nav Item within the Nav Bar, Sketch will give us “Override Options” on the right-hand side of the app.

Now that the wireframes are set we can further design each Nav Item without having to copy/paste/adjust 9 different layers.

With two clicks I’ve adjusted the text and made the container opacity 0% in 6 different instances.

(Thinking ahead, since the container is part of the design we can also specify that we’d like the container to be 10% opacity when selected/hovered etc.)

Let's dive further into the power of nesting! I found three icons (with Icondrop) that I want to use to represent the page titles. Earlier, we determined the size of the icons with a 30x30 pixel square, so each new symbol we create must also be 30x30 px. We have Soccer Ball, Volleyball, and Baseball icons.

When I go back to the Sidebar Menu Overrides section, I now have options to replace the square with any 30x30 symbol with the click of a button.

Now we have this awesome sidebar and I didn’t have to go through the pain of copy/pasting and making sure the space and sizing of each item is consistent after the fact. My file is neatly organized and coherent for the developer to go through. In addition, when the client asks for changes, I can adjust 1 to 2 items in my file instead of 9 items.

Think about other ways you can take advantage of nested symbols like pages that call for lots of images, complex tables, or other components like tabs and drop downs.

--

--