Skip to content
Photo2Pattern

Free paint by numbers generator

Paint by numbers generator that merges the slivers

Free, with no account and no queue: give it a photograph and you get back an outline of numbered regions, measured against a canvas width you name. Six to 36 paints, 80 to 320 cells of tracing detail, and a patch floor in millimeters — anything smaller than the brush you said you would use is absorbed into the region it shares the most edge with, rather than drawn and left for you to discover with a loaded brush in your hand. The outline, the filled preview and a paint list carrying each color’s exact area in square centimeters are all yours to download, and the file is read where you opened it.

  • 100% free
  • No signup
  • 6 to 36 paints
  • Patch floor in mm
  • Area per paint in cm²

Press Ctrl+V anywhere on the page to drop in a photograph you copied out of a phone or another tab — no need to click the field first.

Every one is a jar you rinse a brush between. Kits sold on a 40 cm canvas usually carry 12 to 24; the picture rarely gets better past 24, it only gets longer.

Read as an area: 5 mm means 25.0 mm², which at this canvas and this detail is 7 cells. Anything under it joins the neighbor it shares the most edge with.

Every millimeter figure on this page is measured against it. At 200 cells across a 40 cm canvas one cell is 2.00 mm.

How finely the edges are followed, not how many regions come out — the patch threshold decides that. Raising it makes curves smoother and the merge pass work harder.

What the panel shows

How to get an outline you can actually paint

The smallest-patch setting decides whether the sheet is paintable at all; the other two decide only how it looks.

  1. Name the canvas first, because every millimeter follows from it

    The canvas width is the only physical measurement this page has, and the cell pitch, the patch threshold and the per-paint areas are all derived from it. Forty centimeters is the default because 40 x 50 cm is the size most shop-bought kits are printed on. Set it to whatever you are actually painting on and the figure under the tracing slider tells you what one cell is worth: 2.00 mm at 200 cells on a 40 cm canvas, 1.25 mm on the same canvas at 320.

  2. Set the smallest patch to the brush you will really pick up

    This is the control that decides whether the result is paintable. It is read as an area — 5 mm means 25 mm², which at 2.00 mm cells is seven cells — and anything below it is folded into whichever adjacent region it touches along the most edge. Start at 5 mm for a round 2 brush and raise it until the merge line under the outline stops moving much; every millimeter you add takes hundreds of islands out of a photograph and costs you almost no shape you would have noticed.

  3. Add paints last, and watch the twin warning rather than the picture

    More paints look better on screen and get worse on canvas, because two colors the eye separates on a monitor are one color once they are mixed and wet. The panel measures every pair in Oklab and names the ones closer together than 0.045 — about twice the distance this site's matcher calls a very close match, and in practice the point where two mixed acrylics stop being tellable apart on a wet palette. When that list starts filling up you have passed the point where another jar buys you anything.

Technical specifications

Paints on offer6 to 36, 18 by default, derived from your photograph by median cut in Oklab rather than snapped to a catalog — a color you mix yourself has no part number, so the palette has to be the picture's own
Tracing detail80 to 320 cells across, 200 by default; the row count comes out of the file's aspect ratio. At 200 across a 40 cm canvas one cell measures 2.00 mm
How a patch is measuredBy area rather than by width: 5 mm means 25 mm², which at 2.00 mm cells is 7 cells. A ribbon of the same area survives the test, and the page says so instead of implying a width guarantee it does not make
What absorbs a sliverThe neighbor sharing the longest border, ties settled by Oklab distance, and only ever into a strictly larger region — up to 14 passes, with anything still under the floor counted and explained underneath
How the numbers are handed outBy coverage, so number 1 is the color holding most of the picture. The same number is printed in the region, listed in the paint table and written into the CSV, so nothing has to be cross-referenced by eye
Why no dithering controlError diffusion scatters single cells of a fourth color through a flat area, which is exactly the speckle the merge pass exists to remove. Every cell takes its own nearest color and nothing is spread to its neighbors
What the downloads containThe outline as a PNG held under 4,000,000 pixels, the filled picture as a second PNG, the paint list as CSV with the number, hex, cell count and share, and a print sheet fitted to the page
Where the tracing runsInside this browser tab, on a file that is never sent anywhere. No account, no queue and no watermark

Frequently asked questions

Two of my paints look like the same color. Is that a bug?

No, and the page warns about it before you notice it yourself. The palette is derived from your photograph rather than picked from a catalog, so when a picture is dominated by one family — a portrait against a beige wall, a forest, anything shot in flat light — the median cut spends several of its slots inside that family and hands back four browns that differ by less than the thickness of a mixing error. Every pair closer than 0.045 in Oklab is listed under the outline. The fix is fewer paints rather than more: with fewer slots to place, the cut has to put them further apart, so the twin list thins out as the count comes down.

How many paints should I actually ask for?

Between 12 and 24, and nearer 12 than 24 for a first canvas. Kits printed on a 40 x 50 cm canvas ship 12 to 24 jars, and that is not a cost decision — it is how many colors a person can keep straight while a brush is wet. Past about 24 the extra paints land inside families you have already got, the twin list starts filling up, and the picture on screen improves by an amount the finished canvas does not show. The number that changes the result far more is the smallest-patch setting.

Some of the small regions have no number in them. What do I paint there?

Look at the outline: a region with no number is one the printed digit would not fit inside, and the panel counts them for you at the exact size the download is drawn at. They keep their color and their place in the paint list, so the honest answer is to work them out from the neighbors, but the better answer is to stop having them. Raise the smallest patch by a millimeter or two and they are absorbed into the region beside them instead of surviving as a shape with nothing written in it. A commercial kit does the same thing, which is why kit outlines have no unlabeled slivers.

Does the smallest patch measure how wide a region is, or how big?

How big — it is an area test, and that is a real limitation worth knowing. Five millimeters means 25 square millimeters, so a compact blob of that area is kept and so is a ribbon one cell wide and seven cells long, which has the same area and cannot be painted at all. Measuring true width means a distance transform over every region on every slider move, which is more than this page will spend while you are dragging. In practice the ribbons come out of edges between two large areas and mostly vanish once the threshold is a few millimeters up, and the region count under the outline tells you when that has happened.

Can I paint straight onto the printed sheet?

You can, but only with something thin. The print path fits the outline to whatever paper is in the printer, so an 80 gsm sheet under acrylic will cockle and the lines will bleed. The two normal routes are to print it on 200 gsm or heavier and paint on that, or to print it at size, lay graphite paper under it and trace the boundaries onto a stretched canvas — which is how a shop-bought kit gets its lines onto the fabric in the first place. The millimeter figures on this page describe the canvas width you typed, not the paper the printer happens to be holding.

The face came out wrong — the eyes have gone. What do I change?

Crop tighter before you come here, because the problem is almost always that the head is a small part of the frame. A pair of eyes across 60 cells of a 200-cell picture has room for the two or three regions that make them read; the same eyes at 15 cells are below the patch threshold and get absorbed into the cheek, correctly, because at that size they genuinely are smaller than your brush. Raising the tracing detail helps a little and raising the paint count helps hardly at all. The other reliable fix is a lower patch threshold with a bigger canvas, since both change the millimeters a cell is worth.

Why does the page not tell me which tubes to mix for each number?

Because nobody can compute that from a hex value, and the sites that print a mixing ratio beside a color are guessing. Screen color is additive light and paint is subtractive pigment: two tubes that read as the same RGB pair mix to different results depending on their pigment load, their opacity and their tinting strength, and cadmium yellow with ultramarine gives a green that no arithmetic over the two hex codes predicts. What this page hands you instead is honest and enough to work from — the hex, the 0-255 triple to match against a color chart or a printed swatch, the exact area each color covers in square centimeters, and a warning when two of your numbers are too close to keep apart on the palette.

About region maps, and why the merge pass is the whole job

A paint-by-numbers design is not a picture with fewer colors in it. It is a partition of the surface into closed shapes, each one large enough that a loaded brush can fill it in a stroke or two, and each one labeled with something a person can read while holding that brush. Getting from a photograph to that partition is two operations, and only the first is the one people expect. Flattening the picture to eighteen colors is arithmetic; what comes out of it is thousands of one- and two-cell islands strewn along every edge and through every gradient, because a photograph has noise in it and a noisy pixel that lands on the far side of a color boundary becomes its own region. Drawn as outlines those islands are a stipple, and a stipple is unpaintable at any brush size. The second operation — walking the connected components, finding the ones below the size a brush can serve and folding each into the neighbor it shares the longest border with — is what turns the arithmetic into a design, and it is the part most generators skip.

The palette has to come out of the picture here, which makes this page one of the few on the site with no catalog behind it. Elsewhere a cell becomes a thread number or a brick that exists in a warehouse; a mixed color has no number, so the colors are derived by median cut in Oklab, splitting each box along the axis its colors are most perceptually spread on. That last detail matters more than it sounds. The classic algorithm splits in RGB, where the numeric range of the channels has almost nothing to do with how different the colors look, and the usual symptom is a palette that spends half its slots on shades of the sky. It is the same pass that reducing colors in an image runs, so one photograph gives one set of colors wherever you bring it on this site — which is not true of posterizing, a genuinely different operation that cuts each channel into fixed levels without looking at what is in the picture at all.

Two things other tools get wrong are worth naming, because both look like features. The first is returning a grid of equal squares and calling it paint by numbers: that is a mosaic, it is a real and useful thing, and it is the job of the color-by-number worksheet here, where every cell is the same size on purpose and a child works square by square. A painted canvas wants its shapes to follow the subject instead, so a cheekbone is one region and not eleven. The second is printing a mixing ratio next to each color — “60% cadmium yellow, 40% ultramarine” — derived from the hex. Pigment mixing is subtractive and depends on opacity and tinting strength, so those ratios are invented, and the honest output is the hex, the RGB triple, the area you will cover with it and a warning when two of your numbers are too close to keep apart. The same physical-unit question turns up in a different costume on the LEGO portrait page, where the smallest thing you can place is a plate rather than a brushstroke and the merge threshold is fixed by the molding rather than chosen by you.

Product and company names shown here are the trademarks of their respective owners. Photo2Pattern is an independent tool and is not affiliated with, sponsored by or endorsed by any of them.

What happens to the photograph you drop in

Your picture is opened by JavaScript running in the tab you are reading this in. It is never uploaded, never sent to a server and never stored anywhere — there is no upload step to undo, because there is no upload. Close the tab and nothing of it remains.

The palette is derived from your own file rather than fetched from anywhere, so there is no request when you change the paint count either: the median cut runs over a sample of about 60,000 pixels of your picture inside this tab, and nothing crosses the network in either direction once the page has loaded — the outline, the preview and the paint list are files you save, not files you fetch.