reSmush.it
App · Images & Design · 2 actions
Make images smaller without making them look worse. reSmush.it takes a photo, screenshot, logo or scan (JPG, PNG, GIF, TIF or BMP) and hands back a compressed copy plus the numbers on what was saved, typically most of the file. Compress one image or a whole list in a single step, before it goes into a CMS, onto a page, into an email or into storage. Free and keyless: no account, no sign-up and no API key.
Compress an image
Make an image smaller without it looking worse: hand it a photo, a screenshot or a logo and get back a compressed copy plus the numbers on how much was saved. Takes an uploaded file, a file from an earlier step, or a public image URL, and saves the result as a file ready to attach, upload or post. No account or API key required.
Inputs
- Image
imagetextRequired - The image to compress: upload one, pick a file from an earlier step, or paste a public image URL. JPG, PNG, GIF, TIF and BMP, up to 5 MB.
- JPEG quality
qualitynumber - How hard to compress a JPEG, from 0 to 100. 92 by default; reSmush.it recommends staying above 90 for a picture that still looks right. This has no effect on PNG, GIF, TIF or BMP files, which are compressed without losing anything.From 0 to 100. Default:
92. - Keep EXIF data
keep_exiftrue/false - Off by default, which is how reSmush.it behaves and what makes the file smallest. Turn it on to keep the camera, date and GPS information in the picture. That is worth having for a photo archive, and worth leaving off for anything going on a public website.Default:
false. - Save the compressed image as a file
save_as_filetrue/false - On by default, because reSmush.it's own link expires: the compressed copy is a temporary file on their server. Saving keeps a permanent copy that later steps can attach, upload or post. Turn it off when you only want to know how much the image would save.Default:
true.
Outputs
compressed_size_bytesnumber- How big the image is after compression, in bytes.
content_typetext- The saved file's media type. Empty when the image was not saved.
document_reftext- The saved file's reference, for a step that attaches or uploads it. Empty when the image was not saved.
documentslist- The compressed image, ready to attach to a later step. Empty when 'Save the compressed image as a file' was turned off.
expirestext- When reSmush.it deletes the compressed copy from its own server, after which 'url' stops working. The saved file is not affected.
file_urltext- A URL that serves the saved copy, which does not expire. Empty when the image was not saved. This is not reSmush.it's own temporary link, which is 'url'.
filenametext- The name the compressed image was saved under. Empty when the image was not saved.
original_size_bytesnumber- How big the image was before compression, in bytes.
percentnumber- How much smaller the image got, as a percentage.
saved_as_filetrue/false- Whether a copy of the compressed image was saved as a file.
saved_bytesnumber- How many bytes the compression saved. 0 when the image was already as small as reSmush.it could make it.
sourcetext- The image that was compressed, as its URL or its filename.
summarytext- The result in one sentence, e.g. '2.1 MB to 640 KB, saving 1.5 MB (70.2%)', for a notification or a run log.
urltext- reSmush.it's own link to the compressed image. This is a temporary file on their server (see 'expires'), so prefer 'file_url' or 'document_ref' for anything a later step or a person will open.
Example output
{
"compressed_size_bytes": 655360,
"content_type": "image/jpeg",
"document_ref": "doc_9f2c41a7d8b3",
"documents": [
{
"content_type": "image/jpeg",
"document_ref": "doc_9f2c41a7d8b3",
"filename": "photo-compressed.jpg",
"size_bytes": 655360,
"url": "/actions/core/serve-document/doc_9f2c41a7d8b3?teamId=000000000000000000000000"
}
],
"expires": "Sun, 14 Sep 2026 04:21:11 GMT",
"file_url": "/actions/core/serve-document/doc_9f2c41a7d8b3?teamId=000000000000000000000000",
"filename": "photo-compressed.jpg",
"original_size_bytes": 2202009,
"percent": 70.24,
"saved_as_file": true,
"saved_bytes": 1546649,
"source": "https://example.com/photo.jpg",
"summary": "2.1 MB to 640 KB, saving 1.5 MB (70.2%).",
"url": "https://api.resmush.it/files/2f6a1c/photo.jpg"
}Compress several images
Compress a whole list of images in one step: a folder of product photos, every attachment on a record, or the files an earlier step produced. Get one row per image plus the totals for the batch. One bad link does not lose the rest, because that row says what went wrong and the others still come back compressed. No account or API key required.
Inputs
- Images
imageslistRequired - The images to compress, one row each, in the order given. Upload files, wire in the files from an earlier step, or paste public image URLs. Up to 20 at a time.
- JPEG quality
qualitynumber - How hard to compress a JPEG, from 0 to 100. 92 by default; reSmush.it recommends staying above 90 for a picture that still looks right. This has no effect on PNG, GIF, TIF or BMP files, which are compressed without losing anything.From 0 to 100. Default:
92. - Keep EXIF data
keep_exiftrue/false - Off by default, which is how reSmush.it behaves and what makes the file smallest. Turn it on to keep the camera, date and GPS information in the picture. That is worth having for a photo archive, and worth leaving off for anything going on a public website.Default:
false. - Save the compressed image as a file
save_as_filetrue/false - On by default, because reSmush.it's own link expires: the compressed copy is a temporary file on their server. Saving keeps a permanent copy that later steps can attach, upload or post. Turn it off when you only want to know how much the image would save.Default:
true.
Outputs
compressed_countnumber- How many of them were compressed.
countnumber- How many images were given.
failed_countnumber- How many of them failed. Check each row's 'error'.
imageslist- One row per image, in the order they were given.
summarytext- The batch in one sentence, e.g. 'Compressed 8 of 8 images, saving 6.4 MB (64.1%).'
total_compressed_size_bytesnumber- Their combined size after compression, in bytes.
total_original_size_bytesnumber- The compressed images' combined size before compression, in bytes.
total_percentnumber- How much smaller the batch got, as a percentage.
total_saved_bytesnumber- How many bytes the batch saved in total.
Example output
{
"compressed_count": 1,
"count": 2,
"failed_count": 1,
"images": [
{
"compressed_size_bytes": 655360,
"content_type": "image/jpeg",
"document_ref": "doc_9f2c41a7d8b3",
"documents": [
{
"content_type": "image/jpeg",
"document_ref": "doc_9f2c41a7d8b3",
"filename": "photo-compressed.jpg",
"size_bytes": 655360,
"url": "/actions/core/serve-document/doc_9f2c41a7d8b3?teamId=000000000000000000000000"
}
],
"error": "",
"expires": "Sun, 14 Sep 2026 04:21:11 GMT",
"file_url": "/actions/core/serve-document/doc_9f2c41a7d8b3?teamId=000000000000000000000000",
"filename": "photo-compressed.jpg",
"index": 0,
"input": "https://example.com/photo.jpg",
"ok": true,
"original_size_bytes": 2202009,
"percent": 70.24,
"saved_as_file": true,
"saved_bytes": 1546649,
"source": "https://example.com/photo.jpg",
"summary": "2.1 MB to 640 KB, saving 1.5 MB (70.2%).",
"url": "https://api.resmush.it/files/2f6a1c/photo.jpg"
},
{
"compressed_size_bytes": 0,
"content_type": "",
"document_ref": "",
"documents": [],
"error": "reSmush.it could not fetch the image from that address. Its servers download the picture themselves, so the link has to be reachable from the public internet. A localhost, intranet or signed-in-only URL will not work; upload the file, or use a file from an earlier step, instead.",
"expires": "",
"file_url": "",
"filename": "",
"index": 1,
"input": "https://intranet.local/banner.png",
"ok": false,
"original_size_bytes": 0,
"percent": 0.0,
"saved_as_file": false,
"saved_bytes": 0,
"source": "",
"summary": "",
"url": ""
}
],
"summary": "Compressed 1 of 2 images, saving 1.5 MB (70.2%).",
"total_compressed_size_bytes": 655360,
"total_original_size_bytes": 2202009,
"total_percent": 70.24,
"total_saved_bytes": 1546649
}