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

ImageimagetextRequired
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 qualityqualitynumber
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 datakeep_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 filesave_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

ImagesimageslistRequired
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 qualityqualitynumber
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 datakeep_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 filesave_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
}

On this page