Don’t make the mistakes I did moving your design system from Sketch to Figma

Moving from Sketch is painful, here are some things to avoid.

We set out to move our UX tools stack from Sketch, Invision, Craft and Abstract to Figma, Figma, Figma and Figma. After months of planning to replace our UX tool stack, we were finally ready to take the leap. We jumped into a boardroom on a Friday bright-eyed and rosy-cheeked imported every sketch file of every project just to realise: Oh snap our entire design system doesn’t work like it used to…

Figma (in my opinion) is by far the best design tool on the market right now in terms of features and price but moving from Sketch to Figma is not as easy as some articles would lead you to believe.

The move was painful and enlightening and frustrating and delightful, but a lot of mistakes were made and I hope this do’s and don’ts article will help other teams move their system to Figma.

Let’s start with the basics…

#1 Burn it. Burn it all. 🔥🔥🔥

Can’t seem to get to that icon

Assuming you have a mature-ish design system with many buttons, inputs, icons maybe even illustrations you might have the urge to work from the imported design system and just fix it. Don’t do that. Just. Trust Me. Don’t.

Keep the old one but create a new file, your Sketch design system will not play well with Figma’s override system, so prepare yourself for a different component override paradigm. So my advice is just to use what you can and well .. can the rest.

You can reuse your system’s old components, you just need to make sure you ungroup them, clean them up and regroup them, which leads me to my next point.

#2 Go with the flow

/ Drilling…

If you are new to Figma (which you will be) you are not gonna be able to brilliantly plan the naming architecture of your design system because well… surprise, surprise, Figma doesn’t work like Sketch.

You’ll feel tempted to use the “/” mentality in Sketch to make folders for your components. Figma’s folder system is not … very… pretty and annoying if you want to use it like Sketch. But I repeat. This is not Sketch. Rather keep your hierarchy shallow and use deeper folders only for things that you are not going to use that often.

You might ask “What if I don’t get my folder structure right from the beginning”, the answer is you won’t — but you don’t have to.

Figma has a superpower in renaming and deleting things is easy and awesome (did I mention easy??). You might start with something like buttons / button-w-icon and then realise “snap there are buttons with icons on the right and buttons with icons on the left”. So either you change your design system or your change your architecture. It doesn’t matter if you already have instances of that component in your designs, just change it. buttons / icon-button-right.

So easy… rad…

Start small with things like colours and text styles and move on to buttons and inputs and keep chopping and renaming and restructuring as you go along don’t think too much about folders and subfolders until the end when you see how it feels to use the system. You can always tweak the folders for the best experience.

Icons Folder

#3 Use global AND local components

Global System Pages

Balancing complexity in your design system is a talk for another Medium article, but to summarise think of your global design file as the individual elements that make up a design: Icons, Text Styles, Colours, Buttons, Avatars … Do not place a component like “User card” or “Search filters” in the global system if it is only used in one product.

Golden rule: If a component spans multiple products, put it in the global design system file. If it is unique to this product keep it in the local components file until it is used globally then only move it.

We call our global design system Oxygen | Core which only contains the basic elements that make up our designs system, if someone wanted to use local components from another project, they can just enable that project’s design system and if they use the component they need to move it to Core. We do this because it confines the maintenance of that component to that project and its UX designer(s).

#4 Use this neat trick

Icon Detector 9000

It’s a bit of a hack, but whatever, it works.

I accidentally discovered this when painfully replacing every icon in our design system. I was struggling to see which icons were replaced and which weren’t. When sizing the icons in the design system file I used a grid and gutters to make sure the relative sizing was right, but it had a delightful side effect — it lit up all updated icons in my current project like a Christmas tree, I could immediately see where the icons were replaced and where they weren’t.

#5 Plugins are your friends

Bulk renaming FTW

One of the most amazing parts of Figma is how you can just casually activate and deactivate plugins. Honestly, I could cry. Throughout this transition, you will face many problems like “How do I rename all of these artboards from CRM-something-something to just something-something”

There are incredible plugins built by the community, here’s a list of the ones I found particularly useful:

Instance Finder

Rename It (Take that CRM-something-something)

Image tracer

Spellchecker

P.S Don’t forget about the shortcut Shift + Cmd + P. It reruns the last plugin you ran. Super useful.

P.S.S Learn the shortcut Cmd + K for creating components from a group, it will also be useful.

#6 Do it as a team

Some designers love change, some don’t. It’s easier for your team to adopt Figma and its new quirks when you are all helping with the move and embracing learning the new override system.

There will no doubt be some person (probably you, if you’re reading this) that will take lead on it. You will need to show your team how you Figmatise a page. And have them move some of the pages, have them add icons to the global system.

Going at it alone just means nobody will feel anything about breaking your component and just making the changes they want to make. Design systems are about flexibility and should always aim to empower efficiency… but I digress.