Free Coloring Page Generator
Drop a photo in, move three sliders, press download. You get back a PNG of about 53 KB, 1400 pixels on its long side, with no print size stored inside it. No sign-up, no watermark, no daily limit — and your photo is never uploaded, which we verified by cutting the network and converting anyway. The rest of this page is about the part most generators never mention: what that file actually is, why thicker lines make it smaller, and how big you can print it before the lines go soft. Every number below was measured on this site in a real browser, not estimated.
The short answer
| What you asked | What you get |
|---|---|
| Cost | Free. No account, no queue, no watermark, no cap on how many pages you make. |
| Where the photo goes | Nowhere. It is decoded and processed inside the tab. Measured below: zero network requests during conversion with the network switched off. |
| File format | PNG, 8-bit RGBA, written straight from the canvas |
| Pixel size | Long side capped at 1400 px. A 12 MP phone photo comes out at 1400 × 1050. |
| File size | 53,292 bytes for a 1400 × 1050 page at the default settings; 22,722 bytes for an 800 × 600 one |
| Print size in the file | None. The PNG has no physical-dimension chunk, so the print size is decided by whatever you open it with. |
| How long it takes | 152 ms for a 4000 × 3000 photo, 57 ms for an 800 × 600 one (median of repeated runs, real browser) |
Start here if you just want the page: the ColoringZap generator.
The file, measured byte by byte
We ran our own export in headless Chrome and pulled the finished PNG straight out of the canvas. For a 1400 × 1050 page made from a photo at the default settings (Edge Detail 35, Smoothness 1, Line Width 1):
- 53,292 bytes on disk.
- Chunk list:
IHDR, fourteenIDATchunks,IEND. That is the whole file. - Header says 8-bit, colour type 6 — RGBA. Four channels, all of them identical, because a line drawing has no colour in it.
- There is no
pHYschunk, which is the chunk that would tell a viewer how many pixels fit in a metre.
That last line is the one that trips people up, and it is worth understanding before you hit print. Inside the file, before compression, those 1.47 million pixels are stored as four bytes each: 5,881,050 bytes of raw scanlines, deflate-compressed down to 53,079 bytes — a ratio of 111×. The same measurement on the smaller 800 × 600 page gives 1,920,600 raw bytes down to 22,593, a ratio of 85×. In other words the download is almost entirely air: what looks like a solid black-and-white drawing is stored four times over, and then squeezed by more than a hundredfold because most of it is white.
Thicker lines make a smaller file
This is the result that surprised us, so we re-ran it several times. Everything else held constant, turning up Line Width adds ink to the page and takes bytes off the file.
| Line Width | Ink on the page | PNG size (800 × 600) | Deflate ratio |
|---|---|---|---|
| 1 (default) | 4.285% | 22,722 B | 85.0× |
| 2 | 6.675% | 20,183 B | — |
| 3 | 8.644% | 19,978 B | — |
| 4 | 10.580% | 19,787 B | 97.6× |
The page at Line Width 4 carries 2.5 times as much ink as the page at Line Width 1 and is 2,935 bytes smaller. The reason is how PNG compression works: the encoder walks along each row and encodes the difference between neighbouring bytes. A scattering of one-pixel lines is mostly transitions, and transitions are expensive. A thick line is a long run of identical bytes, and runs are nearly free. So the file is not priced by how much black is on it — it is priced by how often the black stops and starts.
Edge Detail works the same way, but far more gently, because it removes lines rather than widening them:
| Edge Detail | Ink on the page | PNG size (800 × 600) |
|---|---|---|
| 10 | 5.368% | 22,397 B |
| 35 (default) | 4.285% | 22,722 B |
| 60 | 3.620% | 21,508 B |
| 80 | 3.008% | 21,146 B |
The practical version: if a page is coming out too faint for a small child, raising Line Width is free in every sense. It costs no file size, no upload, and no time.
Why the 1400-pixel cap costs you nothing
Every picture is rescaled so its longest side is at most 1400 pixels before any outline is traced. A 4000 × 3000 camera frame becomes a 1400 × 1050 page — 1.47 megapixels out of 12, an eightfold reduction. It sounds like a loss. We tested whether it is.
We fed the same scene through twice: once as a 4000 × 3000 JPEG, and once as a copy already resized to 1400 × 1050. The outputs came out to 3.046% ink and 53,399 bytes for the camera-sized original, and 3.052% ink and 53,292 bytes for the pre-resized copy. The extra eight times as many pixels moved the amount of ink on the page by six hundredths of a percentage point, and the file size by 107 bytes. The tracer was never going to see that detail anyway.
What the cap does buy you is speed. Timed inside a real browser, on the actual page code, taking the median of repeated runs:
- 800 × 600 source — 57 ms (seven runs: 89, 353, 57, 53, 58, 50, 48 ms; the 353 was the first, cold run)
- 4000 × 3000 source — 152 ms (five runs: 241, 152, 157, 146, 146 ms), including the downscale
Both are fast enough that the sliders feel live: the page re-runs the whole pipeline 150 ms after you let go of a slider, which is why you can tune a photo by eye instead of guessing and re-uploading.
One consequence worth knowing: the cap does nothing to pictures that are already small. Anything under 1400 px on its long side — a 1080 × 1080 social-media export, for instance — passes through at its native size, and will print softer than a camera photo for that reason. If you only have a small version of the picture, that is when to drop Line Width to 1 and accept a thinner line rather than a blurry one.
There is no print size in the file. Here is the arithmetic
Because the PNG carries no pHYs chunk, nothing in it says "this drawing is 190 mm wide". Viewers fill the gap with an assumption, and the common one is 96 pixels per inch — which would make a 1400-pixel drawing 14.6 inches, or 370 mm, wide. That is wider than A4 and far wider than Letter, so on any viewer that prints at "actual size" you will lose the edges. Choose fit to page (also called "shrink oversized pages" or "scale to fit") and the problem disappears.
Once it is fitted, the sharpness you get depends only on how wide the printable area is. With 1400 pixels to spread across it:
| Printable width | Resolution | One pixel on paper | Line Width 1 | Line Width 4 |
|---|---|---|---|---|
| 150 mm | 237 DPI | 0.107 mm | 0.11 mm | 0.75 mm |
| 190 mm | 187 DPI | 0.136 mm | 0.14 mm | 0.95 mm |
| 210 mm | 169 DPI | 0.150 mm | 0.15 mm | 1.05 mm |
| 250 mm | 142 DPI | 0.179 mm | 0.18 mm | 1.25 mm |
| 300 mm | 119 DPI | 0.214 mm | 0.21 mm | 1.50 mm |
Line Width n produces a stroke of 2n − 1 pixels — 1, 3, 5 or 7 — because the dilation step adds one pixel on each side per step. The millimetre figures above are that pixel count times the millimetres per pixel.
Two things fall out of this table. First, a portrait photo loses more sharpness than a landscape one, because the 1400 pixels are spread up the long side of the sheet rather than across it — if you are printing a tall picture on A4, expect the bottom of the range and set Line Width to 2. Second, at the default Line Width 1 the printed line is between a seventh and a fifth of a millimetre wide. Most printers can put that down, but some render it faint or broken, and it is thinner than any crayon a child will hold. Line Width 2 or 3 is the setting that survives contact with a real pencil.
If you would rather not do this arithmetic at all, use the Coloring Book Maker instead: it writes a PDF with real page geometry baked in — US Letter, 612 × 792 points, a 40-point margin — so the print size travels inside the file and the print dialog has nothing to guess.
What "free" usually costs, and what it costs here
Most free AI coloring page generators are free in the way that a photo booth is free: the processing happens on someone else's computer, so your picture has to be sent there. That is not a moral failing, it is just what server-side generation requires. It does mean an account, a queue, and a copy of the photograph sitting on a machine you do not control — which is a different proposition when the photograph is of someone's child.
This site does not do that, so we tested the claim rather than asserting it. We loaded the generator in headless Chrome, logged every request, then switched the network off at the browser level and converted a 1400 × 1050 photograph anyway.
- Loading the page made four requests: the page itself,
/favicon.ico,/cdn-cgi/rum, and one script fromstatic.cloudflareinsights.com. Three of the four went to coloringzap.com. The single third-party request is Cloudflare's own measurement beacon, injected at the edge — there is no analytics tag in our page source, and no external script, font, or stylesheet of any kind. - Converting the photo with the network off produced zero network requests. The only request-shaped event in the log was the photo's own
data:URL, which is the browser handing the file to itself and never leaves the machine. - The output was identical to the run made while still online — byte for byte, as you would expect from a pipeline with no randomness in it.
So the honest accounting is: your photo is never transmitted, and the one thing that does phone home is a page-load counter from our CDN, not the picture. The full statement is in the Privacy Policy.
Print checklist
- Fit to page, not actual size. The PNG has no print size in it; "actual size" means 370 mm wide on a 96-DPI assumption.
- Black and white, not colour. There is no colour in the file; a colour profile only spends ink.
- Line Width 2 or 3 unless the picture is unusually detailed — it makes the file smaller, not larger.
- Single-sided. Thin outlines show through the back of a sheet.
- Plain 75 gsm paper is fine for crayons and pencils. For markers, use card or put a spare sheet underneath.
- Print one test page before a batch of thirty, especially in draft mode, which on some printers lightens hairlines enough to lose them.
Three other things this site generates
Outlines are the default, not the only option. Picture to Color by Number reduces a photo to a small palette and numbers every region, which suits children who would rather be told which colour goes where. The Name Coloring Page Generator draws a child's name in big outlined letters, optionally over a converted photo, and unlike the PNG download its print stylesheet fixes the paper to Letter with a 0.4-inch margin. And the Book Maker takes a pile of photos and writes one PDF with one drawing per page — the route to take when the result is going to be bound rather than handed out loose.
Questions
Is it really free? Yes. No account, no payment, no watermark, and no limit on the number of pages.
Do I have to upload my photo? No. It is processed in the tab. We confirmed it by disabling the network and converting a photo: zero requests.
Why is my downloaded page a different size from my photo? Because the long side is capped at 1400 pixels. A 12 MP photo becomes 1400 × 1050 — about 53 KB as a PNG.
Why does the file get smaller when I make the lines thicker? PNG compresses runs of identical bytes very well and transitions poorly. Thick lines are long runs; scattered one-pixel lines are mostly transitions.
How big can I print it? As big as you like, but the lines soften. At a 190 mm printable width you get 187 DPI; at 300 mm, 119 DPI. For a poster-sized print, start from a tightly cropped photo so the 1400 pixels land on the subject.
Is there a way to get a file that already knows its paper size? Yes — the Book Maker writes a PDF with US Letter page geometry inside it. The single-page download is a bare PNG and always needs "fit to page".
Where do I start if I want to tune the tracing itself? The slider settings for different kinds of photo, with measured ink coverage for each, are on Turn Photo Into Line Drawing, and the walkthrough for a single picture is on Convert a Picture Into a Drawing.