A TinyPNG alternative with room for bigger files

TinyPNG is a good tool, and it made image compression something anyone could do. Iminify takes larger files for free, reads formats TinyPNG doesn't, and tells you what each compression level is measured against. Try it below. No account needed.

  • 16 MB a file as a guest
  • HEIC, TIFF and GIF accepted
  • You decide when files go

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 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.

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.

Side by side

Iminify and TinyPNG, by the numbers they publish

The TinyPNG column is taken from tinypng.com. Where its pages don't state something, the cell says so; we haven't guessed.

What Iminify TinyPNG
Free file size limit 16 MB as a guest, 32 MB with a free account 5 MB each
Free volume 40 images a day with a free account, 10 without one Up to 20 images at once
Free format conversion Every image, within the daily count Up to 3 images
Input formats JPG, PNG, WebP, GIF, HEIC, TIFF JPEG XL, AVIF, WebP, JPG, PNG and APNG
Output formats WebP, AVIF, PNG, JPG, or Auto (the smallest wins) AVIF, JPEG XL, WebP, JPEG, PNG
Compression levels Lossless, Smart and Ultra, each defined by a PSNR and a perceptual target Not stated
Resize in the same pass Yes, by pixels or percent Not stated for the free web tool
How long your files are kept Until you delete them. Every result has a delete button that removes the upload and the optimized copy for good. A guest can reach their results only while the browser session lasts, about two hours after the last request; after that the files stay in storage until we remove them, and an email to [email protected] gets one deleted. A maximum of 48 hours, then permanently deleted
Paid plan Pro: $36 a year or $5 a month, 1,000 images a day, 90 MB files. Max: $96 a year or $12 a month, unlimited images Web Pro and Web Ultra subscriptions

TinyPNG's figures were read from its own site on September 20, 2026, and they may have changed since. Source: tinypng.com.

The differences that matter

Where the two tools part ways

Retention first, because it cuts both ways. TinyPNG deletes your uploads within 48 hours. Iminify keeps an upload and its optimized copy until you delete them, so with an account your results are still there next week and you can compress the same original again with different settings. As a guest you can reach them only while your browser session lasts, about two hours after your last request, and the files stay in storage after that. If you'd rather nothing stayed on a server, that's a point for TinyPNG. Here, the delete button on each result is how a file goes, and it goes for good.

Then size. A 5 MB limit stops most photos straight from a current phone or camera. Iminify takes 16 MB with no account and 32 MB with a free one.

And formats in. TinyPNG reads JPEG XL and AVIF, which Iminify doesn't. Iminify reads HEIC from iPhones, TIFF from scanners and animated GIF, which TinyPNG's list leaves out. Pick the tool that reads the files you have.

We haven't published a compression benchmark against TinyPNG, so this page makes no claim about whose files come out smaller. Run the same image through both and compare. Iminify's Compare view gives you the PSNR and a pixel difference map to judge with.

What survives

What you get here

  • Levels that mean something

    Smart aims for 40 dB PSNR and a perceptual score of 70 against your upload; Ultra for 34 dB and 50. Lossless changes no pixel in a JPEG, PNG or GIF, apart from converting a wide-gamut PNG to sRGB.

  • Compress, convert and resize in one encode

    One pass, one generation of loss, not three tools chained together.

  • A whole web page at once

    With a free account the page scanner finds every image a page loads, compresses them all and hands back a zip.

  • No JPEG XL and no plugins yet

    TinyPNG has a WordPress plugin, an image CDN and JPEG XL support. Iminify has none of those today. Both have a developer API.

How to

Try the same image in both

  1. 1

    Drop an image above

    Use one you've already run through TinyPNG, so you have something to compare against.

  2. 2

    Leave it on Smart

    Smart is the closest match to an automatic setting.

  3. 3

    Compare size and pixels

    Check the saving, then open Compare for the PSNR and the difference map.

Questions

Questions about switching

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
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

Run one of your images through it

A side-by-side test on your own file tells you more than any comparison page.