Sepia tone photo filter
Add a warm, vintage sepia tone to any photo for that classic old-photograph look. An intensity slider lets you blend smoothly between the original colours and a full sepia effect, so you can go from a subtle warm wash to a fully toned print.
How it works
The image is read into a <canvas>, and each pixel is run through the standard
sepia matrix:
sr = 0.393R + 0.769G + 0.189Bsg = 0.349R + 0.686G + 0.168Bsb = 0.272R + 0.534G + 0.131B
Each result is capped at 255. The intensity slider sets a blend factor t
(0-100% → 0-1), and the final channel is original + (sepia − original) × t. So
intensity 0 leaves the photo unchanged and intensity 100 applies full sepia.
Example
A pixel with R=120, G=80, B=60 at full intensity:
- sr = 0.393×120 + 0.769×80 + 0.189×60 = 47.2 + 61.5 + 11.3 ≈ 120
- sg = 0.349×120 + 0.686×80 + 0.168×60 ≈ 107
- sb = 0.272×120 + 0.534×80 + 0.131×60 ≈ 83
The result (120, 107, 83) is the characteristic warm brown of sepia.
All processing happens in your browser — your image is never uploaded.