Spend more time on creative design work. I will show you today how to automate mundane tasks like frequent artboard export with a little tool that comes with Sketch (which you can use to do even more advanced things). ( blended.io will launch two workshops: and ) Pssst: Version-Controlled Sketch for Skillful Designers & Design Teams Git for Marvellous Designers the problem Once you have build up your layouts and visual designs in Sketch, you probably have more than 1 dozen artboards. All steps involved, ie. minimising the layer tree, selecting artboards, exporting 1x, 2x and 3x separately takes too much time, especially if you keep redoing this procedure frequently. a possible solution Luckily, the guys , the creators of popular design tool Sketch, started with “the end in mind”. In fact, Sketch has a CLI (short for command line interface in the dev world) called Sketchtool. @bohemiancoding If you have Sketch installed already, skip to the next paragraph. Otherwise Sketch first and then continue with the very next step. download How to install the Sketch command line tool, Sketchtool The CLI cannot be installed as you would normally install a program. But hey, we want to learn something here, right? So, let’s tip our toes into the dev world. It will be pretty cool. A couple of things for context and understanding The Terminal app (installed on every Mac) is a simple text-based way of executing commands that windows-based apps execute in the background. Once you open the terminal window, you are basically moved automatically into the very root folder of your Mac, which is usually your Mac ‘username’ folder (same way as if you would go into the same folder through the Finder). Making the install On your Mac, in order to open the native terminal app, press CMD+Space and then enter “terminal”, hit RETURN or locate the app in the “Applications” folder. A blank window should open in which you will see something like this at the top left: or . refers to the name of your Mac and is the username of your Mac account (the one you log-in with) MBP:/ andree$ MBP:~ andree$ MBP andree To install the CLI, type and hit RETURN (keep in mind that in later version that file path above ( ) may have changed) sudo sh /Applications/Sketch.app/Contents/Resources/sketchtool/install.sh /Applications/… If asked for your Mac account password, enter it (the same as you log-in to your Mac). Note: You will not see each character written out visually You should now see a text output like this (as of version 3.8.1): Screenshot 1: After installing Sketchtool. Once that is done, type in in terminal and hit RETURN. You should see exactly what is shown below. sketchtool Screenshot 2: Sketchtool is successfully installed and shows what commands can be executed. The Sketchtool is now installed and you can use it from any folder on your machine. Let’s start with the cool stuff! Save time with Sketchtool on a day-to-day basis You will need The terminal app A Finder window of a current project A file with more than 4-5 artboards within that project folder (Finder may not show the file extension ) .sketch .sketch : Hit me up on if you have a question via Note Twitter @andreehuk Having a terminal window open, a blinking cursor indicates that you are basically “sitting” in some folder on your Mac. You can use the command to switch to other folders. stands for the name of the folder that is shown in Finder. Now, in order to keep this very simple and straight forward, the Mac offers a trick for non-developers to easily switch between folders in terminal: cd %folderName% %folderName% Type and add a space cd Go to the Finder and locate the folder of a current project so that you see the folder name in Finder, do not yet open that folder Drag the folder over into the terminal app, the folder path will then auto-complete Hit RETURN to open that folder in the terminal window Screenshot 3: Click and drag that folder item over into terminal. Screenshot 4: I have dragged over the folder into terminal, the folder path appears after _cd_ . Screenshot 5: After hitting RETURN, I am now located in “test-project” as shown at ‘MBP:test-project andree$’. : Whenever you see , that basically implies that whatever follows is a command to be typed in . Note $ Terminal In Terminal, hitting cursor-up will show the previous command. Pro Tip: By executing , the terminal will reply by showing help about , for example: sketchtool Sketchtool Export artboards Export layers Export pages Export slices The command to export (default: directory where the file is located) all artboards is as follows: .sketch $ sketchtool export artboards %fileName% Replace with the name of your Sketch file, in my case: %fileName% $ sketchtool export artboards layouts.sketch The previous command will export all artboards in 1x (default) and will list each name in terminal. : If you want to type in a file or folders, type the first character and hit TAB. Terminal will auto-complete the filename. If you have >1 files that start with the same first letter, terminal does not do anything because it does not know what file you meant. Just keep on typing the next character and hit TAB again. Voilà. Pro Tip What about exporting 2x or 3x? Yes, that is also possible. Type: $ sketchtool export artboards layouts.sketch --scales=2x $ sketchtool export artboards layouts.sketch --scales=3x You can change the or for any number, Sketchtool automatically adds the scale to the end of the filename. Awesome. I have myself not tried anything above as that already took ages to export. 2 3 10 If you do not want the artboard to be exported within the artboard dimensions but only objects that sit on those artboards, you can run the command below. It will trim all artboards down to the smallest rectangle possible, sort of like double-clicking a layer in Photoshop (which then sets the marquee around objects in the document). $ sketchtool export artboards layouts.sketch --trimmed=YES If you would like artboards to have a background color, simply run: $ sketchtool export artboards layouts.sketch --background=white You can substitute for other colors, like or else. In fact, Sketchtool exports artboards with any background color you want, but it has to be described in HEX code, see . white black this You can combine commands for , or else. Pro tip: --scales --background Exporting all artboards at once In order to save even more time, I have written a super lightweight script ‘e.sh’ that exports all artboards in 1x, 2x and 3x with a transparent background (default). Download the script and copy it into your Sketch project folder (either through terminal or Finder). here Once the script is in your project folder, simply run $ sh e.sh %fileName% I have kept the script name short for the purpose of less typing. Exporting all artboards at once on steroids Pro tip: If you do not even want to add the filename to the command every time, open the script in any editor like TextEdit or through terminal (command below) and exchange with your filename. Granted that you are in the project folder in terminal, you can simply run the following command to export the artboards in 1-3x for the current project. If you have >1 file, simply open the script and copy+paste the Sketchtool commands and change the filename accordingly. $1 .sketch .sketch We at are incredibly excited and passionated about the potential innovative leaps for software design and engineering in fintech, investtech and industry 4.0. Thanks for reading. blended.io Get in touch! Stay on the edge about innovation, experience design or engineering! No spam and . Get hands-on articles worthwhile content only ( blended.io will launch two workshops: and ) Pssst: Version-Controlled Sketch for Skillful Designers & Design Teams Git for Marvellous Designers Originally published at blog.blended.io on February 20, 2017.