Image Resizer / Compressor

Resize and compress an image with a quality slider, entirely on your device.

image-resizer.js
Click or drag an image here

Upload an image and this tool draws it onto an HTML canvas, letting you set new dimensions and a JPEG quality level before downloading the result. Because the resizing happens using your browser's canvas API, the original file is never uploaded anywhere — useful for shrinking photos before emailing them or uploading to a site with a file-size limit.

Why so many websites and forms have image size limits

Every image a server stores or serves costs bandwidth and storage, and large photos straight from a modern phone camera can easily be 5-10 megabytes each — far more than most web pages, email attachments, or application forms actually need to display an image clearly. Resizing down to the dimensions an image will actually be displayed at, and compressing it with reasonable JPEG quality, can shrink a file by 80-90% with no visible difference to a viewer, which is why almost every upload form on the internet enforces some kind of size limit.

Resolution versus file size — two different things being controlled here

Changing the pixel dimensions (width and height) directly reduces how much detail the image contains, which is the biggest lever for shrinking file size, especially for images that will only ever be viewed at a smaller size (like a profile picture or a thumbnail). The quality slider works differently — it controls how aggressively JPEG compression discards fine detail within the existing pixel dimensions, trading some image fidelity for a smaller file without changing the actual width and height.

Why the canvas API makes this possible without a server

The HTML canvas element gives JavaScript direct pixel-level access to an image once it's loaded into the browser, including the ability to redraw it at different dimensions and re-export it as a new file in a chosen format and quality. This is the same underlying browser technology that photo-editing web apps use — the difference here is that everything stays local to your device rather than being sent to a company's servers for processing.

How to use it

  1. Click the upload area and choose an image, or drag one in.
  2. Set the new width and height (or keep the aspect ratio locked).
  3. Adjust the quality slider to control file size.
  4. Click Download to save the resized image.

Common ways people use this tool

Shrinking photos before emailing them

Resize a phone photo down before attaching it to an email that has a file-size limit.

Preparing images for a website upload form

Reduce a large product photo to the dimensions and size a CMS or marketplace listing requires.

Creating a smaller thumbnail version

Generate a compact version of an image for use as a profile picture or preview thumbnail.

Tips for getting the best results

  • Lock the aspect ratio unless you specifically want to stretch or squash the image, since unlocking it can distort proportions.
  • Start around 80% quality for photos — it's usually visually indistinguishable from 100% but noticeably smaller in file size.
  • Resize to the actual dimensions the image will be displayed at, rather than relying on a browser or app to scale it down later.
  • For images with sharp text or line art rather than photos, keep quality higher, since compression artefacts are more visible on flat colours and edges.

Frequently asked questions

Does resizing reduce image quality?

Shrinking dimensions is generally lossless in sharpness relative to the smaller size, but lowering the JPEG quality slider does introduce some compression artefacts to reduce file size.

What format is the output?

The resized image downloads as a JPEG by default, which compresses well; use the Image Format Converter tool if you need PNG or WebP output.

Is there a file size limit?

There's no hard limit, but very large images (over roughly 20 megapixels) may be slow to process depending on your device's memory.

Will resizing remove the image's metadata, like camera info or location?

Yes, redrawing an image onto a canvas and re-exporting it strips EXIF metadata such as camera model and GPS location, which can actually be a privacy benefit.

Can I resize multiple images at once?

This version handles one image at a time; for batch resizing many files, a dedicated desktop tool would be more efficient.

Why does my resized image look slightly different in colour?

Converting to JPEG format can very slightly shift colours due to compression, though this is usually imperceptible at reasonable quality settings.

Is my original image altered or deleted?

No — this tool only reads the file you upload to create a new resized copy in your browser; your original file on disk is never modified.

Why does my resized image sometimes look softer or slightly blurry?

Shrinking an image involves the browser interpolating pixel values to fit the new smaller grid, which can introduce a very slight softening — this is normal and usually imperceptible at typical viewing sizes, though enlarging an image beyond its original dimensions makes this effect much more noticeable.

Can I resize an image to be larger than the original?

Yes, though enlarging beyond the original resolution doesn't add real detail — it stretches existing pixels, which can make the result look noticeably softer or blocky compared to a genuinely higher-resolution source image.

Does this tool work with transparent PNG images?

Yes, transparency is preserved through the resizing process as long as you keep the output format as PNG rather than converting to JPG, which doesn't support transparency at all.