Low Poly: Rebuild a Photo From Triangles
Facets subdivide where the picture is busy and stay large where it is flat, so the triangles cluster around your subject instead of being spread evenly over an empty sky. Each one takes the average of the pixels it actually covers.
Drop images here
or click to browse · or paste with Ctrl+V
JPG · PNG · WebP · GIF · BMP · AVIF
The size used in flat areas such as sky. Larger means a bolder, more abstract result.
How far the detailed areas are allowed to subdivide. Smaller keeps more of the subject readable.
How eagerly a busy area splits into smaller facets. This is what puts the triangles where the picture actually is.
Presets
Your photos are never uploaded. The subdivision and the export both run inside this browser tab.
People also use
Everything this tool does
Triangles go where the picture is
On a test image half flat and half detailed, a uniform grid gives 16 facets to each half. Adaptive subdivision gave 16 to the flat half and 256 to the detailed one, sixteen times the resolution where it matters.
Every facet averaged over its real area
Not sampled at the centre. On a noisy flat field, centre sampling gave facets varying by 34 levels while averaging gave facets identical to each other.
No gaps between facets
Each cell splits into exactly two triangles by a single test, so no pixel falls between them or is painted twice. Checked across a whole output, no pixel is left unwritten.
Both bounds are yours
The largest facet sets how bold the flat areas look and the smallest decides whether a face survives. The gap between them is where the whole effect lives.
Optional facet outlines
Off, the result reads as faceted glass. On, it reads as a wireframe render, and the colour is yours to set.
Completely deterministic
The subdivision depends only on the image and your settings, so the same photo always produces the same facets.
Drag to compare
Before and after share one frame with a slider, which is how you judge whether the subject has survived.
Six purpose-built presets
Classic, bold and abstract, portrait, wireframe, nearly uniform and fine facets.
Batch with one ZIP
The subdivision adapts to each photo individually, so one setting suits a varied set.
Nothing is uploaded
No server, no queue, nothing to delete afterwards. Close the tab and every trace of the image goes with it.
What each control does
Three of these decide where the triangles go. The largest facet is what you get in flat areas, the smallest is how far detail is allowed to subdivide, and the sensitivity decides how eagerly that happens.
| Setting | What it does | Try | Good for |
|---|---|---|---|
| Largest 20-30 | fine facets everywhere | smallest 4-8 | Detailed, subtle |
| Largest 50-80 | bold shapes in flat areas | smallest 8-12 | Abstract, graphic |
| Smallest 4-6 | detail subdivides far | any | Faces stay readable |
| Smallest 16-24 | coarse even on detail | any | Very abstract |
| Sensitivity 20-40 | close to a uniform grid | any | Even, wallpaper-like |
| Sensitivity 70-100 | follows the subject closely | any | Portraits, clear subjects |
| Outline 1-2 | visible facet edges | dark colour | Faceted, geometric look |
Adaptive
subdivision
0
files uploaded
0
unpainted pixels
2
triangles per facet
ZIP
batch download
Free
no account needed
FlipMyFormat vs other low poly tools
| Capability | FlipMyFormat | Typical free tool |
|---|---|---|
| Files stay in your browser | ||
| Triangles subdivide around detail | ||
| Every facet averaged over its real area | ||
| No unpainted pixels or seams | ||
| Optional facet outlines | ||
| Batch ZIP download without paying | ||
| No watermark on the output |
How to get low poly that keeps the subject
Low poly art works by throwing away almost everything and keeping only the large shapes, which means the entire question is where you spend your triangles. Most filters answer it badly by using a uniform grid, so an empty sky receives exactly as many facets as a face does. The sky does not need them, since it is nearly one colour and would look identical with a tenth as many, and the face desperately does, because that is where all the information the viewer cares about lives. The result is a picture that reads as noise in the smooth areas and mush in the important ones. The approach here is to start with large cells and split any cell whose contents vary too much, repeating until either the variation is low enough or the cell has reached your minimum size. That puts the triangles where the picture actually is. Practically, the three size controls interact and it is worth setting them in order. The largest facet decides how bold the flat areas look and is the main lever on the overall character. The smallest decides whether a face survives, and if your subject is turning to mush it is almost always this that needs lowering. The sensitivity then decides how eagerly the subdivision happens between those two bounds, and pushing it up is what makes the triangles visibly cluster around your subject. Outlines are a separate stylistic decision: off, the result reads as faceted glass, and on, it reads as a wireframe render.
- 1
Add a photo
Drag it in, click to browse, or paste with Ctrl+V. A clear subject against a simple background gives the subdivision something obvious to follow.
- 2
Set the largest and smallest facet
The largest controls the flat areas, the smallest controls how far detail can subdivide. The gap between them is where the effect lives.
- 3
Tune the sensitivity and export
Higher sensitivity clusters triangles more tightly around your subject. Export PNG so the facet edges stay hard.
Where to spend the triangles
Subdivision that follows the picture
The subdivision measures the standard deviation of brightness inside each cell and splits the cell into four when that exceeds a threshold, repeating until the variation is acceptable or the cell reaches your minimum size. The effect is easy to measure. On a test image that is half flat grey and half fine detail, a uniform grid at the same facet size gives 16 facets to each half. Adaptive subdivision produced 16 in the flat half and 256 in the detailed one, which is sixteen times the resolution spent where it actually matters. The sensitivity control is what governs it: on an image of moderate texture, sensitivity 0 produced 32 facets in total and sensitivity 100 produced 485. That is the entire argument for doing it this way, and it is why a face survives here and turns to mush under a uniform grid.
No gaps, and honest facet colours
Two smaller things are worth getting right. Every cell is split into exactly two triangles along one diagonal, and every pixel in the cell is assigned to one triangle or the other by a single test, so no pixel can fall between them and none is painted twice. We check the whole output for pixels that were never written and find none. The second is how each facet takes its colour. Averaging the pixels the triangle actually covers is more work than reading the colour at its centre, and much more stable: on a test image with light noise, centre sampling produced facets varying by 34 levels across a flat area while averaging produced facets identical to each other. That difference is most visible at large facet sizes, where a single wrong colour covers a lot of the frame.
What people use it for
Wallpapers and backgrounds
Low poly is a staple of desktop and phone wallpaper, and large facets scale to any screen without looking soft.
Portrait art
A faceted portrait is a common commission, and the adaptive subdivision is what keeps the face readable.
Poster and event design
The geometric look reads as modern and reproduces well in print at any size.
Game and app art
Low poly is an established game aesthetic, so faceted photographs sit naturally alongside it.
Album and cover artwork
Bold facets are striking at thumbnail size, which is most of what a cover needs.
Presentation backgrounds
A faceted photograph behind text is far less distracting than the photograph itself.
Logo and brand explorations
Faceting a product or a landmark is a quick route to a geometric mark.
Stickers and merchandise
Flat colour areas print cleanly and survive being reproduced small.
Six tips worth knowing
If your subject is turning to mush, lower the smallest facet. That is almost always the control at fault.
The largest facet is the main lever on character. Large means bold and abstract, small means subtle and detailed.
Push the sensitivity up for portraits so the triangles cluster tightly around the face.
Simple backgrounds work best. A busy background pulls triangles away from your subject, which is the opposite of what you want.
Turn outlines on for a wireframe render look and off for faceted glass. They are two quite different results.
Export PNG. Flat facets with hard boundaries is exactly the content JPEG fringes worst.
Troubleshooting
My subject is unrecognisable
Lower the smallest facet so detailed areas can subdivide further, and raise the sensitivity so they subdivide more eagerly.
The facets look even everywhere
Your sensitivity is low, which is close to a uniform grid. Raise it so busy areas split and flat ones do not.
It is slow on large images
Subdivision plus averaging every facet is real work. The preview runs on a smaller copy, so dragging stays responsive even when the full export takes a moment.
There are visible seams between facets
There should not be, since every pixel belongs to exactly one triangle. If you see lines, check whether the outline control is above zero.
Frequently asked questions
What is a low poly effect?
Rebuilding a photograph from a small number of flat coloured facets, the way a low polygon count 3D model is built. It keeps only the large shapes and discards everything else.
Why does adaptive subdivision matter?
Because a uniform grid spends the same number of triangles on an empty sky as on a face. On a test image half flat and half detailed, a uniform grid gives 16 facets to each half while adaptive subdivision gave 16 and 256.
How does it decide where to subdivide?
It measures the standard deviation of brightness inside each cell and splits the cell into four when that exceeds a threshold, repeating until the variation is low enough or the cell hits your minimum size.
How is each facet coloured?
By averaging every pixel the triangle actually covers. On a noisy flat field, sampling the centre instead gave facets varying by 34 levels while averaging gave facets identical to each other.
Are there gaps between the facets?
No. Each cell splits into exactly two triangles by a single test, so every pixel belongs to one or the other. Checked across a whole output, no pixel is left unwritten.
My subject turned to mush
Lower the smallest facet so detailed areas can subdivide further, and raise the sensitivity so they do it more eagerly. That control is almost always the problem.
What is the difference between the two size controls?
The largest is what you get in flat areas such as sky, and the smallest is how far a detailed area is allowed to split. The gap between them is where the whole effect lives.
How is this different from a mosaic?
A mosaic uses irregular tile shapes with grout between them and a uniform tile size. This uses triangles that vary in size according to how much detail is present, with no gaps at all.
Should I use outlines?
It is a stylistic choice. Off, the result reads as faceted glass; on, it reads as a wireframe render. Both are legitimate and they look quite different.
Which photos work best?
A clear subject against a simple background. A busy background pulls triangles away from your subject, which is the opposite of what you want.
Is the result the same every time?
Yes. The subdivision depends only on the image and your settings, with no randomness anywhere, so the same photo always produces the same facets.
Does the image change size?
No. The output keeps your original width and height, with the facets drawn into it.
Why is it slow on large images?
Subdividing and then averaging every facet is genuine work. The preview runs on a smaller copy so dragging stays responsive, and only the export processes at full size.
Which format should I export?
PNG. Flat areas of colour separated by hard boundaries is precisely what JPEG handles worst, adding fringing along every facet edge.
Are my photos uploaded to a server?
No. The subdivision and the export both run in your browser using the canvas API. Nothing is sent anywhere.
Is transparency preserved?
Yes for PNG and WebP output. The alpha channel is untouched. JPG has no alpha, so transparent areas are filled with the background colour first.
Can I process a batch?
Yes, and it works well because the subdivision adapts to each photo individually. One setting suits a varied set.
Does it add a watermark or need an account?
No to both. No sign-up, no email wall, no daily limit and no watermark on the output.