Introduction: How to Make a Push Pin Portrait

Picture of How to Make a Push Pin Portrait

We are going to make photorealistic push pin portraits.

We will be guided in our pin placement by a low resolution indexed color gif image we will create in Photoshop. The .gif will use a limited palette restricted only to those colors in which the plastic push pins come.

This tutorial assumes you have some access to and basic understanding of Adobe Photoshop.

Step 1: Select a Photograph

Picture of Select a Photograph

Using Photoshop, adjust your image so that it contains a nice range of colors and values, with no large areas of pure black or white or any other color. This will give you a dappled variety of push pin colors across the finished artwork, rather than large, boring expanses of a single hue.

I'm using a photo I took of a woman who sells her hats and headdresses on the internet.

Step 2: Decide the Final Dimensions of Your Work in Inches

Picture of Decide the Final Dimensions of Your Work in Inches

I'd like my final artwork to by 45" wide by 60" tall. My push pins are 0.5" in diameter, so I'll need to shrink my photo to 90 pixels x 120 pixels where each pixel will ultimately represent a push pin. That means I'll have 90 x 120 = 10,800 pins total.

Step 3: Convert the Photo to a .gif of Limited Colors

Picture of Convert the Photo to a .gif of Limited Colors
First determine the colors you intend to use. I have chosen black, white, red, yellow, and blue, for a total of 5 colors. I have omitted green from my artwork, even though push pins often come in green Notice my photo contains regions that appear green. Those regions will appear green in the finished artwork as well, even without the use of green pins, thanks to the color mixing that occurs in a dithered .gif

I've prepared a video that demonstrates in detail the process of producing a push pin palette .gif image.

Step 4: Count Pixels of Each Color So You Can Buy Pins Accordingly

Picture of Count Pixels of Each Color So You Can Buy Pins Accordingly

Your histogram can count the number of pixels selected.

Using your magic wand tool set to non-contiguous regions, tolerance = 0, visit your tiny 90 x 120 .gif and select each color in turn.

Record the count reported by the histogram for each color, That's ho wmany push pins of that color you'll need.

Step 5: Enlarge Your Guide Enough to See It. Maybe Even Go 1:1

Picture of Enlarge Your Guide Enough to See It. Maybe Even Go 1:1

To make your tiny .gif image into a guide large enough to see, enlarge it in Photoshop by a power of two. In other words, double its size, quadruple it, increase it by 8 or 16 times. If you choose another enlargement number you may get squares of uneven size after the blowup. Here's the process:

1. Convert your indexed color .gif back into a simple rgb image
2. Set image size to 1600% (my usual choice) and use the Nearest Neighbor (preserve hard edges) option in lieu of the usual Bicubic choice. In our 90 x 120 example a 1600% blowup will produce an image that is 1440 x 1920.

You can stop there, but if you want a giant 1:1 guide (and you have access to a large format printer or know how to use a program like Rasterbator to print the artwork in smaller pieces, then...

3. Leave your artwork at its original enlarged resolution (in our case we are now at 1440 x 1920 after a 1600% blowup of our tiny 90 x 120 .gif) but set your width to 45" (as we had originally decided back in step 2), set your height to 60", and set your resolution to 32 pixels/inch, which is 1440 / 45, or 1920 / 60 (both equal 32 pixels/inch)

Step 6:

Picture of

Begin placing pins according to your enlarged .gif guide.

Step 7:

Picture of



cshaopin made it! (author)2016-07-15

I've made this piece by cropping from a photo of my wife. Made a unilateral triangle version instead of the square grid version.

For this piece I used 6 colors map pins (black, white, red, yellow, green. blue). Map pin's size is 6mm or 1/4" diameter. Each row has 52 pins. Total of 98 rows. That's approx. 5100 map pins.

I use Polystyrene board as a base. A black cardboard is glued onto the polystyrene board as the black background, and the map pins are fixed on the cardboard/polystyrene board.

A "guide sheet" is printed out in 2 pcs of A2 sized paper, clipped to the black cardboard and I used a pin to manually punch holes onto the black cardboard first. Using my thumb to forcefully push the pins through the cardboard thousands of times was a painstaking job. Took me 3 days to complete it.

After all the holes are punched, I stick it to the polystyrene board with glue, and stick those pins into it one by one. Following the "guide sheet" i printed out earlier. The whole process from scratch to finish took me approx. 1 week.

But in the end quite satisfied with the results. Going to frame it and proceed with the next map pin art.

For this

digitalArtform (author)cshaopin2016-07-15

That's all great information and your results are fantastic!

wasanmansor (author)2015-11-10

hi, iam trying to do push pins work but the problem is that i need to use a lot of different colors for my work. Can you guide how to start and how to do it please?

this is kind of the picture that iam using

jobard made it! (author)2015-10-28

Thank you, sir, for this inspirational instructable. I have changed your
technique a little, and instead of push pins, I used 9,200 individually
and manually painted cotton swabs, in a total of 81 different collors
out of a 92 x 100 .gif image.

I still need to make some adjustments on shades, like on the corner of the mouth and eyes. It is very difficult to mix colors in a specific shade, and sometimes the eye, as well as the laptop monitor can trick you.

dhruv9 (author)2014-02-24

Hey, could you please help me and teach me exactly how this pattern is achieved to eliminate space betweenpins

your help is greatly appreciated :)

digitalArtform (author)dhruv92014-02-24

I haven't thought about it too carefully, but my initial reaction is you could shift every other line 0.5 pushpins to one side, do the process, and shift the resulting large pixels back into their original position. That should create a brick pattern. I talk a bit about that here:

You might also look at making a hexagonal mosaic before using the indexed color to limit the palette. I talk a bit about hexagonal mosaics here:

pygmypuff (author)2014-02-15

Hello DigitalArtForm,

I followed through your whole tutorial but I'm having problems with step 5.

See, I'm trying to have an A1 sized pushpin art.

After blowing up the image size by 1600% ( am I supposed to change the pixel dimensions or the document size? ) , what do I do next?

I can't seem to follow your 1:1 guide after that cause when I change the document size to my desired height and width, the pixel dimensions will automatically start to change the value too.

I would like to ask how can I make sure that my image is my required size and that the pushpin pixels are the right size to the pushpins when printed out.

Please help me out by making clear if I am supposed to firstly, change the image size or the canvas size, and in the image size option, am i supposed to change the pixel dimensions or the document size.

For your information, my pushpin diameter is 0.31 inches.

syben (author)2013-09-10

Hello digitalArtform,

Im working on trying to make my own pushpin portrait of freddie mercury, but am struggling with the fact that I don't want the final result to be as big as yours. Im from Europe so we use CM for sizes here. I want to have a final result of 60 CM x 90 CM, but don't know if the visual aspect of the final result will be as good as yours, as its a smaller size. Is there a minimum size to at least get to still make it look good?
Also I am struggling to understand step 5 of your tutorial. Is it necessary to convert the image back to a RGB image? I just made the width and length of the document size the same amount as my pinboard will be. Or is this not a good manner of working?

Please help me out because I really can't wait to get started.

Thanks in advance,

Greets from Syben from The Netherlands.

P.S. Where did you buy your pushpins and how much did you pay for them all if I may know?

digitalArtform (author)syben2013-09-10

60 cm x 90 cm is about 2 feet x 3 feet. Pushpins over here are about 0.5 inches, so you'd end up with 48 pins across x 72 pins high, more or less. That might be enogh detail if you tune the vlaues and hues of your input image to optimize your result. (in other words: make it look good)

You can preview the result by blowing it up in photoshop. Nearest neighbor setting. You will need to go back to RGB mode. Good catch.

This is mainly a tutorial on how to make a color guide. I never actually made a finished pushpin portrait. I illustrated it with CG. If you scroll through the comments you'll find where I posted the wireframe.

furbman (author)2013-08-21

where is good, cheap place to bulk push pins?

digitalArtform (author)2013-04-16

beautiful work. beautiful daughter.

lorentnum1 (author)2013-04-16

from far away

lorentnum1 (author)2013-04-16

Here it is

lorentnum1 (author)2013-04-16

Hi digital,
Thank you so much for your instructions. I am attaching a photo of the final work. It's a picture of my daughter.

ccatinstructables (author)2013-04-07

Amazing! I found a way to make the push pins to be arranged in equilateral triangles. You can see this blog:

I have a page on pre-distorting images you might like:

Sasquatch39 (author)2013-01-29

Hello, can you please talk me through this step. I am having trouble figuring out how to shrink my photo. Where do I go in photoshop to do this?

In the top bar you'll find an entry called "Image." Under that, select "Image Size..." and in the option box that appears enter your desired height and width in pixels.

VoltageMANIAC (author)2012-11-17

How much does this usually cost? Thanks

lorentnum1 (author)2012-11-02

wow, this is amazing!! Do you happen to know how to arrange the pins in a staggered fashion instead of in a row. Looks like the resolution would improve if you do that.

Here is a link of artist Eric Daigh doing that.

Off the top of my head I'd say the original photo would need to be cut into strips and every other strip offset by the right amount. Then with the picture in its staggered 'ruined' form, go through the process. Finally, 'repair the damage' caused by the staggering and if you do it correctly you should have a brick pattern.

I go into some detail in my web site on the general idea of pre-transforming images, and then untransforming them after applying a filter.

Distort Photoshop Filter Without Distorting Image

marilton (author)2012-07-12

impressive work!, ive already made my PS file and i'm about to start the artwork, any recommendations on the base material? and also, any recommendations on keeping the rows straight?

digitalArtform (author)marilton2012-07-12

I don't have a good suggestion for substrate. I'm wondering about painted cork tiles (onto which a faint grid could be made in pencil)

And for a description of how to make a virtual grid (requires more Photoshop expertise) see my response to the third comment.

nogoodnikki (author)2012-04-28

finally got it to work , so happy I've only used Photo Shop like twice before so this was its own challenge - thanks cant wait to try it out i think ill use pony beads instead of push pins just a little cheaper

jbrecken (author)2012-04-16

What material did you use for the board all the pins got stuck in? And was there a trick to keeping your rows straight?

digitalArtform (author)jbrecken2012-04-16

Also in the Instructable I mention the idea of making the printed placement guide 1:1 scale. I had actually worked out a way to make the spots of color smaller than the pin bases, so they would not be visible, and to put a precise pinhole dot in the center of each color spot so as to make the rows and columns more exact. In the interest of being concise I left it out of the main tutorial, but here is idea:
1) You start with each pixel its own color. Convert the little indexed color image to rgb.
2) Enlarge it a lot, but try to make the enlarging percentage a power of 2. That will keep the squares neat, square, and all the same size. That means enlarge 200%, 400%, 800%, 1600%, 3200%... choose a number like that.
3) When you have it big, make it the exact size you need by making it the inches you need. You can lower the dpi to balance it out. For example:
a) You start with a 88 x 160 indexed color image.
b) enlarge it 3200% (nearest neighbor option). You now have 2816 x 3840 pixel resolution.
c) 88 pushpins at 0.25" per pin is 22". Divide 2816 pixels by 22" to get 128 dpi
d) Set your image to 2816 x 3840 at 22" by 40" at 128 dpi
e) Print that somehow, either in pieces or at a place that makes big expensive large format prints.
4) If you want to add a pattern mask of some kind, do this:
a) Figure out the size of the tile you need to make, define as a pattern, and fill with. You need a square tile that will repeat 88 times across a 2816 pixel wide image so you need to make a 2816 / 88 = 32 pixel wide tile. It's actually obvious that the tile should be 32 pixels wide because each 'pushpin' was originally defined as one tiny pixel, and they were all blown up 3200% so 1 blown up 3200% becomes 32.
b) create a tiny 32 x 32 pixel image.
c) make the best circle you can in it using the pencil tool. Make the circle black on a white background.
d) define it as a pattern. Edit > Define Pattern
e) make a new layer above your master, giant pushpin image and fill with the pattern you just made. Edit > Fill (with pattern)
f) Set the blend mode to screen. Now the squares are all round looking.
5) If you want to make pinpoint guides that will show up on black, white, and every other color...
a) make a black 32 x 32 image with a little white dot in the center
b) define it as a pattern
c) tile it above the master large image
d) set the blend mode to DIFFERENCE or EXCLUSION and the dot will magically be the right color for maximum visibility no matter what color square it lands on.

First off, great instructable! Love it, have many people collecting push pins wherever we can find them!

I have my image already to go, for once we have the thousands of push pins. I just want to make a suggestion to anyone who is trying to attempt to hide the background and also have an exact place where to put the pins.

I used your -able all the way to the end, then when it came time for the enlarging, I edited the image size, to be exactly what the finished size will be, in this case 45" x 55". I then converted back to RGB mode and followed your steps above. This is where it became a little confusing, the rings are not an exact color, rather a mix, so this is what I did differently.

I made the circle using a 50x50 px image. I used the circle marquee, edge to edge, contracted by 2px deleted the center and wham! ok. Then I applied the pattern to a new layer, and this is where it is different. I broke out the wand tool, selected all the white space BETWEEN the circles, and then selected my picture layer and deleted those areas. I am now left with circles of the image, full ones too.

Then, I went back to my 50x50px image and added a white 4px dot to the center, and used your method of overlaying with a DIFFERENCE blend mode. allowing me to see the center of each circle, regardless of color. I then merged all the layers and put it back in to index mode and wham! exact circles of the color with center points ready to have pins applied!

Thanks again for this detailed tut!

windowDude (author)windowDude2012-04-25

This was my result

Looks good.

Sounds great, and I hope to see your finished work

digitalArtform (author)jbrecken2012-04-16

The video I made (which is featured in this Instructable) was created primarily to answer a question I had been asked about how to achieve decent photographic color rendition with only 5 colors.

The question was originally asked of me in the comments of this other video of mine
and you can see we have an extended conversation about it which ends with me thinking that dithered 5-color gif images might be the way to go.

As for the straight rows - they are an illustration - Maxwell Render simulation - and it's easier in that environment to make them straight than to add error to them.

marjorieallea (author)2012-04-24

This technique would create a great gift. Thank you!

nogoodnikki (author)2012-04-22

i really life this and get to this step and then im completely lost is there any way you can do a step by step video -thanks

There is a step-by-step video embedded in this step. Can you see it? It's called

Push Pin Portraits using Photoshop and its URL is

i saw the video im just not grasping how to get it to look like there are less pixels,
i guess its just more trial and error for me

You have to make your image very small -- one pixel per pin -- so you might make it 90 x 120 pixels.

Then you make a gif using Image > Mode > Indexed Color

Zoom into your image for a close look while you work with the indexed color options.

meenzal (author)2012-04-21

Very impressive! You've essentially created a 'paint by numbers' method that lets anyone create quality reproductions. It occurred to me you can get different textures with different 'pixels,' eg: thumbtacks, colored press-on dots, and more. Very clever Instructable! Thanks for sharing this!

Lindie (author)2012-04-20

Wow! Nice!

mackerous (author)2012-04-19

Just what I was looking for! I plan on doing this with bottle caps I've collected, though it might turn out 'interesting' as most are not solid colors. I have by far the more gold than anything and other colors are yellow, blue, red, green and black. I'm hoping to find an image that can work with those colors.

digitalArtform (author)mackerous2012-04-19

You may be surprised by what works. It will be good to experiment - gold bottle caps may be good for making more than just gold areas. Good luck!

use the gold as your yellow, and your image will be unforgettably beautiful. Trust that you can do it - then post a picture. I believe in you.

Oscelot (author)2012-04-19

I can't embed images, so here, have a link:

digitalArtform (author)Oscelot2012-04-19


Exocetid (author)2012-04-19

The patience, the patience!!!

(too much for me, you need to build a robot to do this)

clibanarius (author)2012-04-19

Looks amazing, but where do you get your pushpins? From what I've been able to find online, this looks like some $400 of pushpins!

Mine are virtual. This Instructable focuses primarily on how to create the illusion of continuous color in something such as push pins using a limited palette.

TheNailDutchess (author)2012-04-16

This is pretty Awesome!

broho3 (author)2012-04-15

Cool. This should work for the Post-It Not portrait I was wanting to do as well.


digitalArtform (author)broho32012-04-15

To make the .gif conversion work best it would be good to try and ascertain good rgb approximations for the actual push pin or Post-It Note colors, rather than simply call them 'red' or 'yellow' and use pure digital primary rgb triples like (255 0 0) and (255 255 0) as I did.

Maybe take a photo of your notes, or scan them, and analyze the colors with an image editor eyedropper tool.

poofrabbit (author)2012-04-14

Oh this is very cool, what a great way to show how you can create color with a limited pallet! Well done!

About This Instructable




Bio: There's really not much to say.
More by digitalArtform:A-Maze-ing Fun with Truchet TilesHow to Make a Push Pin Portrait
Add instructable to: