Give any photo the look of a hand-painted canvas. Choose a painting style, set the brush size and color detail, add thick impasto brush relief and canvas weave, compare with the original using the before/after slider, and download a PNG.
Last updated:
◂ ▸
OriginalPainting
Painting…
finebroad
bolddetailed
Advertisement
Advertisement
How to use the Photo to Oil Painting
Add a photo: drop it on the box, paste it or press Choose photo. A sample landscape loads so you can try the effect right away.
Pick a preset such as Classic oil, Impasto or Impressionist.
Adjust the brush: Brush radius sets the stroke size, Intensity levels sets how many tones each stroke can pick from (fewer = flatter, more painterly).
Add texture with the Impasto and Canvas texture sliders, and boost Vibrance for richer paint.
Compare with the before/after slider, choose an output size and download the painting as PNG or JPG.
How the oil painting effect is made
The default filter is the classic oil paint (intensity histogram) filter used by many image editors:
Each pixel's brightness, (R + G + B) ÷ 3, is sorted into one of L intensity levels.
For every pixel, the tool counts how many pixels inside the brush square (radius r) fall into each level.
The most frequent level wins, and the pixel takes the average color of the pixels in that level.
Because neighbors usually pick the same winning level, the picture breaks up into flat dabs with sharp borders, which reads as brush strokes. A sliding-window histogram keeps it fast: moving one pixel to the right only adds one column and removes another.
The alternative Kuwahara filter looks at four overlapping squares around each pixel (top-left, top-right, bottom-left, bottom-right), picks the one whose brightness varies least and uses its mean color. Summed-area tables make every square average a constant-time lookup.
Finally, Impasto treats the painted brightness as a height map and lights it from the top-left (a simple emboss), and Canvas texture multiplies in a woven over-under thread pattern with a little fiber noise.
Settings guide
Look you want
Brush radius
Intensity levels
Impasto / texture
Light painterly touch, faces stay recognizable
1-3
25-40
Low
Classic oil on canvas
4-5
18-24
Medium
Thick palette-knife paint
5-7
12-18
High impasto
Loose impressionist dabs
7-12
8-12
Medium, more vibrance
Smooth, watery strokes
Kuwahara, 4-7
-
Low
Tips for the best painting
Landscapes, flowers, pets and still life work best. For portraits, keep the brush radius small so eyes and mouths keep their shape.
Bigger downloads look finer. The brush is scaled to the image size, so a 2400 px download has the same strokes as the preview but with sharper edges and texture.
For printing on canvas, lower the Canvas texture slider: the real canvas will add its own texture.
Frequently asked questions
How does the oil painting filter work?
For every pixel the tool looks at the surrounding brush area, sorts those pixels into a number of brightness bins (the intensity levels), finds the most common bin and paints the pixel with the average color of that bin. Neighboring pixels end up sharing the same color, which creates flat dabs of paint with crisp edges, just like brush strokes.
What is the Kuwahara filter?
Kuwahara is an edge-preserving smoothing filter. It splits the area around each pixel into four overlapping squares, picks the square with the lowest color variance and uses its average. Flat areas become smooth strokes while edges stay sharp, giving a softer, more fluid painterly look than the oil paint filter.
What do Brush radius and Intensity levels change?
Brush radius is the size of the area each pixel looks at: bigger means broader strokes and less fine detail. Intensity levels is the number of brightness bins: low values (8-12) give bold, poster-like strokes, high values (25-40) keep more subtle shading.
What does Impasto do?
Impasto is the painting technique of laying paint on thickly. The tool simulates it by treating the brightness of the painted image as a height map and lighting it from the top-left, so stroke edges get a highlight and a shadow and look raised.
Is my photo uploaded?
No. Everything runs in your browser with JavaScript and the Canvas API. Your photo is never sent to a server.
What resolution can I download?
Choose up to 2400 px on the longest side (or the photo's own size if it is smaller). The live preview is computed at up to 1000 px to stay fast; the download is rendered again at full size with the brush scaled to match, so it looks the same, only sharper.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.