Enlarge images without the blur
The browser's built-in upscaler uses bilinear interpolation, which blurs enlargements badly. This tool uses Lanczos3, a six-tap windowed sinc kernel, to keep edges sharp at 2× and 4×.
Why Lanczos3 matters
When you double an image, every source pixel must become four. The question is how to choose the colour of those four pixels from the one you had. Bilinear interpolation averages the two nearest pixels on each axis, fast, but soft. Lanczos3 looks at six neighbours on each axis, weighted by a windowed sinc function, and produces noticeably sharper edges.
The difference is most visible on text, line art and architectural detail. A photo of a building enlarged bilinearly looks painted; Lanczos3 keeps the window frames crisp.
Two strengths
Strong: the raw Lanczos3 output, with no post-processing. Best for photographs where you want maximum sharpness.
Mild: Lanczos3 plus a light unsharp mask that pulls edge contrast without introducing halos. Best for images that will be viewed at screen resolution, where a touch of softness looks more natural.
Nothing is uploaded
The kernel runs on the raw pixel data in your browser tab. The image is decoded at full resolution, resampled through Float32 intermediate buffers, and re-encoded. No server, no account.
Quick questions
Is 2× or 4× better?
2× is usually enough for screen display and web use. 4× is for print or when you need to crop into an enlarged image. The larger the enlargement, the more the algorithm has to invent, 4× will look softer than 2× no matter what.
Does this work on any image format?
Any format the browser can decode. JPG, PNG, WebP, AVIF, BMP, GIF and HEIC. Output is JPG, PNG or WebP.
Are my images uploaded?
No. Everything runs in your browser. The Lanczos3 kernel is pure JavaScript operating on pixel arrays.
Converters
Start here if your files still need converting before you use this tool.