How to compress an image without uploading it
Browsers can resize and re-save images on your own device. How local processing works, how to check that a tool really keeps files local, and its limits.
Reviewed: 2026-10-06 · Sources checked: 2026-10-06
Can I compress an image online without uploading it to a server?
Yes. Modern browsers can open an image, draw it at a new size and save it again in JPEG or WebP entirely on your device. Sajinbaro works this way: the image, its file name and its size are never sent to a server. You can verify this yourself in your browser's developer tools.
1. How local processing works
- The browser reads the file you picked and checks its real format from the first bytes, not the file extension.
- It decodes the image (createImageBitmap) and draws it onto an off-screen canvas at the size you chose.
- It saves the canvas again as JPEG, PNG or WebP with the quality you chose (canvas.toBlob).
- The result stays in memory until you download it; closing the page discards it.
2. How to check that a tool keeps your image local
- Open the developer tools (F12), go to the Network tab, then pick and process an image.
- Look for requests whose size is close to your image — an upload would show one. On Sajinbaro you will only see small requests for the page itself and an anonymous usage counter that carries the event name, never the image.
- As a further check, load the page, turn off the network, and process an image — local tools keep working.
3. Limits of in-browser processing
- Very large images can run out of memory on phones, so Sajinbaro accepts one image up to 20 MB, 20 megapixels and 8,192 px on the long side.
- Formats depend on the browser: HEIC, AVIF, GIF and SVG are not supported here.
- Re-saving usually drops camera metadata (EXIF), but this is not guaranteed for every browser and file — check the result if location data matters.
Sources and rules
- Calculation: The size examples in this guide are generated by the same code as the tools on this site.
- createImageBitmap() (MDN): Decoding an image in the browser (checked 2026-10-06).
- HTMLCanvasElement.toBlob() (MDN): Saving a canvas as an image file with a format and quality (checked 2026-10-06).