Photo to Paint by Numbers: Turn Any Image into a Kit
A paint-by-numbers kit turns a complex photograph into numbered regions, each mapped to a specific paint color. You fill in the regions, and the image emerges — no drawing skill required. The interesting part is that you can make one from any photo you own: a pet portrait, a vacation sunset, a family snapshot.
This guide covers how the conversion actually works, which services and free tools do it well, and how to pick and prepare photos that produce satisfying kits. If you have been exploring other creative image conversions like turning a photo into a cross-stitch pattern or generating a photo mosaic, paint by numbers sits in the same family — algorithmically reducing complexity so you can recreate an image by hand.
How Photo-to-PBN Conversion Works
Two operations happen under the hood: color quantization and region numbering.
Color quantization reduces the millions of colors in a photograph down to a limited palette — typically 10 to 36 colors. Algorithms like median cut or k-means clustering group similar colors together and replace each group with a single representative color. The result looks like a posterized version of the original image, with flat color regions instead of smooth gradients.
Region numbering takes each contiguous area of a single color and assigns it a number. That number maps to a paint color on the included palette. Tiny regions get merged into neighbors (nobody wants to paint a 2mm triangle), and boundary lines are drawn between regions.
The quality of the final kit depends almost entirely on how well these two steps handle your specific photo. Too few colors and the subject becomes unrecognizable. Too many and you are squinting at a canvas full of tiny numbered slivers. The sweet spot — and the reason photo selection matters so much — sits between 12 and 25 colors for most images.
Try it yourself
Reduce file size without visible quality loss — free, instant, no signup. Your images never leave your browser.
Custom PBN Kits from Online Services
The fastest path from photo to finished kit is a print-on-demand service. You upload an image, they handle conversion, printing on canvas, and shipping paint pots with matched colors.
Paint Your Numbers
Offers custom kits starting around $45. You upload a photo, choose a canvas size (16×20 up to 24×36 inches), and they ship a printed canvas with acrylic paints. Turnaround is roughly two weeks. Their algorithm handles color reduction automatically, but you can request adjustments if the preview looks wrong.
PaintByNumbers.com
Similar model with pricing from $40. Supports frameless and framed canvas options. Their photo preview tool shows you the numbered template before you commit, which helps you decide whether the photo works at a given color count.
Winnie's Picks
Positioned as a premium option ($50+). Known for better paint quality and more detailed templates. They use a higher color count by default, which produces more realistic results but takes longer to paint.
What to expect from all three: Upload, preview, pay, wait. The output quality is generally good for portraits and landscapes. Complex scenes with many small details (crowded street markets, dense forests) tend to produce kits that are frustrating to paint because the regions become too small.
DIY Software Methods
If you want control over the conversion — or prefer to print your own template — free tools can handle the entire process.
GIMP v2.10.38 (GPL-2.0)
GIMP is a free, open-source image editor that can produce paint-by-numbers templates through its built-in posterization and color indexing tools.
Steps:
- Open your photo in GIMP v2.10.38.
- Scale to your target canvas size: Image → Scale Image. For a 16×20 inch canvas at 150 DPI, set the dimensions to 2400×3000 pixels. If you need to resize your source image before opening it in GIMP, Pixotter's resize tool handles this in the browser without uploading anything.
- Colors → Posterize — set levels to 8-12 as a starting point. This reduces the tonal range.
- Image → Mode → Indexed — choose "Generate optimum palette" and set maximum colors to your target (15-24 works well). Select "Floyd-Steinberg (reduced color bleeding)" for dithering, or "None" for sharper region boundaries.
- Image → Mode → RGB to convert back for editing.
- Select by Color tool (Shift+O) with threshold at 0 — click each color to see its regions. Use Edit → Stroke Selection (2px, black) to draw region boundaries.
- Add numbers manually with the text tool, or export the indexed image and use a numbering script.
The manual numbering step is tedious. GIMP excels at the color reduction but was not designed for paint-by-numbers output specifically.
PBNify (Free Web Tool)
PBNify is a browser-based tool purpose-built for paint-by-numbers conversion. No installation, no account required.
Steps:
- Go to PBNify and upload your photo.
- Adjust the number of colors (start with 15-20).
- Set the minimum region size to avoid tiny un-paintable areas.
- Preview the numbered template and the color palette.
- Download the template as a printable PDF or PNG.
PBNify handles the entire pipeline — quantization, region detection, numbering, and palette generation — in one step. The results are immediately usable. The main limitation is that you cannot fine-tune individual colors the way you can in GIMP.
Mypaint-by-numbers (MIT License)
An open-source Python tool specifically designed for PBN generation. Available on GitHub.
Steps:
- Install Python 3.10+ and run
pip install mypaintbynumbers==0.3.2. - Run:
mypaintbynumbers input.jpg --colors 20 --min-area 100 --output template.svg - The output is an SVG with numbered regions and a color key.
The SVG output is particularly useful because it scales to any canvas size without losing sharpness. You can open it in Inkscape v1.3.2 (GPL-2.0) to adjust region boundaries or renumber sections before printing.
Choosing the Right Photo
Not every photo makes a good paint-by-numbers kit. The conversion process is essentially lossy compression for human painters, and some images survive that compression better than others.
What works well
- Simple compositions with a clear subject: a single pet, a lighthouse, a flower arrangement. The viewer should recognize the subject even at 15 colors.
- Good contrast between the subject and background. A white cat on a white couch will produce a kit where the cat disappears.
- Large color areas rather than fine textures. A red barn against a blue sky is ideal. A detailed Persian rug is not.
- Photos with 10-25 naturally distinct colors. Sunsets, portraits with solid backgrounds, and architectural shots tend to quantize well.
What to avoid
- Busy backgrounds — trees, crowds, patterned wallpaper. These create hundreds of tiny regions.
- Very dark or very low-contrast images. The quantization algorithm cannot separate regions that are nearly identical in color.
- Photos where the subject depends on fine detail — text, intricate jewelry, facial expressions in group photos.
Testing before committing
Run your photo through PBNify at different color counts before ordering a custom kit or printing a large canvas. If the subject is recognizable at 15 colors, it will make a great kit. If you need 30+ colors to tell what it is, pick a different photo.
This same principle applies to other creative conversions. Choosing a photo with clear shapes and good contrast produces better results whether you are making a coloring page or a painted-style image.
Preparing Your Photo for Conversion
Before feeding a photo into any conversion tool, basic preparation improves results significantly.
Crop tightly. Remove background clutter that will consume colors without adding to the subject. A portrait with 40% background wastes nearly half your color budget on regions nobody cares about.
Resize to match your output. If your canvas is 16×20 inches, your source image should be at least 2400×3000 pixels at 150 DPI. Larger source images just slow down processing without improving the template. Pixotter's resize tool lets you set exact pixel dimensions in the browser — useful when you need a specific size for a print service's requirements.
Boost contrast slightly. A 10-15% contrast increase helps the quantization algorithm separate similar colors. Do not overdo it — harsh contrast creates unnatural color boundaries.
Compress reference images. If you are sharing the template digitally (emailing to a print shop, posting in a craft group for feedback), compress the reference image to keep file sizes reasonable without losing the detail needed for painting.
Print and Canvas Considerations
Canvas size
Larger canvases are more forgiving for beginners. A 16×20 inch canvas gives regions that are easy to paint, even with a mid-range color count. Smaller canvases (8×10) work for simple images with fewer colors but become frustrating for detailed conversions.
Paint quality
Acrylic paints dry fast and layer well, making them the standard for PBN kits. Commercial kits ship pre-mixed colors matched to the template. For DIY templates, you will need to mix paints yourself to match the palette — buy artist-grade acrylics (not craft acrylics) for better opacity and color accuracy.
Paper vs. canvas
Templates printed on paper are cheaper and fine for practice or small projects. Canvas provides better texture for acrylic paint and produces a result that looks like an actual painting. For a finished piece you intend to frame or display, canvas is worth the extra cost.
If you plan to print large-format versions of your creative projects — whether paint-by-numbers templates, poster-sized prints, or any other format — verify that your source image resolution supports the output size before printing.
FAQ
How many colors should I use for a paint-by-numbers template?
Start with 15-20 colors for most photos. Portraits and simple landscapes work well at 12-15. Complex scenes may need 24-30, but anything above 30 becomes tedious to paint and difficult to distinguish between similar numbered regions.
Can I convert a photo to paint by numbers for free?
Yes. PBNify is a free browser tool that handles the entire conversion. GIMP v2.10.38 (GPL-2.0) can posterize and index colors for free, though numbering regions requires manual work. Mypaint-by-numbers (MIT license) is a free Python tool that outputs numbered SVG templates.
What photo resolution do I need for a good paint-by-numbers kit?
At minimum, 150 DPI at your target canvas size. For a 16×20 inch canvas, that means 2400×3000 pixels. Higher resolution does not improve the template but ensures clean lines when printed. Use Pixotter's resize tool to set exact dimensions before conversion.
How long does a custom paint-by-numbers kit take to complete?
A 16×20 inch kit with 20 colors typically takes 8-15 hours of painting spread across multiple sessions. Larger canvases and higher color counts take longer. Most people complete a kit over 2-4 weeks of casual evening work.
What types of photos produce the best paint-by-numbers kits?
Photos with a clear single subject, good contrast between subject and background, and large areas of distinct color. Pet portraits, landscapes, flowers, and architectural shots convert well. Avoid busy backgrounds, low-contrast scenes, and images where the subject depends on fine detail.
Can I edit the template after conversion?
Yes. SVG templates from Mypaint-by-numbers can be edited in Inkscape v1.3.2 (GPL-2.0) — merge regions, adjust boundaries, renumber sections. PNG templates can be modified in GIMP. PBNify allows real-time adjustment of color count and minimum region size before you download.
Is there a difference between custom kits and DIY templates?
Custom kits from services like Paint Your Numbers include printed canvas, pre-mixed paints, and brushes — everything you need to start. DIY templates give you more control over the conversion but require you to source paints, match colors, and print the template yourself. Custom kits cost $40-60; DIY templates are free but require more effort.
Try it yourself
Resize to exact dimensions for any platform — free, instant, no signup. Your images never leave your browser.