Bulk Image Compressor & Converter: WebP, AVIF avatar

Bulk Image Compressor & Converter: WebP, AVIF

Pricing

from $3.00 / 1,000 image converteds

Go to Apify Store
Bulk Image Compressor & Converter: WebP, AVIF

Bulk Image Compressor & Converter: WebP, AVIF

$0.003 per image. Convert, compress and resize images in bulk to WebP, AVIF, JPEG or PNG. Links, uploads or base64 in. Set quality or a target size in KB, a maximum width and height, and strip metadata. Returns file links and percent saved. Failed images are free.

Pricing

from $3.00 / 1,000 image converteds

Rating

0.0

(0)

Developer

Don Mangu

Don Mangu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

5 hours ago

Last modified

Share

Image Converter and Compressor

Image Converter and Compressor turns your images into smaller WebP, AVIF, JPEG or PNG files in bulk. Give it image links, uploaded files or base64 data, pick a format and a quality, and get back a link to each new file with its size before and after and the percent saved. You can also set a target size in KB, a maximum width and height, and remove camera metadata such as GPS location. Failed images are free.

What does Image Converter and Compressor do?

  • Converts JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP and ICO files to WebP, AVIF, JPEG or PNG, or compresses them in the same format.
  • Compresses with a quality setting from 1 to 100, or with a target size: quality is lowered until each file fits, and the image is made smaller only when quality alone cannot get there.
  • Resizes to a maximum width and height, keeping the aspect ratio. Small images are never enlarged.
  • Strips metadata (EXIF and XMP: camera, date, GPS) by default, while keeping the color profile so colors look the same.
  • Rotates photos upright from the camera orientation tag.
  • Keeps transparency in WebP, AVIF and PNG, and fills it with a color you choose for JPEG.
  • Keeps animations from GIF, WebP, PNG and AVIF when the output is WebP, AVIF or PNG.
  • Returns a dataset row per image with the file link, format, width, height, bytes before and after, percent saved and the quality used, plus an optional base64 copy for tools that cannot open links.

Why convert images to WebP or AVIF?

Smaller images load faster, which helps page speed scores, mobile users and hosting bills. WebP files are often 25% to 80% smaller than JPEG or PNG at similar visual quality, and AVIF is often smaller again. Online shops, blogs, marketing teams and developers use this Actor to prepare product photos, banners and screenshots for the web, to meet upload limits of marketplaces and forms, and to clean location data out of photos before sharing them.

How to convert and compress images in bulk

  1. Add your images: paste direct image links in Image URLs, upload files in Upload images, or paste base64 strings or data URIs in Image data (base64).
  2. Choose the Output format. WebP is a safe default for websites.
  3. Set Quality (80 is a good start), or set Target size in KB if you need files under a limit.
  4. Optionally set Maximum width and Maximum height to shrink large photos.
  5. Click Start. When the run finishes, open the Converted images table and click a link to download each file, or read the dataset through the API.

How much does it cost to compress images?

This Actor uses pay-per-event pricing. You pay for each image that was converted and saved, and nothing for images that fail.

PlanPrice per image
Free$0.003
Bronze$0.0025
Silver, Gold, Platinum, Diamond$0.002

One image is counted per started 16 megapixels (4096 x 4096), so almost every photo counts once. A very large 50 MP scan counts as 3.

Example: converting 1,000 product photos to WebP on the Free plan costs 1,000 x $0.003 = $3.00, plus the small Actor start fee set by Apify. On a Silver plan the same run costs $2.00. You can set a maximum cost per run in the run options, and the Actor stops cleanly when it is reached.

Input example

{
"imageUrls": ["https://raw.githubusercontent.com/python-pillow/Pillow/main/Tests/images/flower.jpg"],
"outputFormat": "webp",
"quality": 80,
"maxWidth": 1600,
"targetSizeKb": 200
}

Output example

{
"inputIndex": 1,
"imageUrl": "https://raw.githubusercontent.com/python-pillow/Pillow/main/Tests/images/flower.jpg",
"status": "ok",
"outputUrl": "https://api.apify.com/v2/key-value-stores/.../records/converted-0001-flower.webp",
"outputFormat": "webp",
"outputWidth": 480,
"outputHeight": 360,
"inputSizeBytes": 32764,
"outputSizeBytes": 18620,
"savedPercent": 43.2,
"qualityUsed": 80,
"targetMet": true,
"billedImages": 1,
"error": null
}

The files themselves are in the run's key-value store under keys that start with converted-. A STATS record sums up the run: images done, statuses, bytes before and after, and bytes saved.

Tips

  • For photos on websites, WebP at quality 75 to 85 is a good balance. AVIF gives smaller files for the same look but takes longer to encode.
  • PNG output is lossless, so quality does not change it. Use WebP with Lossless WebP and AVIF for graphics and screenshots that need exact pixels at a smaller size.
  • If a new file comes out larger than the source, the row says so. This happens when a small, already compressed JPEG is saved at high quality. Lower the quality or pick WebP.
  • Base64 output is limited to files up to 2 MB; larger files are always available by link.

Pair this Actor with our AI Image Upscaler when you need larger images first, or with our Image OCR Actor to read text from the converted files.

FAQ

Is it legal to use this Actor? It only downloads the image links you give it and processes files you upload. Convert only images you own or have the right to use. The Actor reads each host's robots.txt, uses a clear user agent with a contact address, and does not get around logins, blocks or rate limits.

Which formats can I upload? JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP and ICO. SVG, PDF and HEIC are not supported yet.

Are my images stored? The new files stay in your own run storage, which follows your Apify data retention. Nothing is sent anywhere else.

What are the limits? Up to 10,000 images per run, 50 MB per file and 100 megapixels per image. Animations up to 300 frames.

Why did an image fail? The status and error fields explain it, for example not_found, blocked, robots_disallowed or corrupt_image. Failed images are not billed. If you think the Actor got it wrong, open an issue with the link and we will look at it.