Sepia Image

Give a picture the warm brown cast of an old print, at a strength you choose, with the work done in this tab.

Runs on your deviceImagesWorkingNo account needed

What this tool does

Sepia Image reads every pixel and rewrites its red, green and blue through the standard sepia matrix — the one that builds the new red from 0.393 of the old red, 0.769 of the green and 0.189 of the blue, with the green row about a tenth smaller than that one and the blue row about a third smaller. Because those three rows are so nearly multiples of one another, the ratio between the output channels barely moves from pixel to pixel: before anything clips, every pixel lands on a shade of the same brown, so the original hues are not warmed so much as replaced by a single warm tone.

Two things follow from the actual numbers. Divide the red row by its own total and the weights come out near 0.29 red, 0.57 green and 0.14 blue, against 0.21, 0.72 and 0.07 for the Rec. 709 luminance that a black-and-white conversion uses — so deep reds and blues do not go as dark here as a straight grey version of the same photo would take them. Pure red arrives as 100, 89, 69, where Grayscale Image on its default method returns 54. The other thing is the gain: the red and green rows total 1.351 and 1.203, so the transform lifts the picture as well as tinting it, and anything already near white clips at the ceiling — pure white comes back as 255, 255, 239. A bright, high-key image will therefore lose some separation in its highlights, which is the thing worth checking before you keep the output.

Strength runs from 1 to 100% and starts at 100. Below full, each channel is mixed linearly back towards the value it had, so 40% leaves a photograph still recognisably in colour with a warm cast over it, while 100% is the true single-hue tone. That flat colour transform is the entirety of what happens. There is no grain, no vignette, no scratches, no softened edges and no paper texture, so if the goal is a convincingly aged photograph rather than a sepia tone, this is one step of that job and not all of it. The change is also one-way: the matrix is so close to singular that the original colours cannot be worked back out of the result, so keep the file you started from.

Everything happens in this browser tab on a canvas, which means the picture is not uploaded and the tool still runs with the network switched off. Re-encoding is what that costs. Camera, date and GPS metadata are dropped from the output; JPG, WebP and AVIF are compressed again at the quality you set; and an animated GIF contributes only its first frame. The output can follow the input or be forced to JPG, PNG, WebP or AVIF, with GIF and BMP inputs coming back as PNG because a canvas cannot write those two. Transparency survives into PNG, WebP and AVIF because the alpha channel is never touched — but JPG has no transparency, so transparent areas are filled with white, and this tool has no setting to pick a different colour.

How to use it

  1. Add one photo or several. Anything the browser itself can decode is accepted: JPG, PNG, WebP, GIF, BMP, SVG, and AVIF where the browser supports it. Files are toned one after another under the same settings, and the finished set is listed for saving one by one or in a single ZIP. A browser has no decoder for HEIC, TIFF or camera RAW, so those are refused with an error that says which of the three it is and what to do instead.
  2. Set the strength. Full strength is where the slider sits when the page loads, and the lowest it goes is 1%. Anything below 100 is a blend with the original, so lower numbers keep more of the photograph's own colour showing under the brown.
  3. Choose the output format. The choices are the input's own format, or JPG, PNG, WebP or AVIF. Pick PNG when the image carries transparency you need to keep, or when the result is going to be edited again afterwards.
  4. Set the quality and run it. Quality is a 10-to-100 slider starting at 88; it changes JPG, WebP and AVIF output and does nothing at all to PNG, which is lossless either way. There is no preview on the page, so settling on a strength means running the job and opening the saved file.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Giving a set of photographs one look

A gallery or an article reads as a series when every image shares a tone. Add the whole set, run once, and each file comes back toned identically.

Toning a scanned family photograph

A scan of an old photo often carries a colour cast off the paper and the ink. Full strength replaces that accidental mixture with one deliberate brown.

A vintage title card or a poster background

Behind type, an image at 100% stops competing for attention: one hue and a range of brightness, instead of colours pulling against the text.

Warming an image that is already black and white

Neutral grey can read as cold in print. A pass here moves the same tonal range towards brown without altering the composition or the crop.

Questions

Does the photo leave my machine?
No. The decode, the pixel maths and the re-encode all happen in this browser tab, which is why the tool still works with the network disconnected and why no copy of the photo exists anywhere else.
Can I undo the sepia afterwards?
No. At full strength the three channels collapse onto a single hue, so two different colours that shared the same weighted value land on the same brown with nothing left to tell them apart. Keep your original file.
Why do the bright areas look flat?
Because the matrix brightens while it tints — the red and green rows sum to more than one, so highlights are pushed past the top of the range and clip. Darkening the picture first with Brightness & Contrast gives them somewhere to go.
How is this different from Grayscale Image?
Grayscale Image maps each pixel to a neutral grey and offers six ways of calculating it. Sepia Image applies one fixed matrix and lands on a warm brown rather than neutral, with strength as the only control over how far the tone is carried.
Does it work on an animated GIF?
Only on the first frame. What reaches the canvas is one still picture, and since GIF is not a format the canvas can write back out, that frame lands as a PNG if you leave the format on the input's own.
Is EXIF data preserved?
No. The output is written fresh from the canvas, so camera model, timestamps and GPS coordinates do not survive the pass. Image Metadata Viewer will list the lot before the pass, if any of it is worth keeping a note of.
Can I choose a different shade of brown?
Not here — the matrix is fixed, and Strength only blends between it and your original. Run the result through Hue & Saturation to push the tone redder, cooler or less saturated once it has been applied.

Related tools