Compress images online, free, and keep the detail

Drop JPG, PNG, WebP, GIF, TIFF or HEIC files up to 16 MB each, or 32 MB with a free account. Iminify measures every image and picks the smallest file that still looks like the one you uploaded. No account, no watermark.

  • Up to 16 MB per image
  • JPG, PNG, WebP, GIF, HEIC or TIFF in
  • WebP, AVIF, PNG or JPG out
  • Resize and convert in the same pass
  • Batch upload, one zip download
  • Before and after on every result

Balance between the image quality and compression How to choose?

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 a paid plan

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.

Before and after

See it on real images before you upload yours

These 10 images went through the exact pipeline your upload goes through, with every level and every format, and nothing was tuned by hand. Drag the handle, put the two side by side, or switch to Difference and see every pixel that moved, with the PSNR. Then change the level and the format and read the numbers off the results.

Best result so far: 97.2% smaller, Ultra level, AVIF.

All 10 samples at Smart, same format: 3.89 MB in, 1.45 MB out, 62.7% smaller overall.

Canoe at dusk, from a phone

Smooth sky and water with one sharp subject. The interesting parts are the hair and the jacket seams; watch whether they hold.

Level
Output format
Compare
Original Optimized
Original · ·
Optimized
Drag to compare
Original

Original

Optimized

Optimized

Comparing every pixel
The difference couldn't be computed in this browser.
Same Changed

Brighter means a bigger change. Over 40 dB is hard to tell apart by eye; under 30 dB shows at a glance.

Look the same? Good, that's the job. And no, we didn't put the same picture on both sides: the only difference you're supposed to see is the file size.

The map and its numbers are computed in your browser from the two files on screen, the way the compare view on a result of your own does it. Smart aims at 40 dB and Ultra at 34 when it writes a JPG, WebP or AVIF, then holds the result to a perceptual score as well (70 for Smart and 50 for Ultra on the SSIMULACRA 2 scale, which the map can't show), and a result under its PSNR target stopped at the level's quality ceiling rather than grow the file; a PNG is quantised to fewer colours instead, with no target. Lossless comes out identical except where a file has to be re-encoded, a JPEG converted to another format or a lossy WebP, and there it gets the level's top quality.

Original
Optimized

Every result for this image

Same format WebP AVIF
Lossless
Smart
Ultra

Try Pro free for 7 days

  • No credit card needed
  • Nothing to cancel

Every Pro feature, from site crawls and weekly site checks to folder and zip upload and responsive sizes, with 300 images and 300 AI alt texts a day. When it ends, the account goes back to the free plan by itself. Create a free account and verify your email, and the trial starts by itself, once per person.

What Iminify does

One upload, four jobs, one download

Most image tools do one thing and make you chain three sites together for the rest. Iminify compresses, converts, resizes and strips or keeps metadata in a single pass, so your image is re-encoded once and only once. Two encodes in a row cost you quality twice. One doesn't.

Compress, with the quality chosen per image

A fixed quality setting treats a foggy sky and a brick wall the same, and they aren't. Smart encodes each image at several qualities, measures how far each one drifted from your upload, and keeps the smallest that still clears a 40 dB PSNR target. It then scores that file on the SSIMULACRA 2 scale, which is built to match what people see, and sends the search back up when it lands under 70. Ultra does the same with a 34 dB target and a bar of 50.

Convert to WebP, AVIF, PNG or JPG

Pick a format, or pick Auto and let the encoders compete. Up to about eight megapixels, Auto writes every format your image can be saved in without losing transparency or animation and hands you whichever came out smallest; above that it goes straight to WebP, the format that wins most often. You never pay for a conversion that made the file bigger.

Resize by pixels or by percent

Set a width, a height, or both, or scale the whole image down to a percentage. Resizing uses a Lanczos filter and writes a lossless intermediate, so the format encoder is still the only step that loses anything.

Or compress a whole page at once

Paste a URL and the page scanner finds every image the page loads, runs each one through this same compressor with your settings, and gives you one zip. Built for the moment you inherit a site full of 4 MB hero images. It comes with a free account.

Scan a page instead

Metadata is stripped by default, camera model and GPS location included. Flip Keep EXIF on and it rides along, even into AVIF, where most tools quietly drop it. Stripping never leaves a phone photo on its side: the orientation tag is applied to the pixels before it goes, and a Display P3 or CMYK colour profile is converted to sRGB instead of just dropped, so the colours stay put.

Compression levels

What each level actually promises

Other compressors give you a slider from 1 to 100 and leave you guessing, though quality 80 in one encoder isn't quality 80 in another. Iminify's levels are defined by measurements, not a number: how far the compressed pixels are allowed to drift from yours, in decibels of peak signal-to-noise ratio, and how different the result is allowed to look on the SSIMULACRA 2 scale, a score built to match what people see. Higher is closer to the original on both. Above roughly 40 dB the difference isn't visible at normal size, and above 70 on the second scale it's hard to fault without the original next to it.

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.
One honest caveat. A JPEG or WebP you upload has already lost something. A "lossless" pass can only repack a JPEG, and a lossy WebP has no repack step at all, so Lossless re-encodes it at the highest quality the level allows; a Smart pass measures drift against the file you gave us, not the photo it came from. That is why a heavily compressed web JPEG barely shrinks: there's little left to remove. A photo straight off a phone or camera shrinks a lot. And one about size: the quality search runs on images up to 36 megapixels and the perceptual check on images up to 8. Past those the level's quality ceiling decides, so a very large photo is compressed at a fixed setting instead of a measured one.

Formats

Which format should you pick?

You can upload PNG, JPG, JPEG, WEBP, GIF, HEIC, HEIF, TIFF, TIF. You can get back WebP, AVIF, PNG or JPG. Here's when each one is the right answer, and when to let Auto decide.

Format Best for Transparency Animation Worth knowing
WebP The default for the web. Photos, graphics, screenshots. Yes Yes Supported by every current browser. Iminify encodes it with cwebp at its slowest, most thorough setting, and losslessly for PNG sources when you ask for Lossless.
AVIF Photos and graphics for current browsers. The smallest file on nine of the ten samples above. Yes No The newest format and the slowest to encode. Smart and Ultra search each image for the lowest AVIF quality that still clears the level's PSNR floor, the same floor every other format is held to, and at that floor AVIF beat WebP and JPG on every photograph and graphic above. Only the desktop screenshot went to PNG. Lossless is where it struggles: AVIF's lossless mode came out bigger than WebP's on nine of ten. Supported in Chrome, Firefox, Edge and Safari 16.4 or newer.
JPG Photos that have to open anywhere, including old software. No No Encoded with jpegli, the JPEG encoder from the JPEG XL project: adaptive quantisation and a psychovisual model inside a standard JPEG that opens anywhere. On thirteen test photographs it came in 4.7% under mozjpeg at Smart with better perceptual scores, in a third of the time. Lossless repacks use mozjpeg's jpegtran. Progressive by default.
PNG Logos, icons, UI, anything with hard edges or transparency that must open everywhere. Yes No Smart and Ultra quantise to a palette of at most 256 colours with pngquant, which is where the big PNG savings come from. Small and mid-sized PNGs then get a zopfli deflate pass at every level, which packed the lossless test files 3 to 16 points tighter than optipng; very large ones get optipng instead, because zopfli is priced per pixel. Lossless keeps every colour.
GIF Short animations where WebP isn't an option. Yes Yes Every frame is kept. Convert an animated GIF to WebP and the animation survives too; convert it to PNG, JPG or AVIF and only the first frame does.
HEIC Uploading iPhone photos. Output as JPG, WebP or AVIF. No No Input only. Browsers don't display HEIC, so the useful move is HEIC in, WebP or JPG out.
Not sure? Choose Auto. For images up to about eight megapixels it encodes every candidate format and keeps the smallest; bigger ones go straight to WebP. In the showcase above, AVIF takes nine of the ten samples at Smart and the desktop screenshot goes to PNG, while Lossless hands nine of ten to WebP. The right answer depends on the picture and the level, which is exactly why a fixed choice leaves bytes on the table.

How it works

Three steps, no sign-up

  1. 1

    Pick a level and, if you like, a format or size

    Smart is selected for you. Use Format to convert, Size to scale and Metadata to keep EXIF.

  2. 2

    Drop your images

    A whole batch at once, up to 16 MB each as a guest and 32 MB with a free account. Each one is queued the moment it lands and starts compressing on our servers.

  3. 3

    Download one file or all of them

    Every result shows the original size, the new size and the saving. Compare any of them with its original, rename what needs a new name, then tick the ones you want and download a single zip.

After the result

Check it, tune it, name it, pass it on

A result is a row with Compare and Download buttons and a menu for the rest. Most tools stop at the download button. Everything on the row works on the original we already have, so nothing is uploaded twice, and none of it needs an account.

Compare it with the original, three ways

Compare puts the two on the drag-to-compare stage from the showcase above, side by side, or on a difference map: every pixel coloured by how far it moved, with the share that changed noticeably and the PSNR in decibels. That is the measurement the levels promise, computed in your browser from the two files, so a Smart result can be checked against its 40 dB target before you trust it.

Compress it again with other settings

Not small enough, or a touch too soft? Change the level, the format or the size on the page and pick Recompress. The new result is encoded from the original you uploaded, never from the optimized copy, so a second pass does not stack a second generation of loss on the first. Both results stay in the list until you delete one, and a re-run counts as one of your daily images.

Rename it before you download

Give a result the name it will have on your site, or select a batch and number them in one go. The single download, the zip and the preview all use the new name, and the extension follows the format you chose.

Share it on a page of its own

Share gives a result a public page: the optimized copy, the original, the three compare views and both downloads, plus a button that lets whoever opens it run the same original through their own settings. The link is 24 random characters nobody can guess, nothing lists it, search engines are asked to stay out, and Stop sharing switches it off. Nothing is public until you press Share and agree.

For AI assistants

Or ask Claude, ChatGPT or Cursor to do it

Iminify has an MCP server, so an AI app can compress, convert and resize images and optimize whole pages on your account. Tell it what you want; it brings back the links.

  • "Make every image on my homepage lighter"
  • "Convert these PNGs to AVIF"
  • "Resize to 1200 wide and strip EXIF"

Guest, account, Pro or Max

Compress without an account, sign up for more, or go Pro or Max when a day needs more

No card to start. A guest gets 10 images a day and a history that lives in this browser. A free account raises that to 40, opens the page scanner and keeps your history with your account for as long as you have one. Pro gives 1,000 images a day, files up to 90 MB and your uploads ahead of the queue, from $3 a month. Max is unlimited, with bigger site crawls and more weekly checks, from $8 a month. Pro is free to try for 7 days, with no credit card: a new account starts it once its email is verified, and an older one with the button under Go Pro.

What you get
Guest

Drop a file, get it back. Nothing to fill in.

Free account
Free forever

One form and one email to verify, and the limits move.

Pro

$3 a month

billed $36 a year, 40% less than monthly

$5 a month

billed month to month, cancelled any time

Every feature in this table, with 1,000 images and 50 page scans a day.

Max

$8 a month

billed $96 a year, 33% less than monthly

$12 a month

billed month to month, cancelled any time

Everything in Pro, with unlimited images and page scans, bigger site crawls, more weekly checks and the fastest queue.

Every day
Images a day 10 40 1,000 Unlimited
AI alt texts a day 10 40 1,000 2,000
File size 16 MB 32 MB 90 MB 90 MB
Uploads a minute 10 20 60 120
Queue Standard Fast Faster Fastest
History In this browser In your account In your account In your account
Compressing
Every level and format Included Included Included Included
Smart quality per image Included Included Included Included
Auto picks the smallest format Included Included Included Included
Resize and keep EXIF Included Included Included Included
Fit under a file size Included Included Included Included
Compare, recompress, rename and share Included Included Included Included
Download a batch as one zip Included Included Included Included
No watermarks or ads Included Included Included Included
Uploading in bulk
Upload a folder, keeping its folders Not included Not included Included Included
Upload a zip of images Not included Not included Included Included
Responsive sizes with srcset Not included Not included Included Included
Pages and sites
Page scans a day Not included 3 50 Unlimited
Images per scan Not included 20 150 150
Report links, CSV and PDF Not included Not included Included Included
Site crawls a day Not included Not included 3 10
Pages per crawl Not included Not included 10 100
Sites checked weekly Not included Not included 3 25
For developers and AI
API Not included Included Included Included
Files a day in API upload groups Not included 1,500 30,000 Unlimited
AI agents (MCP server) Not included Included Included Included
Webhooks Not included Not included Included Included
Start without an account Create a free account Go Pro
Or try Pro free for 7 days

No credit card needed

Go Max

On Max, unlimited means within fair use of 10,000 images, 500 page scans and 300,000 upload group files a day.

The daily counts reset 24 hours after your first image. Signing up takes a name, an email and a password, or one click with Google, GitHub, Microsoft or Apple, and the account stays free. Pro and Max are paid by card, PayPal, Apple Pay or Google Pay, renew on their own and can be cancelled any time from your plan page. Payment methods and billing questions are on the pricing page.

Your images

Straight answers about where your files go

Uploads travel over an encrypted connection and are compressed on servers we run ourselves, never by a third-party API. The encoders are jpegli, mozjpeg's jpegtran, pngquant, zopfli, optipng, cwebp, gif2webp, avifenc and gifsicle, running on our own machines. AI alt text is different: unless you switch it off above the upload box, a small copy of each image goes to Anthropic, whose Claude model describes it. Anthropic doesn't train on it and deletes it within 30 days, unless its safety systems flag it or the law requires it to be kept longer.

We keep your originals and your optimised copies rather than deleting them on a timer, so a result is still there when you come back for it.

A free account isn't required to compress. Sign up and your history stays with your account instead of this browser, for as long as you have one, so every result is still there on another device or after your cookies are gone, and the daily allowance goes from 10 images to 40.

Nothing you upload is public. A result gets a public page only when you press Share and agree, at an address of 24 random characters that nothing lists and that search engines are asked not to index, and Stop sharing takes it down again.

Questions

Questions people ask before they upload

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
Bar chart of file sizes for a photo at four print sizes, 8x10 to 24x36. PNG bars run from 11.3 to 70.6 MB and JPEG bars from 1.4 to 6.5 MB, with a dashed line at Etsy's 20 MB limit.

How many pixels does an AI print need? 300 per inch, and at 16x20 our PNG is over Etsy's download limit

The usual answer is 300 pixels per inch of print: 2400 x 3000 for an 8x10, 4800 x 6000 for a 16x20, 7200 x 10800 for a 24x36. A square Midjourney 8.2 HD image is 2048 x 2048 and a square Gemini 4K image is 4096 x 4096, so neither reaches a 16x20 at that rate without more pixels. (Shops write DPI. Here it means pixels per inch of print.) From a 4K Gemini picture we made 16x20 files of 4800 x 6000 pixels: the PNG is 35.8 MB, over Etsy's 20 MB per file for digital downloads, and the JPEG is 3.6 MB.

7 min read
Two rows of seven squares, one per test post. After the default wp media regenerate, four squares are red and read 404 and three read 200; after --skip-delete and the rewrite, all seven read 200.

Convert your existing WordPress images to WebP without a plugin: what regenerate breaks

On a WordPress 7.1.4 test site, one filter and wp media regenerate turned the resized copies WordPress makes of five full-colour (4:4:4) photographs into WebP files with 62.5% of the JPEG copies' bytes. All 25 WebP copies, five sizes of each photograph, also scored lower. The filter and regenerate also left four of our seven test posts pointing at copies WP-CLI had just deleted, and took the srcset off all seven inserted images that had one. The version below leaves no address broken and gives six of those seven their srcset back: the filter, regenerate with one flag, and a rewrite that changes an address only where a WebP exists. The recipe as printed needs WP-CLI and a shell on the server.

8 min read
Bar chart of bytes Chrome downloaded at phone size for five 4K JPEGs on a Next.js static export page: 55.2 MB as they are, 10.2 MB as Smart JPG at full size, 1.29 MB at 1200 px wide, 767 KB through next-image-export-optimizer.

Next.js static export images: the default loader breaks them and unoptimized ships the original

We built a page with five photographs in a Next.js 16.4.3 App Router app, set output: 'export', left the image settings alone, and next build finished with exit code 0. In Chrome none of the five images loaded: every src pointed at /_next/image, an endpoint a static export doesn't contain. Setting images: { unoptimized: true } fixes that, and the export then serves the file you put in public/. Chrome at phone size downloaded 2.4 MB for five 1800 px photographs, and 55.2 MB when the same page held five 4K Gemini JPEGs. This post compares that flag, next-image-export-optimizer and resizing the files first by what Chrome downloaded at phone size and at desktop size. The table is in the second section, and the choice we'd make follows the three options.

7 min read

Your first image takes about ten seconds

Scroll up, drop a file, watch the size fall. If it doesn't shrink, you'll get your original back and nothing lost.