Sepia tone photo filter
Add a warm, vintage sepia tone to any photo for that classic old-photograph look. An adjustable intensity slider lets you blend between the original colours and a full sepia effect — from a subtle warm wash at 20% to the rich monochrome brown of a Victorian print at 100%.
The sepia matrix explained
Historical sepia prints had a characteristic reddish-brown tone because silver in old photographic paper was replaced by silver sulfide over time, shifting image colours toward warm browns. The digital equivalent mimics this by mixing the RGB channels according to a standard weighting matrix:
sepia_R = 0.393 × R + 0.769 × G + 0.189 × B (capped at 255)
sepia_G = 0.349 × R + 0.686 × G + 0.168 × B (capped at 255)
sepia_B = 0.272 × R + 0.534 × G + 0.131 × B (capped at 255)
Notice that green contributes heavily to all three output channels (0.769, 0.686, 0.534), while blue contributes the least — this is what produces the warm, amber quality. The matrix values were established by the W3C and are the widely accepted standard for digital sepia filters.
The intensity slider blends between the original pixel and the sepia result:
output = original + (sepia − original) × intensity. At 0% you see the
original; at 100% you see pure sepia; intermediate values create the toned look.
Pixel-level example
For a mid-brown pixel at R=120, G=80, B=60 at full sepia intensity:
| Channel | Calculation | Result |
|---|---|---|
| R | 0.393×120 + 0.769×80 + 0.189×60 | ≈ 120 |
| G | 0.349×120 + 0.686×80 + 0.168×60 | ≈ 107 |
| B | 0.272×120 + 0.534×80 + 0.131×60 | ≈ 83 |
The result (120, 107, 83) is a warm amber-brown — the signature colour of sepia.
Practical uses and intensity guide
- 20–35% intensity: subtle warm tint, good for social media portraits where you want a period feel without going full monochrome.
- 50–70% intensity: noticeably sepia, still some colour visible — works well for travel or nature shots that you want to feel timeless.
- 90–100% intensity: full vintage effect; the image reads as near-monochrome with a distinctly warm brown tone — classic for family archive scans.
All processing runs in your browser using the Canvas API. Your image is never uploaded and nothing is stored on any server.