
In today’s tutorial we’re going to take an in-depth look at the
process of creating a transportation-themed icon pack, using some geometric
shapes and tools that you probably already work with on a daily basis.
Don’t forget, you can always expand the pack by heading over to GraphicRiver where you’ll find a great selection of transportation icons just waiting to be snatched.
That being said, grab
a fresh cup of that yummy mocha latte and let’s get started!
1. How to Set Up a New Project File
Since I’m sure that you already have Illustrator up and running in the background, bring it up and let’s set up a New Document (File > New or Control-N) using the following settings:
- Number of Artboards: 1
- Width:800 px
- Height:600 px
- Units:Pixels
And from the Advanced tab:
- Color Mode: RGB
- Raster Effects: Screen (72ppi)
- Preview Mode: Default

2. How to Set Up a Custom Grid
Since we’re going to be creating the icons using a pixel-perfect workflow, we’ll want to set up a nice little Grid so that we can have full control over our shapes.
Step 1
Go to the Edit > Preferences > Guides & Grid submenu, and adjust the following settings:
- Gridline every: 1 px
- Subdivisions: 1

Quick tip: you can learn more about grids by reading this in-depth piece on How Illustrator’s Grid System Works.
Step 2
Once we’ve set up our custom grid, all we need to do in order to make sure our shapes look crisp is enable the Snap to Grid and Snap to Pixel options found under the View menu.
Now, if you’re new to the whole “pixel-perfect workflow”, I strongly recommend you go through my How to Create Pixel-Perfect Artwork tutorial, which will help you widen your technical skills in no time.
3. How to Set Up the Layers
With the new document created, it would be a good idea to structure our project using a couple of layers, since this way we can maintain a steady workflow by focusing on one icon at a time.
That being said, bring up the Layers panel, and create a total of four layers, which we will rename as follows:
- layer 1: reference grids
- layer 2: train
- layer 3: bus
- layer 4: tram

4. How to Create the Reference Grids
Thereference grids (or base grids) are a set of precisely delimited reference surfaces, which allow us to build our icons by focusing on size and consistency.
Usually, the size of the grids determines the size of the actual icons, and they should always be the first decision you make once you start a new project, since you’ll always want to start from the smallest possible size and build on that.
Now, in our case, we’re going to be creating the icon pack using just one size, more exactly 128 x 128 px, which is a fairly large one.
Step 1
Start by locking all
but the “reference grids” layer, and then grab the Rectangle Tool (M) and create a 128 x 128 px orange (#F15A24
) square, which will help define the
overall size of our icons.

Step 2
Add a smaller 120 x 120 px one (#FFFFFF
) which we
will position on top of the previous shape, since it will act as our active
drawing area, thus giving us an all-around 4
px padding to work with.

Step 3
Select and group the two squares together using the Control-Gkeyboard shortcut, center aligning them to the underlying Artboard afterwards. Create the remaining grids using two copies (Control-C > Control-F) at a horizontal distance of 40 px from the original, locking the current layer before moving on to the next section.

5. How to Create the Train Icon
Assuming you’ve successfully managed to create the little reference grids, move on to the next layer (that would be the second one), and let’s kick off the project by creating our first icon.
Step 1
Start by creating the
circular background using a 120 x 120 pxcircle, which we will color using #FF8D60
and then center align to the
first active drawing area.

Step 2
Create the upper section of the train using a 60 x 60 px square, which we will color using #CBF7EC
and then
center align to the larger circle, positioning it 20 px from its top edge.

Step 3
Adjust the shape that we’ve just created by setting the Radius of its top corners to 20 px from within the Transform panel’s Rectangle Properties.

Step 4
Give the resulting shape an outline using the Stroke method, by creating a copy of it (Control-C), which we will paste in front (Control-F) and then adjust by first changing its color to #3F3330
and
then flipping its Fill with its Stroke (Shift-X). Set the resulting outline’s Weight to 4 px,
selecting and grouping the two shapes together afterwards using the Control-G keyboard shortcut.

Step 5
Create the little roof section using a 12 x 4 px rectangle (#3F3330
) which we will position on top of the
larger outline, as seen in the reference image.

Step 6
Start working on the door using a 20
x 42 px rectangle (#55AA9A
) which we will adjust by setting the Radius of its top corners to 4 px from within the Transform panel’s Rectangle Properties. Give the resulting shape a 4 px thick outline (#3F3330
), grouping
(Control-G) and then aligning the
two to the center of the larger body’s bottom edge.

Step 7
Add the little window using an 8 x 10 px rounded rectangle (#3F3330
)
with a 2 px Corner Radius, which we
will center align to the door, positioning it at a distance of 4 px from its top edge.

Step 8
Add the rectangular side insertions using two 4 x 8 px rectangles (#3F3330
), which we will position at a distance
of 6 px from the door’s top edge.

Step 9
Create the little handle using a 4 x 4 px square (#3F3330
), which we will position onto the left side of the door, right
underneath the window itself. Once you’re done, select and group (Control-G) all of the current section’s
composing shapes together before moving on to the next step.

Step 10
Start working on the protective string sections using three 2 x 4 px rectangles (#3F3330
), which we
will vertically stack at a distance of 2
px from one another, grouping (Control-G)
and then positioning them at a distance of 2
px from the center of the door’s bottom edge.

Step 11
Turn on Pixel Preview
mode (Alt-Control-Y), and then use a 2 px thick Stroke with the color set to #3F3330
to draw the three rope sections.
Once you’re done, switch back to the Default
Preview mode (Alt-Control-Y),
selecting and grouping (Control-G)
them to the smaller insertion rectangles, doing the same for the entire door
afterwards.

Step 12
Create the left window using an 8
x 14 px rounded rectangle (#3F3330
) with a 2 px Corner Radius, which we will position on the left side of
the door, making sure to bottom align it to the smaller center window.

Step 13
Add the small rectangular insertion using a 4 x 2 px rectangle (#3F3330
), which we will position above the
window, at a distance of just 6 px.

Step 14
Create the circular lights using two 4 x 4 px circles (#3F3330
) vertically stacked 2 px from one another, which we will
group (Control-G) and then position
below the left window, at a distance of 4
px.

Step 15
Start working on the left bumper by creating a 4 x 24 px rounded rectangle (#3F3330
)
with a 2 px Corner Radius, which we
will align to the bottom of the larger body, positioning it at a
distance of just 2 px from its left
edge.

Step 16
Create two 6 x 4 px rectangles
(#3F3330
), which we will vertically stack at a distance of 6 px, grouping (Control-G)
and then positioning them on top of the bumper, at a distance of 4 px from its top edge. Once you’re
done, select and group (Control-G)
all of the bumper’s composing shapes before moving on to the next step.

Step 17
Add the bottom rectangular insertion using a 6 x 4 px rectangle (#3F3330
), which we will bottom align to the
train’s larger body. Once you’re done, select and group (Control-G) all of the details that we’ve added so far, since we
will use them to fill up the larger body’s right side.

Step 18
Create a copy (Control-C > Control-F) of the details that we’ve just finished working on, which we will vertically reflect (right click > Transform > Reflect> Vertical) and then position onto the train’s opposite side. Once you’re done, select and group (Control-G) all of the train’s composing sections before moving on to the next step.

Step 19
Start working on the train’s bottom section by creating a 64 x 6 px rectangle (#55AA9A
) with a 4 px thick outline (#3F3330
), which we
will group (Control-G) and then
position below the train’s larger body.

Step 20
Next, create an 8 x 6 px rectangle
(#3F3330
), which we will center align to the two shapes that we’ve just
grouped.

Step 21
Add the side pieces using two 4 x
6 px rectangles (#3F3330
), which we will position onto the outer edges of
the wider section.

Step 22
Finish off the train’s bottom section by adding a 60 x 6 px rectangle (#3F3330
) followed by a slightly smaller 24 x 4 px one (#3F3330
), to the center
of its bottom edge. Once you’re done, select and group (Control-G) all of the current section’s composing shapes together,
doing the same for the entire train afterwards.

Step 23
Finish off the train, and with it the icon
itself, by drawing the small railroad section from underneath using a 4 px thick Stroke (#3F3330
). Take your time and, once you’re done,
select and group (Control-G) all of
its composing sections together.

6. How to Create the Bus Icon
Assuming you’ve finished working on the first icon, lock its layer and then move on up to the next one (that would be the third one) where we’ll start working on the iconic New York bus.
Step 1
As we did with the
previous icon, start by creating the circular background using a 120 x 120 px circle, which we will
color using #FF8D60
and then center align to the second active drawing area.

Step 2
Create the vehicle’s roof section using a 70 x 12 px rounded rectangle (#55AA9A
)
with a 6 px Corner Radius and a 4 px thick outline (#3F3330
), which we
will group (Control-G) and then
center align to the larger circle, positioning them at a distance of 20 px from its top edge.

Step 3
Add the center detail piece using a 42 x 4 px rounded rectangle (#3F3330
)
with a 2 px Corner Radius, which we
will center align to the shapes that we’ve just grouped.

Step 4
Create the circular front lights using two 4 x 4 px circles (#3F3330
), which we will
position onto the sides of the larger center piece, at a distance of just 4 px from it.

Step 5
Add the bottom insertion using a 12
x 3 px rectangle (#3F3330
), which we will center align to its bottom edge.

Step 6
Create the smaller insertions using two 4 x 3 px rectangles (#3F3330
), which we
will position at a distance of 2 px from
the larger insertion’s side edges.

Step 7
Finish off the roof by creating a 50 x 6 px rectangle (#3F3330
), which we
will adjust by individually selecting and pushing its top anchor points to the
inside by a distance of 4 px (right click > Transform > Move >
Horizontal > + / - 4 px depending on which side you start with). Once
you’re done, position the resulting shape on top of the larger shapes,
selecting and grouping (Control-G)
all of them together afterwards.

Step 8
Create the bus’s main body using a 66 x 44 px rectangle (#CBF7EC
) with a 4 px thick outline (#3F3330
), which we
will group (Control-G) and then
position below the roof that we’ve just finished working on.

Step 9
Create the windows using two 28 x 20 px rounded rectangles (#3F3330
)
with a 4 px Corner Radius, which we
will horizontally distance at 2 px from
one another, which we will group (Control-G)
and then center align at a distance of 2
px from the larger body’s top edge.

Step 10
Add the horizontal divider line using a 74 x 2 px rectangle (#3F3330
), which we
will position at a distance of just 2 pxfrom the bus’s windows, making sure to center align it to
them before moving on to the next step.

Step 11
Create the smaller detail segments using fourteen 2 x 1 px rectangles (#3F3330
), which we will place at a horizontal distance of 2 px from
one another, grouping (Control-G)
and then positioning them below the shape from the previous step.

Step 12
Add the smaller rectangular light using a 2 x 4 px rectangle (#3F3330
), which we will position at a distance
of 2 px from the larger body’s
bottom-left corner.

Step 13
Create the larger light using a 12
x 4 px rectangle (#3F3330
), which we will position at a distance of 2 px from the smaller one’s right edge.

Step 14
Add the circular light using a 2
x 2 px circle (#3F3330
), which we will position above the gap created by
the two rectangular lights, at a distance of just 2 px.

Step 15
Star working on the left windshield wiper by creating the base using a 6 x 2 px rectangle (#3F3330
), which we
will position above the larger rectangular light, at a distance of just 2 px from its top and right edges.

Step 16
Create the wiper’s end section using a 2 x 12 px rectangle (#3F3330
), which we will position onto the
right side of the bus, at a distance of 8
px from its base.

Step 17
Finish off the wiper by drawing the diagonal body using a 2 px thick Stroke (#3F3330
) starting from the center of the base all the way
up to the top of the end piece. Once you’re done, select and group all of the
current section’s composing shapes together using the Control-G keyboard shortcut.

Step 18
Select and group (Control-G) all the left-sided details, and then use a copy (Control-C > Control-F) of them to add the right-sided ones, making sure to vertically reflect them once you have them in place (right click > Transform > Reflect> Vertical).

Step 19
Add the side lights using two 4 x 4 px squares (#3F3330
), which we
will position onto the outside of the bus’s larger body, so that they’re in line with the inner rectangular lights.

Step 20
Start working on the left side mirror by
creating its main body using a 6 x 12 pxrectangle (#3F3330
), which we will position at a distance of 2 px from the vehicle’s main body and 4 px from its roof.

Step 21
Finish off the mirror by adding an 8 x 2 px rectangle (#3F3330
) on top of
it, followed by a smaller 4 x 2 px one
(#3F3330
) towards its bottom. Once you’re done, select and group all three
shapes together using the Control-G
keyboard shortcut.

Step 22
Create the right mirror’s main body using a 6 x 8 px rectangle (#3F3330
), which we
will position at a distance of 2 px from
the larger body and 10 px from its
roof.

Step 23
Add the support arms by positioning an 8 x 2 px rectangle (#3F3330
) underneath
the mirror’s main body, followed by a smaller 4 x 2 px one (#3F3330
) towards its top. Once you’re done, select
and group (Control-G) all of the
mirror’s composing shapes together, doing the same for the larger body
afterwards.

Step 24
Create the main shapes for the vehicle’s front
bumper using a 70 x 8 px rectangle
(#55AA9A
) with a 4 px thick outline
(#3F3330
), which we will group (Control-G)
and then position below its larger body so that their outlines end up
overlapping.

Step 25
Start adding details to the bumper by creating a
26 x 2 px rectangle (#3F3330
), which
we will center align to its larger composing shapes.

Step 26
Add the vertical delimiters using two 4 x 8 px rectangles (#3F3330
), which we
will position at a distance of 4 px from
the center piece’s side edges.

Step 27
Create the side insertions using two 8 x 2 px rectangles (#3F3330
), which we will position in the center
of the space created by the bumper and the vertical delimiters.

Step 28
Add the bumper’s side sections using two 4 x 8 px rectangles (#3F3330
), which we will position on the
outside of its main body.

Step 29
Create another larger 66 x 6 px rectangle,
which we will color using #3F3330
and then position below the bumper’s main
body.

Step 30
Add the wheels using two 12 x 8
px rounded rectangles (#3F3330
) with a 2
px Corner Radius, which we will position as seen in the reference image, at
a distance of 4 px from its sides.

Step 31
Finish off the current section by adding an 18 x 2 px rectangle, which we will color using #3F3330
and then
position below the bumper’s bottom detail rectangle. Once you’re done, select
and group (Control-G) all of the
current section’s composing shapes together, doing the same for the entire bus
afterwards.

Step 32
Finish off the icon by adding the little road strip, using an 8 x 12 px rectangle (#3F3330
), which we
will adjust by individually selecting and pushing its top anchor points to the
inside by a distance of 2 px (right click > Transform > Move >
Horizontal > + / - 2 px depending on which side you start with). Once
you’re done, position the resulting shape at a distance of 2 px from the bus’s bottom, selecting and grouping (Control-G) all its composing sections
together before moving on to the next icon.

7. How to Create the Tram Icon
We are now down to our third and last icon, so without wasting any more time, make sure you’re on the right layer (that would be the fourth one) and let’s finish this.
Step 1
Kick things off by creating the circular background using a 120 x 120 px circle, which we will
color using #FF8D60
and then center align to the third active drawing area.

Step 2
Start working on the vehicle’s pantograph by creating an 18 x 6 px rectangle (#55AA9A
) with a 4 px thick outline (#3F3330
), which we
will group (Control-G) and then
center align to the circular background, positioning them at a distance of 20 px from its top edge.

Step 3
Add the little rectangular insertion using a 6 x 3 px rectangle (#3F3330
), which we will center align to the two
shapes’ bottom edge.

Step 4
Create another slightly larger 14
x 4 px rectangle, which we will color using #3F3330
and then position on
top of the roof section, making sure to center align it to the larger shapes.

Step 5
Take a couple of moments and draw the pantograph’s rail using a 2 px thick Stroke line (#3F3330
), using the reference image as your main guide.
Once you’re done, select and group (Control-G)
all of the current section’s composing shapes together before moving on to the
next step.

Step 6
Create the tram’s roof using a 50 x 6 px rectangle (#CBF7EC
) with a 4 px thick outline (#3F3330
), and a 30 x 3 px rectangle (#3F3330
) aligned
to their top edge, grouping and positioning all three shapes right underneath
the pantograph.

Step 7
Add the body’s upper section using a 42 x 26 px rectangle (#55AA9A
) with a 4 px thick outline (#3F3330
), which we will group (Control-G) and then position below its roof.

Step 8
Add the front windows using three 10
x 18 px rectangles (#3F3330
) with a 4
px top CornerRadius and a 2 px bottom one, which we will horizontally stack 2 px from one another, grouping (Control-G) and then positioning them in the center of the larger rectangles. Once you’re done, select and group (Control-G) all of the current section’s
shapes as well before moving on to the next step.

Step 9
Create the tram’s bottom section using a 42 x 20 px rectangle (#CBF7EC
) with a 4 px thick outline (#3F3330
), which we will group (Control-G)
and then position below the previously grouped shapes.

Step 10
Add the smaller center section using a 12 x 20 px rectangle with a 4 px thick Stroke (#3F3330
), which we will center align to the
shapes from the previous step.

Step 11
Add the center lights using two 4 x 4 px circles (#3F3330
), vertically
stacked 2 px from one another,
which we will group (Control-G) and
then position at a distance of 2 px from
the center section’s top edge.

Step 12
Create the bottom rectangular insertion using a 4 x 4 px square (#3F3330
), which we
will center align to the center section’s bottom edge.

Step 13
Add the side insertions using two 4 x 4 px squares (#3F3330
), which we
will position on the outer edges of the center section, at a distance of just2 px from its bottom edge.

Step 14
Create the left and right horizontal detail
lines using two sets of two 15 x 2 px rectangles
(#3F3330
) vertically stacked 2 px from
one another, which we will group (Control-G)
and then position onto the sides, at a distance of just 2 px of the larger section’s top edge.

Step 15
Finish off the current section by adding the
smaller circular lights using two 2 x 2
px circles (#3F3330
), which we will individually position at a distance of 2 px from the larger outline’s bottom
corners. Once you’re done, select and group (Control-G) all its composing shapes before moving on to the next
step.

Step 16
Start working on the bumper by creating a 50 x 8 px rectangle (#55AA9A
) with a 4 px thick outline (#3F3330
), which we
will group (Control-G) and then
position below the previous section.

Step 17
Add the center detail using an 18 x 2 px rectangle, which we will
color using #3F3330
and then center align to the shapes that we’ve just
grouped.

Step 18
Create the bumper’s bottom insertions using two 6 x 4 px rectangles (#3F3330
), which we
will position at a distance of 2 px from
its outer edges.

Step 19
Add the bumper’s side pieces using two 4 x 8 px rectangles (#3F3330
), which we
will position onto the outer edges of the larger rectangles, as seen in the
reference image.

Step 20
Move a few pixels towards the bottom and create
a 46 x 4 px rectangle (#3F3330
),
which we will position below the bumper itself.

Step 21
Create another smaller 54 x 2 px rectangle, which we will color using #3F3330
and then
position below the one from the previous step.

Step 22
Finish off the current section by creating a 38 x 4 px rectangle (#3F3330
) with a 2 px bottom corner Radius, which we will position below the tram’s bottom section.
Once you’re done, select and group (Control-G)
all its composing shapes before moving on to the next step.

Step 23
Create the left handrail using a 2 x 46 px rectangle (#3F3330
), which we
will position onto the side of the tram, between its roof and front bumper.

Step 24
Add the handrail’s support arms using two 4 x 2 px rectangles (#3F3330
), which we
will position onto its right side, at a distance of 6 px from its top and bottom edges. Once you’re done, select and
group all three shapes together using the Control-G
keyboard shortcut.

Step 25
Create the right handrail using a copy (Control-C > Control-F) of the one that we’ve just finished working on, which we will vertically reflect (right click > Transform > Reflect> Vertical) and then position on the opposite side of the tram’s body. Once you’re done, select and group (Control-G) all of the tram’s composing sections before moving on to the next step.

Step 26
Finish off the tram, and with it the icon itself,
by taking a couple of moments and drawing the three rail segments using a 4 px thick Stroke with the color set to #3F3330
. Once you’re done, select and
group (Control-G) all of the icon’s
composing sections before saving the finished project.

It’s a Wrap!
There you have it, fellow icon lovers—a nice little pack created using the most basic geometric shapes and tools that one can find within Illustrator. As always, I hope you’ve enjoyed the tutorial and managed to learn something new and useful along the way.
