Paint by Numbers Maker

Choose a photo and the number of colours. You get a printable outline with a number in each region, a colour preview and the palette with hex codes. The work runs in your browser.

Free Runs in your browser Checked Tuesday, November 10, 2026

This tool runs in your browser. What you enter is not sent to us.

How to use it

  1. Click Choose a photo or drop an image on the box. The photo is read on your device.
  2. Choose the Number of colours. Six to ten suits most photos; more colours give more detail and more paints to buy.
  3. Choose the Smallest region, then click Make the drawing. A large photo can take up to a minute.
  4. Read the Palette, then save the outline with Download the outline (PNG) to print, or the colour preview with its own button.

How the drawing is made

Every pixel is grouped with others of a similar colour by k-means clustering in CIE L*a*b*, the colour space in which distances match what the eye sees. The starting groups are chosen with the k-means++ method and a fixed seed, so the same photo always gives the same drawing.

Small regions are then merged into the neighbour they share the longest border with, so the drawing has no specks too small to paint. Each connected area of one colour is a region. The colours are numbered from the most common, and each region takes the number of its colour. The outline is drawn along the edges of the regions.

Colours: k-means in CIE L*a*b*, with the number of colours you choose
Small regions: merged into the neighbour with the longest shared border
Number position: the pixel farthest from every edge of its region
  • The drawing is made from a copy of up to 800 pixels on the longer side; the outline is drawn at twice that size, so it prints sharply.
  • The number of each region is placed with a distance transform, which gives every pixel its distance to the nearest edge; the number goes where that distance is greatest.

Printing and painting the drawing

Print the outline and fill each region with the paint of its number. Number 1 is the most common colour, so it covers the most area; let each colour dry before the next one touches it.

A region too narrow for a number is drawn without one. To number more regions, choose a larger smallest region or fewer colours; to keep more detail, choose the fine setting and accept more narrow regions.

Worked example: a red half and a blue half

A picture of 20 × 10 pixels, red on the left and blue on the right, with two colours, gives two regions of 100 pixels each. The outline is one line down the middle: one pixel in each row, so ten in all.

Each region gets its number where it is widest. In the red half the widest point is four pixels from every edge, at (4, 4); in the blue half it is at (14, 4), also four pixels from the edges.

Item Result
Regions 2
Outline pixels 10, one per row
Number positions (4, 4) and (14, 4)
Palette #FF0000 and #0000FF, 100 pixels each

Frequently asked questions

Why does a region have no number?

A region narrower than a number cannot hold it, so the drawing leaves it without one. Choose a larger smallest region or fewer colours so that each region is wide enough to take its number.

Why is the result the same every time?

The colours are grouped from a fixed starting point, so the same photo, number of colours and smallest region always give the same drawing and palette.

How many colours should I choose?

Six to ten colours suit most photos and keep the drawing readable. Use fewer for a child's sheet and more for a detailed picture, bearing in mind that each colour is a paint you must buy.

Is my photo uploaded?

No. The photo is read by your browser, and the drawing is made by a worker script on your device. Nothing is sent to us, and the work stops if it takes longer than a minute.

What is the smallest region setting?

It is the smallest area that is kept as its own region, as a share of the picture. Smaller regions are merged into their neighbours, which makes the drawing easier to paint.

Sources

Figures and text last checked on Tuesday, November 10, 2026.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.