Add a Vignette to an Image

Pick an image and a strength — dark, light or colored edges are applied in your browser, nothing is uploaded.

Try:
Vignetted image

Add a vignette to a photo, in your browser

Pick an image and a strength — a vignette is applied with ffmpeg, entirely in your browser. A vignette darkens the image gradually toward the edges and corners, pulling the viewer's eye to the middle of the frame; it's the classic finishing touch for portraits, product shots, and moody landscapes. Switch Mode to lighten to brighten the edges instead for a faded, hazy border, or pick a Vignette color (a name like sepia or hex like #1A2B3C) to fade the edges toward any tint — white for an airy high-key border, sepia for a vintage look, or a brand color for thumbnails. Under the hood the friendly Strength value (0–100) is mapped onto the ffmpeg vignette filter's angle — the default 40 lands exactly on the filter's classic default, and you never have to think in radians.

Worked example

Upload portrait.jpg and leave Strength at 40 — the result keeps the same dimensions, the face in the middle stays at full brightness, and the corners fall off softly. In numbers: on a plain white test image, strength 40 leaves the center at RGB 255 while the far corners drop to roughly RGB 110; at strength 80 the corners are nearly black (about RGB 3), and at 100 they reach pure black. With Vignette color #B08050 and strength 100, the corners land exactly on RGB (176,128,80) while the center stays untouched. If your subject sits on the left third, set Center X to 25 — the bright spot follows the subject and the right side darkens more.

Picking a strength

Picking a color

Limits and edge cases

FAQ

What strength should I use?

Start with the default 40 — it matches ffmpeg's classic vignette and reads as "professionally finished" rather than "edited". Go down to 20–30 if you only want subtle depth, and up to 60–85 for a deliberately moody look. 100 drives the corners to pure black (or your chosen color), which works as a spotlight effect but overwhelms most photos.

Can I make a white or light vignette instead of a dark one?

Yes, two ways. Set Mode to lighten to brighten the edges toward white — a faded, dreamy, high-key border where at 100 the corners are fully white. Or keep darken mode and set Vignette color to white: the edges then fade toward exact white rather than being brightness-amplified, which looks softer on already-bright photos.

Can I use a custom color, like sepia or a brand color?

Yes. Vignette color accepts common color names (black, white, gray, sepia, navy, red, …) and hex values (#A52 or #AA5522). The edges fade smoothly from the untouched center toward that color; at strength 100 the far corners are exactly the color you picked. Colors apply in darken mode — combining a color with lighten is rejected with a hint.

Can I move the vignette off-center?

Yes. Center X and Center Y place the bright spot as a percentage of the image size — 50/50 is the middle, 25/50 centers it on the left third, 50/0 on the top edge. Percentages mean the same values work for any resolution.

Can I download the result in a different format?

Yes — set Output format to png, jpg or webp to convert while the vignette is applied; keep (the default) preserves the input format. JPG conversion uses a high-quality setting, and converting an animated GIF keeps its first frame only.

Does the vignette crop or resize my image?

No. The output has exactly the same width and height as the input — a vignette only changes pixel color, gradually with distance from the chosen center. If you want to crop as well, run the image through the image-crop tool first.

Is my photo uploaded anywhere?

No. The page downloads an ffmpeg WebAssembly build once and then processes your file locally in the browser tab — the image never leaves your device.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool image-vignette 'url=https://example.com/input' 'strength=40' 'mode=darken' 'center_x=50' 'center_y=50' 'format=keep'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/image-vignette/?url=https://example.com/input&strength=40&mode=darken&center_x=50&center_y=50&format=keep