PNG Sepia Filter

Apply a warm sepia tone to any PNG image β€” the classic vintage photograph look β€” in your browser. Adjust intensity from subtle to fully aged. Transparency preserved.

100%
100% private β€” processed in your browser. No upload, no server.

Where the sepia look comes from

"Sepia" originally referred to a brown ink derived from the cuttlefish (genus Sepia), used in 19th-century photographic toning. Photographers would tone silver-based prints with sepia to make them more durable and to give them their characteristic warm brown cast. By the early 20th century, sepia photographs had become so common β€” and so associated with nostalgia and history β€” that the word now means any monochromatic image with a warm brown tint, regardless of how it was made.

Digital sepia simulates that look mathematically. The standard formula takes each pixel's red, green and blue values and remaps them through a fixed matrix that biases the output toward warm browns:

new_R = 0.393Γ—R + 0.769Γ—G + 0.189Γ—B
new_G = 0.349Γ—R + 0.686Γ—G + 0.168Γ—B
new_B = 0.272Γ—R + 0.534Γ—G + 0.131Γ—B

These coefficients (Microsoft's reference values, also used by the W3C CSS sepia() filter) produce a balanced, recognisable vintage warmth without going overly orange. The intensity slider blends the sepia result with the original colour image β€” 100% is pure sepia, 50% is half-strength tint, 0% is the original untouched.

When sepia works β€” and when it doesn't

Sepia is a stylistic choice with a strong emotional load: it makes images feel old, contemplative and slightly nostalgic. That tone fits some content beautifully and clashes badly with others.

Works well for:

Doesn't suit:

How this tool processes your image

The browser draws your PNG onto a hidden canvas, then iterates pixel by pixel through the image data. For each pixel, it computes the sepia-mapped R, G, B values via the formula above, then blends them with the original values using the intensity slider as the mix ratio. The alpha channel passes through untouched, so transparency survives intact. The result is re-encoded as a PNG you can download.

Processing a 1920Γ—1080 image (about 2 million pixels) takes around 100–200 milliseconds on a typical desktop, longer on mobile. Very large images (8K and up) can take a few seconds β€” the work is single-threaded inside the browser's main JavaScript context.

Intensity slider β€” how to use it

Combining sepia with other effects

For a more believable "old photograph" look, layer multiple effects:

  1. Apply sepia (this tool, 80–100%).
  2. Reduce contrast slightly with the Brightness/Contrast tool β€” old photos rarely have crisp blacks or pure whites.
  3. Add subtle blur with PNG Blur (1–3 pixel radius) to mimic old lens softness.
  4. Optionally add grain or vignette in your image editor.

Tips and best practice

FAQs

Will transparency be preserved?

Yes β€” the alpha channel is unmodified.

Is the result the same as Instagram's sepia filter?

Close but not identical. Instagram's filters add layered effects (vignette, blur, contrast curves) that this tool doesn't. The base sepia transform is industry-standard.

Can I tint to a different colour?

This tool produces warm brown only. For cyanotype, duotone or other tints, desaturate first then tint in an editor.

Does the file size change?

Slightly β€” sepia images often compress marginally better than full-colour ones.

Is anything uploaded?

No. The filter runs entirely in your browser.

Can I batch-apply sepia?

Not yet β€” one at a time.

Related tools