Optimize every image on a web page at once

Paste the URL. Iminify opens the page in a real browser, collects every image it loads, runs them all through the same compressor as the upload tool, and gives you one zip laid out in the page's own folders, each image under its own name, with its new extension if you converted it. No plugin, nothing installed on your site. Free with an account.

  • One URL in, one zip out
  • Same compressor, same levels
  • Reads your page, never writes to it
  • Laid out like the page

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
%
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 Suggests alt text in the report for each image the page shows without any
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

Page scans come with a free account: 3 a day, up to 20 images each. Verify its email and the first 7 days are Pro, with no credit card. Already have one? Sign in.

Iminify opens the page in a real browser, scrolls to the end and collects every image it loads: lazy-loaded pictures, CSS backgrounds and images on other domains included.

  • Every image it loads
  • Compressed with the settings above
  • A report of what to fix

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.

Delete this scan?
The scan and every image it found will be removed from storage. This cannot be undone.

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.

Before and after

See it on real images before you upload yours

Every image a scan collects goes through this exact pipeline. These 10 samples were run at every level and every format, with nothing 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 a scan does

Exactly what happens after you press Scan

A scan is not a crawler and it is not a plugin. It opens one page in a browser the way you would, waits for it to load, scrolls to the bottom, and collects every image along the way. Here is the whole sequence.

  1. 1

    Open the page in a real browser

    Iminify loads the URL in headless Chrome, scripts and all, then scrolls to the end so lazy-loaded pictures get requested too. Nothing is written to your server.

  2. 2

    Collect every image the page shows or loads

    Every img and each size in its srcset, picture sources, video posters, CSS backgrounds, and anything a script added after the page loaded. If the browser fetched it, the scan saw it. Duplicates are removed.

  3. 3

    Measure how the page shows each one

    Before anything scrolls, the scan notes which images are in the first screen and which one is the largest thing there, then measures every picture an img tag shows against the space it is shown in and checks its width and height, its lazy loading and its alt text. The finished scan's Report lists what to fix, image by image, the images past your plan's limit included.

  4. 4

    Download each one the way a browser would

    Each image is fetched with your page as the referrer, so hotlink protection lets it through, and identified by its bytes rather than its file extension. Images on other domains are kept too: a CDN, a storage bucket, an embed, all of it.

  5. 5

    Compress each one with your settings

    Level, format, resize and EXIF apply to every image the scan found. Each is queued on its own, so one huge file doesn't hold up the rest.

  6. 6

    Download the set as one zip

    The results list shows every image with its original size, new size and saving, and each row offers what an upload gets: compare it with the original, compress it again with other settings, rename it, share it. Tick the ones you want and download a zip that keeps each image in the folders of its address, under its own file name. A converted image takes its new extension (hero.jpg comes back as hero.webp), and manifest.csv lists each image address with its file, so you know what goes where.

When to scan

Scan when the images are already live

The upload tool is for images you have on disk. The scanner is for the ones you only have on a website.

You inherited a site

A client or a previous developer built it, the media folder is a mess, and PageSpeed keeps flagging "Properly size images". Paste the slowest page: the report names every oversized img on it and about what it wastes, and the zip has them all compressed.

Your CMS uploads full-size originals

WordPress, Shopify and most page builders store whatever the editor dropped in, 5 MB phone photos included. A scan pulls the versions the page actually serves.

You want a before-and-after you can show someone

Total original size, total optimised size and the saving, per page, in a table, and a report of what to fix. Useful for a handover, a proposal or a performance ticket. On Pro and Max, send the report itself: a link a client opens without an account, or a PDF and a CSV.

You need the images in a new format

Set Format to WebP or AVIF, or to Auto for whichever is smaller, and every image on the page comes back converted, in one download.

Prefer to ask? Claude, ChatGPT and Cursor can scan a page and compress its images for you through Iminify's MCP server. See how

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.

Settings

One set of settings for the whole page

Everything you can choose for a single upload applies to every image a scan finds. The scan itself has nothing to set up.

No hunting for the images
Themes, plugins and page builders scatter pictures across folders and hosts, and you don't have to track any of that down. The page is loaded the way a visitor loads it, scripts running, and whatever it pulls in is what gets compressed.
One budget per page
A scan compresses up to 20 images from one page on a free account and 150 on a paid plan, and gives itself about ten minutes. 150 covers almost any page. A huge gallery is better scanned section by section.

Limits

What a scan will not find

  • Images on other pages. A scan reads the one URL you give it and does not follow links. Scan each page you care about, or crawl them from your sitemap at once: up to 10 pages on Pro, 100 on Max.
  • Images behind a login or a cookie wall. The scan sees the page a first-time visitor sees, so anything that needs a session isn't there.
  • SVG and AVIF files, and anything above 32 MB or 64 megapixels. Those are skipped and the rest of the scan carries on.
  • Tracking pixels, and the same file under two addresses. A tracker isn't a picture, and a duplicate would only hand you a second copy.

Questions

Questions people ask before they scan

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
Iminify blog cover on a blue gradient with a pixel pattern: "Should you compress before your CDN does?"

Should you compress images before your CDN re-encodes them? Measured through Next.js, wsrv.nl and Photon

The Fjord, one of our five test photographs, is an 852,461-byte JPEG, the master every score below is measured against. Iminify's Smart level makes it a 568,598-byte JPEG. We sent both through Next.js 16.4.3's image optimizer at its default, WebP at quality 75. Next's WebP of the master weighed 321,790 bytes and scored 66.98 against the master on SSIMULACRA 2, where 100 means no difference from the master. Its WebP of the Smart file weighed 314,578 bytes and scored 64.30: 2.2 percent fewer bytes for 2.7 points. Should you compress before a CDN or optimizer re-encodes your image? In our tests, on five JPEG photographs through Next and wsrv.nl, only losslessly. A lossless repack, which made our uploads 2.4 to 5.6 percent smaller, changed nothing in 80 of 80 Next responses. And in 40 of 40 comparisons at no more bytes, asking Next for a lower quality setting scored higher than the lossy first pass. If nothing re-encodes after you, compress first.

7 min read
Four teal circles on a transparent background, above the same image converted to JPG with Pillow, where the strips behind them came out magenta, white, black and black.

Why does a transparent PNG turn black as a JPG? The colour hiding underneath

We made an 800x400 test PNG with four strips that look alike: the same teal circle on a transparent background, four times over (the fourth with a soft shadow). Then we turned it into a JPG with Pillow, Python's imaging library, using its convert("RGB"). The four strips came back magenta, white, black and black. Nothing was added. Those colours were already in the PNG, sitting under the transparency. A JPG can't store transparency, so whatever writes it has to put something behind the picture. Some tools paint white. Some just reveal the colour stored under the transparent pixels, which is often black. And Chrome's canvas, the drawing surface web pages use to edit images, paints black whatever was there, because the HTML standard says it must. If you want white, or any other colour, you have to choose it before the JPG is written. Iminify's JPG output puts white behind the picture, and PNG to WebP keeps the transparency instead.

8 min read
Ten squares: 4 filled for tools that kept the IPTC AI tag at their defaults, 6 hollow for tools that dropped it, beside the title Does compression remove the AI tag?

Does compression remove the AI tag Merchant Center asks for? 10 tools, WordPress and Iminify tested

Google's Merchant Center help says: "Don't remove embedded metadata tags such as trainedAlgorithmicMedia from such images. All AI-generated images must contain the IPTC DigitalSourceType trainedAlgorithmicMedia tag." (Merchant Center's help page is dated February 2024; we read it on 26 October 2026.) So we put that tag on two AI images, a harbour scene from Nano Banana 2 (a JPEG) and a bakery illustration from the original Nano Banana (a PNG), ran them through 42 command-line runs and Iminify, added three larger JPEGs for a WordPress 7.1.3 site, and read the tag back with ExifTool each time. Each tool's default decides whether the tag survives, and neither lossy nor lossless predicts it. Of the ten tools in our table, four keep the tag at their defaults and six drop it, and for nine of them we found an option that flips that. Iminify, which is our product, lost it at every level that compresses: it survived in 6 of 51 uploads, and those six came back byte for byte unchanged. One ExifTool command puts the tag back for 514 to 568 bytes and, on the nine files we checked, leaves every pixel alone.

8 min read

Paste the slowest page you own

Scroll up, drop in the URL and press Scan. Within a minute the results tell you how much that page was carrying.