TapCub is live — analytics, insights and live chat, free on one platform

Free tool Image compressor: shrink and convert images without uploading them

Drop in photos or screenshots, pick a format, a quality and a maximum size, and the page re-encodes them on your own device. You see the size before and after, the pixels side by side and which hidden metadata, like GPS location, was removed.

  • Stays on your device
  • Batch and ZIP download
  • Built for page speed
Compress

Compress and convert images

Settings apply to every image and re-run when you change them. Paste a screenshot with Ctrl+V or Cmd+V, or try the sample photo.

80 is a good starting point for photos.

KB

Lowers quality step by step until the file fits. Works for WebP, JPEG and AVIF.

JPEG has no transparency, so transparent areas are filled with this colour.

Only when format and dimensions stay the same.

No images yet. Choose, drop or paste images, or try the sample photo.

    What resizing does to a 12-megapixel phone photo

    A 4032 × 3024 photo shrunk to fit a square limit. Pixel count drives file size and decoding memory, so resizing usually saves more than any quality setting.

    What resizing does to a 12-megapixel phone photo
    Max width and heightOutput size (px)Pixels removedMemory once decoded
    Original4,032 × 3,024—46.51 MB
    2,560 px2,560 × 1,920−60%18.75 MB
    1,920 px1,920 × 1,440−77%10.55 MB
    1,200 px1,200 × 900−91%4.12 MB
    800 px800 × 600−96%1.83 MB

    Decoded memory = width × height × 4 bytes (one byte each for red, green, blue and alpha), whatever the file size. File sizes depend on the picture, so the tool measures them instead of guessing.

    Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.

    Version v1.0Updated Update history

    Read the result

    What the numbers on each image mean

    Every row shows the dimensions, the size and what changed. Here is how to judge whether the result is good enough to publish.

    Dimensions before → after

    The biggest lever. A photo straight off a phone is often 4000 pixels wide; a blog column rarely needs more than 1600 even for sharp screens. Halving the width removes about three quarters of the pixels.

    Size and saving

    The real file size, measured from the encoded file. A saving shown in red means the new file is larger, which happens when you re-encode an already optimised file or save a photo as PNG.

    Quality

    The encoder setting from 10 to 100. It is not a percentage of the original quality, and the same number gives different results in JPEG, WebP and AVIF. Judge with your eyes in the comparison view.

    Removed metadata

    Location, camera model, date taken and colour profile stored in the file. The canvas encoder writes only pixels, so all of it is gone from the output, which also saves a few kilobytes.

    For a web page, check the compressed image at the size it will be shown. Artefacts that are visible at 300% zoom often disappear at real size.

    How to use it

    Compress images in four steps

    The defaults (WebP, quality 80, at most 1920 pixels) suit most website photos.

    1. 1

      Add images

      Click to choose, drop files onto the box or paste a screenshot. Up to 60 images at once.

    2. 2

      Pick a format and a size

      WebP for websites, JPEG where WebP is not accepted, PNG for screenshots that must stay pixel-exact. Set the max width to the largest size the image is displayed at, times two for sharp screens.

    3. 3

      Check the comparison

      Open Compare on the image with the biggest saving and drag the divider over edges and text. Lower the quality until you can see a difference, then go back one step.

    4. 4

      Download

      Download images one by one or all of them as a ZIP. Files keep their names with the new extension.

    How it works

    Why smaller images make the largest paint faster

    Largest Contentful Paint (LCP) is the time until the biggest image or text block in the viewport is drawn. web.dev splits it into four parts: time to first byte, resource load delay, resource load duration and element render delay. When the largest element is an image, its file size sets the load duration.

    • Good LCP: 2.5 seconds or less for at least 75% of page visits (web.dev)
    • File size depends on pixel count × bytes per pixel; resizing cuts the first, quality and format the second
    • This tool draws each image onto a canvas, scales it in steps of at most half for sharper results, then calls canvas.toBlob(type, quality)
    • Compression does not fix a slow server or a late-discovered image: set width and height, do not lazy-load the LCP image and consider fetchpriority="high"
    Output formats in this tool
    FormatTypeTransparencyBest for
    WebPLossy or losslessYesWebsite photos and graphics; supported by current browsers
    AVIFLossyYesSmallest files for photos; shown only if your browser can encode it
    JPEGLossyNoEmail, upload forms and anything that refuses WebP
    PNGLosslessYesScreenshots and UI that must stay pixel-exact; rarely gets smaller
    Worked example

    One phone photo, three decisions

    A 4032 × 3024 photo for a blog post whose content column is 800 CSS pixels wide.

    From camera file to web image
    StepDecisionResult
    1. Dimensions800 px column × 2 for sharp screens → max width 1600, or 1920 for a full-width heroAt 1920: 1920 × 1440, 77% fewer pixels
    2. FormatWebP at quality 80 for the page; keep a JPEG copy only if a platform rejects WebPTypically a large saving on photos; the tool shows the exact size
    3. CheckCompare at real size; look at sky gradients and fine textLower the quality until artefacts appear, then step back
    MemoryDecoded size of the original vs a 1200-pixel version46.51 MB vs 4.12 MB: what a phone must hold in memory to paint it

    Pixel counts and memory are exact arithmetic; compressed file sizes depend on the picture, so measure them with the tool rather than trusting a rule of thumb.

    Common mistakes

    Where image compression goes wrong

    Most oversized images on websites are not under-compressed; they are simply too big.

    Uploading the camera original

    A 4000-pixel photo shown 800 pixels wide makes every visitor download and decode five times the pixels in each direction. Resize before you compress.

    Re-compressing a JPEG again and again

    Every lossy save adds artefacts. Keep the original and compress from it, not from the last exported copy.

    Saving photos as PNG

    PNG is lossless, so photos stay huge. Use PNG for flat screenshots; for photos use WebP, AVIF or JPEG.

    Lazy-loading the main image

    loading="lazy" on the largest image above the fold delays LCP. Lazy-load images further down the page instead.

    FAQ

    Image compression questions

    Still have a question?

    Chat with the team behind TapCub — we usually reply within a few hours on business days.

    How do I reduce the file size of an image?

    Resize it to the largest size it will be shown at (times two for sharp screens), then save it as WebP or JPEG at quality 70–85. Resizing usually saves more than any quality setting.

    How do I compress an image to under 100 KB or 200 KB?

    Tick "Compress to a target size", type the limit in KB and the tool lowers the quality until the file fits. If it still does not fit, lower the max width. This tool counts 1 KB as 1,024 bytes; if a site counts 1,000, set the target a little below its limit.

    Are my images uploaded?

    No. Decoding, resizing and encoding all happen in your browser with the canvas API. You can disconnect from the internet after the page loads and it still works.

    Should I use WebP or AVIF?

    Both are supported by current versions of the major browsers. AVIF often gives smaller photos but encodes slower and only appears here if your browser can encode it. If you must support very old devices, serve WebP or AVIF in a <picture> element with a JPEG fallback.

    Why did my PNG get bigger?

    Browsers save PNG losslessly and without the palette tricks that PNG optimisers use, so a file that was already optimised can grow. Convert it to WebP, or shrink its dimensions.

    Does compressing remove EXIF and GPS location?

    Yes. The output contains only pixels, so location, camera model, date taken and other EXIF, XMP and IPTC data are removed. Each row lists what the original contained. The photo's rotation is applied to the pixels first, so it still appears the right way up.

    Why will my iPhone photo (HEIC) not open?

    Chrome and most other browsers cannot decode HEIC. Open this page in Safari, or on the iPhone go to Settings → Camera → Formats and switch from High Efficiency to the other option, so new photos are saved as JPEG.

    How much does image size affect page speed?

    When the largest element in the viewport is an image, its download time is part of LCP, which should be 2.5 seconds or less for 75% of visits. Smaller files help most on mobile networks; a slow server or a late-discovered image still needs separate fixes.

    Changelog

    Update history

    New features, fixes and data refreshes for this tool, newest first.

    1. · v1.0

      LaunchedFirst release.

    Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates

    See your data clearly. Find your growth.

    Every click, backed by data. Install one line of code and see your first numbers in a minute.

    No credit card · Free plans for analytics and chat · Cookieless analytics