Compress a photo to 50 KB

Drop your photos below and each one comes back as a JPG under 50 KB, at the best quality and the largest size that fit, or says Over 50 KB if it couldn't get there. It works on iPhone HEIC photos too. Up to 16 MB a file as a guest or 32 MB with a free account. Free. No account, no watermark.

  • Set to JPG
  • Largest size that fits
  • HEIC accepted

Balance between the image quality and compression

Output format

Auto tries every format your image can be saved as and gives you the smallest one

Resize

Change the width, height or scale of every image you upload

Original Dimensions Percentage
px
px

Set one side to keep the proportions, or both for an exact size.

Percentage
%

Size limit

Fit every image under a file size, for a form or a site with an upload limit

Any size Under a size
KB

Saved as JPG, WebP or AVIF. When quality alone can't get there, the image is made smaller to fit.

How the size limit works

Responsive image set

Pro

The image at several widths, with a srcset to paste into your page, so each screen loads the size it needs

One size Responsive set
px

Up to 8 widths, each in the format and at the level of the result. A width wider than the image stops at its own width, so nothing is enlarged.

How responsive sizes work

Keep EXIF Keeps details such as the camera, the date and the location in each file. Leave it off to remove them and save space.
Write alt text with AI Describes each image for screen readers and search engines, and suggests a file name
Alt text language
No language matches
English
Spanish
French
German
Italian
Portuguese
Dutch
Polish
Swedish
Turkish
Russian
Ukrainian
Arabic
Persian
Hebrew
Hindi
Indonesian
Vietnamese
Thai
Japanese
Korean
Simplified Chinese
Traditional Chinese
Rename files Downloads take the suggested name instead of the one you uploaded

Pro
Uploading a zip comes with Pro: the browser opens it and uploads its images in the folders they sat in, and the zip of the results keeps them. On your plan, unzip it and drop the images here. How folders and zips work

Up to 16 MB per image PNG, JPG, WEBP, GIF, HEIC, TIFF, or a ZIP of them on Pro

Guests get 10 images a day, 10 left today. A free account gets 40 a day and 7 days of Pro.

Upload a folder, or a zip

Pro

Pick a folder and every image in it uploads, with the folders inside it, and Download Selected gives them back in the same folders. A zip of images dropped on the box works the same way, opened in your browser.

How folders and zips work

Auto-start
On, each image starts compressing as soon as it uploads. Off, images wait in the box so you can check the settings, then start together.
Delete this image?
The image and its optimized copy will be removed from storage. This cannot be undone.

Rename this image
Choose the name the optimized image downloads with. Its format stays the same.

Uploaded as

Rename the selected images
Each image gets this name and a number, counted in the order they were uploaded. Their formats stay the same.

Share this image
AI alt text
Alt text

Paste it into the alt attribute of the image on your page.

Choose the compression level that suits your images
Level What it promises What happens Pick it when
Lossless
Not one pixel changes in a JPEG, PNG or GIF The file is repacked, never re-encoded. JPEGs get an optimised Huffman table and progressive scan, PNGs a tighter deflate pass, GIFs a lossless gifsicle run. A lossy WebP has no repack step, so it is re-encoded at the highest quality the level allows. A sideways phone JPEG is rotated losslessly on the way through and keeps its colour profile. The one exception to the promise is a PNG or WebP tagged with a wide-gamut profile such as Display P3: its colours are converted to sRGB, so the values change but the picture doesn't. Logos, line art, anything you'll edit again, or when the file is evidence.
Smart
No visible change, targets 40 dB PSNR and a perceptual score of 70 A quality search runs per image and stops at the lowest quality that still clears the PSNR target. That answer is then scored on the SSIMULACRA 2 scale, because an average over every pixel lets a mostly flat picture through at a quality its detail doesn't deserve, and when it falls under 70 the search moves back up until it doesn't. Photos and graphics end up at different qualities because they need different ones; an image that cannot reach the targets inside the quality ceiling is encoded at the ceiling. Almost everything on a website. This is the default for a reason.
Ultra
Smallest file, targets 34 dB PSNR and a perceptual score of 50 The same two-stage search with lower targets. Fine texture softens a little; edges and text stay sharp. Thumbnails, backgrounds, email images, anything shown small or blurred anyway.
None
No compression at all Only the resize, conversion or metadata setting you chose is applied. Without a resize or a conversion every pixel comes back as it was: the file only loses its metadata, and with Keep EXIF on it comes back byte for byte. You only wanted to resize or convert, and quality is someone else's decision.

Measured, not estimated

Five photos fitted under 50 KB

Our five showcase photographs fitted under 50 KB as JPG, WebP and AVIF. Each cell gives the bytes that came out and the width and height they bought, so you can see which format leaves the most room under the same limit.

Sample Original As JPG As WebP As AVIF
Fjord 1800 by 1200 832 KB JPG 48 KB 94.3% smaller 863 by 575 44 KB 94.7% smaller 831 by 554 44 KB 94.7% smaller 900 by 600
Canoe at dusk 1800 by 1200 387 KB JPG 48 KB 87.5% smaller 1395 by 930 47 KB 87.9% smaller 1800 by 1200 46 KB 88.1% smaller 1800 by 1200
Raspberries 1800 by 1200 342 KB JPG 48 KB 86.1% smaller 1800 by 1200 48 KB 85.9% smaller 1800 by 1200 44 KB 87.2% smaller 1800 by 1200
Café interior 1800 by 1200 356 KB JPG 47 KB 86.8% smaller 1330 by 886 49 KB 86.3% smaller 1800 by 1200 45 KB 87.3% smaller 1800 by 1200
Night skyline 1800 by 1200 427 KB JPG 48 KB 88.7% smaller 1276 by 850 48 KB 88.6% smaller 1337 by 891 39 KB 90.8% smaller 1562 by 1041

Sources are 1800 by 1200 JPGs at quality 92, fitted at Smart with metadata stripped. Dense detail such as the fjord's foliage costs the most pixels, and a soft background such as the raspberries' the fewest.

Where the bytes go

Most of a photo's bytes go into fine detail

Hair, fabric, foliage and sensor grain are what make a JPG heavy. Under 50 KB the encoder has to give some of that up, and Iminify gives it up in the order that costs the least: quality first, down to the lowest the engine allows, then pixels.

The fit searches between that lowest quality and the ceiling of the level you chose, and keeps the best one that comes in under 50,000 bytes. A photo already under the limit is left alone; the limit is a ceiling, never a goal, so nothing is padded to reach it.

For a face, a background matters more than people expect. A plain wall takes almost nothing to encode, so the bytes go to the eyes and the hair. A busy room behind you takes its share, and the photo has to shrink further to make up for it.

What survives

What survives the trip under 50 KB

  • Colours as you saw them

    A Display P3 photo from an iPhone is converted to sRGB rather than having its profile thrown away, so skin tones don't turn dull on the screen that checks your form.

  • The proportions

    When the photo has to shrink, width and height shrink together. Nothing is cropped or stretched.

  • A HEIC, as a JPG

    An iPhone photo arrives as HEIC, which many forms refuse. It's read, turned upright and written as a JPG on the way through.

  • Camera details and location

    Stripped by default. A form rarely needs them, and on a small limit they take bytes the face could use.

When not to

When 50 KB is the wrong number

  • The form gives a range, such as 20 to 50 KB. Set the top of the range, then check the size each result shows: the limit is a ceiling, so a plain photo can come in under the bottom of the range too.
  • The photo is for print. A printer needs pixels more than a small file; keep the original for that.

How to

Get a photo under 50 KB in three steps

  1. 1

    Drop your photos

    One, or a whole set for several forms. JPG is already chosen under Format.

  2. 2

    Keep the File size at 50

    Or type the exact limit your form names; anything from 5 KB up works.

  3. 3

    Download each result

    Each row says Under 50 KB, or Fit under 50 KB when it was made smaller, next to the new width and height.

How the fit works, and how to ask for the same limit from code or an AI agent, is in the docs. Read the size limit guide

Questions

50 KB questions

Next

From the blog

What we've measured so far

We run the encoders on real photos and screenshots and publish the numbers: when WebP beats AVIF, what quality 80 means in each encoder, and how many kilobytes an image on a web page should weigh.

All posts
Two cards for the same photograph: the JPEG saved at quality 80, 449 KB, score 75.6, and the WebP made from it at quality 90, 531 KB, score 71.3.

Why is my WebP bigger than the JPG? Measured on 40 JPEGs and 4 PNGs

One photograph of our corpus, the Fjord, saved as a JPEG at quality 80 weighed 449,258 bytes. Converted to WebP at quality 90, it weighed 531,474, which is 18% more. Scored against the corpus master it came from (a JPEG saved at quality 92), the bigger file was also the worse picture: 71.3 on SSIMULACRA 2, a score where higher means closer to the master, against 75.6 for the JPEG. Google's WebP FAQ says a WebP can grow larger than its source and names three situations. We measured each on five photographs and four graphics. A WebP comes out bigger when its quality is set too high for the JPEG it came from, when it is lossless, or when a PNG already squeezed to 256 colours goes to lossy WebP. A fourth cause, which the FAQ doesn't list, is that WebP isn't always smaller than a good JPEG even at the same score. Whichever it is, keep the smaller file when the two look alike.

7 min read
Two cards under the title "Do AI images hurt SEO? The file can.": a Gemini 2K picture as delivered, 3.95 MB, largest paint 20.3 s; the same picture resized to 720 wide, 104 KB, 1.4 s, in Lighthouse's mobile test.

Do AI images hurt SEO? What Google's pages say, and what a 2K Gemini picture did to a page

We put Gemini pictures on a plain article page, one size at a time, and ran Lighthouse's mobile test on each. Straight from the generator, the 1K file (1.06 MB) took 6.2 seconds to become the page's largest paint (LCP), the 2K file (3.95 MB) took 20.3 seconds and the 4K file (10.51 MB) took 52.4 seconds. Google's target for that metric is 2.5 seconds. Do AI images hurt SEO? In the Google pages we read, nothing marks an image down for being AI-made. The file is another matter: the same 2K picture, resized and compressed to 104 KB, took 1.4 seconds. Iminify's compressor also drops the C2PA manifest that marks a Gemini file as AI-made, and Google's Merchant Center asks sellers to keep an IPTC tag that says the same.

8 min read
Two white cards on a blue gradient: WebP at quality 75, 35.1 KB, score 68.0, and AVIF at quality 47, 25.5 KB, score 68.8, beside the headline "A quality of 75 ships as WebP 75, or AVIF 47 if enabled".

What image quality does Next.js ship? WebP 75, AVIF 47 if you list it, and by default a 90 becomes 75

We built a Next.js 16.4.3 app with four images on one page, two of them declared with quality={90} and quality={100}. All 36 image addresses in the page's HTML said q=75. We also asked the image endpoint for q=90 directly, and it answered HTTP 400: "q" parameter (quality) of 90 is not allowed. That is Next 16's default: the list of allowed qualities is [75], and the component moves anything else to the nearest entry. This post follows the 75 to the encoder, in WebP and in AVIF if you switch it on, across 867 requests to a self-hosted /_next/image on nine source images. The default WebP puts one of our five photographs at 1080 px above 70, the "high quality" mark on SSIMULACRA 2, a perceptual score. AVIF at the same setting was 36.5 percent smaller across our 27 image and width combinations, and more than 3 points below WebP on score in 8 of them.

7 min read

Make it fit the form

Drop a photo at the top of the page and download a JPG under 50 KB.