VOOZH about

URL: https://bjango.com/articles/icondesignworkflow/

⇱ My icon design workflow


Apps Articles Help Contact

My icon design workflow

Here’s some tips for creating icons — anything from a single colour pictogram to a highly detailed app icon.

👁 Image

There’s quite a few details my app design workflow article doesn’t cover, specifically relating to icon design. Icons are often where design software is pushed, making full use of vector abilities, masking, and constructive solid geometry. It is for those reasons that icons often require different tools and techniques.

Creation vs styling #

I think it is important to separate vector path creation from styling, because the two main tools I use — Photoshop and Illustrator — have vastly different abilities and strengths.

Photoshop’s rendering quality and masking abilities surpass pretty much all design tools, but Illustrator has better and more versatile vector tools. There really is nothing I’ve used that comes remotely close to Illustrator, for icon path creation.

Thankfully, jumping between the two apps is pretty seamless, so that’s what I do. Quick and simple jobs are often built directly in Photoshop, but icon sets or anything complex is created in Illustrator, then moved across to Photoshop for styling by pasting shape layers.

Illustrator for creation. Photoshop for styling and export.

Dimensions #

For icons where you have control over the size, the style and line width of your icons should help dictate dimensions. This is because many icons will require a centred line, and you can’t centre an odd width line on an even width icon. Conversely, you can’t centre an even width line on an odd width icon.

👁 Image

If you’re using an even line width, your icons should be even width × even height. If you’re using an odd line width, your icons should be odd width × odd height.

And if you can, never mix even and odd dimensions (unless you’re feeling crazy and are using a different line width on each axis).

Avoid using high DPI pixels to solve this — using a 1pt (or 1dp) line width and an odd point width icon might seem ok if your primary focus is on Retina devices, but it’ll just create a headache for for the 1× and 3× densities.

Your life will be far easier if you consider whole points to be the basis of your grid, and avoid fractional positioning. This means all initial work should be done at 1×.

macOS app icons #

Using a coarse grid can help with app icons. macOS’s app icon sizes are all exact multiples, so it’s possible to use the 16×16 pixel version of an icon to determine the main object positioning for a 1024×1024 pixel icon. This makes building all sizes far easier. Except for the tiniest versions, you may not need specific size tweaks.

👁 Image

Apple’s icons don’t quite hit that grid. For some strange reason, they’re a couple of pixels off — Safari’s icon diameter is 898 pixels, rather than being 896 pixels and aligning to the 1/16th grid perfectly.

👁 Image

Given the benefits, I’m ok with my circular icons being slightly different to Safari, iTunes and other Apple icons. We’re only talking about 2 pixels on a 1024 pixel icon. Hitting the grid is far more important. It makes me wonder why Apple chose the size they did though.

iOS app icons #

iOS app icon size don’t all correlate like macOS icons do. That makes life a little harder. Here’s the full list of pixel dimensions needed today (an even better list can be found in our Bjango App Icon Templates help).

  • 29×29
  • 58×58
  • 60×60
  • 76×76
  • 80×80
  • 87×87
  • 120×120
  • 152×152
  • 167×167
  • 180×180
  • 1024×1024 (App Store)

👁 Image

There’s currently 11 sizes required. Starting with the 60px 1× iPhone home icon will let you scale up to 120px and 180px without the need to adjust positions of your artwork. Resisting the urge to initially build at higher fidelity can save loads of time, and help create better, more maintainable work. 1× is awesome. You can always jump to 2×, 3× or 4× when you’re ready to fine tune.

Except for specific situations, I’d recommend avoiding Smart Objects, due to the way they scale.

Start with Illustrator #

Apart from being able to work to a 1× grid while viewing full fidelity vectors, Illustrator contains many features that simply don’t exist anywhere else. Many features I wouldn’t want to live without. That’s why I use Illustrator as the starting point for most icons.

Snapping settings #

I don’t love Illustrator’s pixel snapping behaviour, but turning on View → Snap To Grid and turning off Align New Objects to Pixel Grid gets it pretty close to ideal. That second option can be found in the New Document window, and the fly-out menu of the Transform panel, for existing documents.

👁 Image

If you need to make some sub-pixel adjustments, the move window can be used (Object → Transform → Move, or pressing enter opens it).

👁 Image

Custom tool panel #

Recently, I’ve been experimenting with using a custom tool panel to remove tools I don’t use very often, and expose tools that are normally behind popup menus.

👁 Image

Pathfinder #

If you’re trying to add, subtract or exclude shapes (often referred to as boolean operations or constructive solid geometry), Illustrator’s Pathfinder is one of the best executions of the idea in any vector editor.

Of Pathfinder’s abilities, I love Divide the most — It cuts shapes into pieces so each overlapping region is a unique path, making it easy to discard unwanted portions.

👁 Image

Shape Builder #

Shape Builder is newer than Pathfinder, and often faster to use. With some separate, but overlapping shapes and the Shape Builder tool selected, drag to combine, option-drag to subtract.

👁 Image

⇧M selects the Shape Builder tool.

Dynamic round corners #

Illustrator CC 2014 added dynamic round corners, which appear as small handles in all corners. Dragging the handle increases corner radius. This works for all shapes, not just rectangles.

👁 Image

Dynamic round corners allow for creation of shapes that would be difficult or time consuming otherwise. Like many of Illustrator’s other features I love, it’s more about the convenience than anything else.

👁 Image

If you need more accuracy — and of course you do — exact corner radius values can be entered using Illustrator’s control bar.

👁 Image

Warp #

Warp and Illustrator’s other Envelope Distort features can be used to bend, twist and give life to your shapes.

👁 Image

Outline strokes #

I often turn strokes into paths before moving shapes back into Photoshop for styling. Some other design tools have this ability, but not many. It feels like a mandatory for a vector-based design tool.

👁 Image

Variable width strokes #

Illustrator’s width tool can alter the stroke width anywhere along a path.

👁 Image

With the Width tool selected (shift-W), double click a control point to show the options for more precision. Variable width strokes can be used to accurately construct shapes that may be difficult with other methods.

👁 Image

Dashed lines #

Illustrator contains two modes for dashed lines. One aligns dashes to corners, the other preserves dash and gap lengths. Aligning to corners often looks far better, and isn’t available in most design tools. Dashes can be converted to paths for use in Photoshop.

👁 Image

Transform each #

Scaling, rotating and moving many objects — as individual objects relative to their own origin — is easy in Illustrator. A simple feature, but one that can save hours of work.

👁 Image

Lasso selections #

When marquee selections don’t cut it, lasso selections often do. Lasso selections can be used in conjunction with the ⇧ (add) and ⌥ (subtract) modifiers.

👁 Image

Graphic styles #

I’ve set up some graphic styles in Illustrator to help work faster. If you’re creating an icon set that has similar characteristics across many elements, graphic styles can be a great way to apply styling quickly.

👁 Image

The graphic styles I use are part of my Illustrator screen design template, called Greyprint.

Pixel preview #

The pixel preview in Illustrator absolutely blows. The example below shows why it is a bit of a train wreck. Stray pixels, no gradient dithering, and general jankiness make Illustrator’s pixel preview hard to trust. This isn’t a big deal, because all my paths end up in Photoshop for styling anyway. It is something to be aware of though. You simply can not trust the pixel preview in Illustrator.

Here’s a comparison of the antialiasing in Illustrator’s pixel preview vs shape antialiasing in Photoshop. Illustrator’s antialiasing is embarrassingly poor.

👁 Image

Those stray pixels are dangerous, too. The dimensions of iOS and macOS interface images need to be exact multiples, so a stray pixel making an image 1px wider or taller could cause issues.

Styling in Photoshop #

Once I have the final icon paths, I usually paste them into Photoshop as shape layers. If you need to transfer many paths across, copying them all in Illustrator and pasting in Photoshop will place them all on a single layer. Selecting a single path and pressing ⇧⌘J in Photoshop moves a path into a new layer, ready for styling.

Templates #

We created our own templates for our app icons, which are now available for free as the open source Bjango App Icon Templates. They cover Android, iOS, macOS, Apple TV (tvOS), Apple Watch (watchOS), Windows, Windows Phone and web favicons. Where possible, they’re set up to automate exporting final production assets.

👁 Image

Exporting #

I do not recommend exporting bitmap images from Illustrator.

And, I don’t use PDFs for iOS assets.

To export PNGs and other bitmap images, I typically use slice sheets in Photoshop. There’s many benefits, including being able to use a single layer for 10s or 100s of icons, which keeps styling consistent and easy to edit. For more detail, please refer to my app design workflow article.

For exporting SVGs, I use a combination of Affinity Designer, Photoshop’s Generator and Illustrator.

Published 21 May 2015.

Featured articles

The vocal effects of Daft Punk

Matching drop shadows across CSS, Android, iOS, Figma, and Sketch

Two decades of Bjango

Design systems need a colour space

Blur radius comparison

Design tool canvas handles

Design tool memory usage

Shape builder vs pathfinder

Formulas for optical adjustments

Smaller Mac app icons

Icon speedrun videos

Fingerprint icon speedrun

Fountain pen icon speedrun

Pushpin icon speedrun

Flag icon speedrun

Designing macOS menu bar extras

SVG passthrough precision

Ideal SVG exports

Mac external displays for designers and developers, part 2

Camera iris icon speedrun

Opacity precision

Design tool performance signatures

Diagnosing common colour management issues

macOS prefs tab icons are 27×27pt

What is pass-through blending?

Colour management, part 4

Magnet icon speedrun

Soccer ball icon speedrun

Puzzle icon speedrun

Using SVGs in asset catalogs

My Illustrator snapping settings

Perfect loops in Processing

Testing for wide gamut

Creating SVGs with Processing

Colour management, part 3

Colour management, part 2

Colour management, part 1

Vector icon speedruns

My Mac app icon design workflow

Color Creator Templates

When two colours can be one

Mac external displays for designers and developers

Greyprint

Batch processing with Generator

Using blend if for masking

Design debugging

Interaction density

1px is not enough

My icon design workflow

Why Skala won't have artboards

Why I don't use PDFs for iOS assets

Blend if

Gradient maps

About the author

Marc Edwards is the founder and designer at Bjango. Subscribe via RSS to be notified of new articles. Marc on Mastodon. Marc on Bluesky.

We’re building a design tool! Learn more about Skala.