Vanilla JS Jacobi SVD Canvas API
Source
Linear Algebra × Image Processing

Image Compression
via SVD

Upload any image and watch Singular Value Decomposition strip away redundancy in real time. Adjust rank k to find the sweet spot between file size and visual quality.

A Uk · Σk · VTk rank-k approximation
1Upload any PNG, JPG or WEBP image
2Browser computes Jacobi SVD per channel
3Drag slider to choose rank-k approximation
4View metrics, error map & download lossless PNG

Drop image here

PNG, JPG, WEBP — up to 2048×2048
Or click to browse files

Original
Compressed (rank k = )
Error map (|original − compressed| × 5) difference
Computing SVD...
Rank k
20
Channel mode
Metrics
Compression
PSNR (dB)
Energy %
Saved
Singular value spectrum
PSNR vs k (quality curve)
Display
Export