Compress image to 150KB

The target is already set. Add your image and the encoder finds the best quality that fits under 150 KB.

  • Free forever
  • No signup
  • Files never uploaded
  • No watermark
  • Unlimited files

150 KB compressor

JPG, PNG and WebP files are accepted. Paste from clipboard with Ctrl+V (Cmd+V on a Mac).

Compression mode

This page is fixed to target-size mode at 150 KB. The encoder searches for the highest quality that fits under the limit, and the results table reports the size it actually reached. You can still change the target below, and every other setting is yours.

Adjust this if you need something other than 150 KB. If the limit cannot be reached at the current pixel dimensions, the row says so rather than handing you an oversized file.

Keep the original format, or convert on the way out to compare which one is smallest.

  • Removes camera model, timestamps and GPS coordinates. Also saves a few kilobytes, which matters at small targets.

  • Turn this off to let the tool shrink the image when quality alone cannot meet the target. At very small targets this is usually necessary.

Ready. Add a file to begin.

Results

Target size mode · JPEG output · 0 files

No files yet. Results will appear in this table as soon as you add one.

Your files are processed by your own browser. Nothing is uploaded to a server, so nothing can be stored, read or shared.

More tools

Other tools on this site

Each one runs in the browser the same way, with no upload and no account.

  • Compress JPEG

    Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.

    Compress JPEG
  • Compress PNG

    Reduce PNG screenshots and graphics while keeping transparency and hard edges intact.

    Compress PNG
  • Compress WebP

    Re-encode WebP images at a lower quality, or convert JPEG and PNG into WebP.

    Compress WebP
  • Resize Image

    Change pixel dimensions by width, height or percentage, with the aspect ratio locked.

    Resize an image
  • JPG to PDF

    Combine several photos into one PDF, reorder the pages and choose paper size and margin.

    Build a PDF
  • Document Editor

    Write a formatted document in the browser and export it to PDF, DOCX or HTML.

    Open the editor

Specification

Technical specification

Every capability written out as text, including the ones where the answer is no. A specification that only listed the wins would not be worth reading.

Technical specification — what this tool supports, attribute by attribute.
AttributeThis tool
Supported input formatsJPG and JPEG
Output formatsJPEG, PNG, WebP
Compression typeLossyJPEG discards detail permanently by design. PNG output is lossless but far larger for photographs.
Quality controlAdjustable, 10 to 100Maps directly to the encoder's quality setting. Moving it genuinely changes the output.
Exact output file sizeYes — target in KBThe encoder searches for the highest quality that fits under your limit, then reports the size it actually reached.
Resize / image dimensionsYes — max width and heightAspect ratio preserved. The resizer page adds exact pixel and percentage modes.
Batch / bulk processingUnlimitedFiles are encoded in parallel across a Web Worker pool and can be downloaded as one ZIP.
Maximum file sizeNo limit set by this siteBounded in practice by your device's memory, since each image is held uncompressed while it is processed.
EXIF and metadataStripped by defaultCamera model, timestamps and GPS coordinates are removed. You can switch it off.
Transparency / alpha channelNot applicable to JPEGJPEG has no alpha channel. Choose PNG or WebP output if you need transparency.
Chroma subsampling controlNot availableThe browser's encoder chooses it and exposes no setting. We will not add a control that cannot affect the output.
Progressive JPEG controlNot availablecanvas.toBlob gives no control over progressive encoding. Use MozJPEG or ImageMagick if you need it.
Colour profile handlingConverted to sRGBA browser canvas works in sRGB, so wide-gamut images are converted. Correct for the web, wrong for print masters.
Bit depth8 bits per channelThe maximum a browser canvas provides. HDR and 10-bit output need AVIF, which browsers cannot write.
Animation supportNot supportedA canvas decodes only the first frame of an animated file, so animation is out of scope rather than half-supported.
Where processing happensIn your browserNo upload endpoint exists in the compression path. Disconnect from the network after the page loads and it still works.
File retentionNone — nothing is receivedThere is no copy to retain or delete, because no file is ever transmitted.
WatermarkNeverThe output contains your image and nothing else.
Account, quota or costNoneNo sign-up, no daily cap, no paid tier withholding a feature.
Browser supportChrome, Edge, Firefox, SafariDesktop and mobile. Requires Canvas and Web Workers, which every current browser provides.

How it works

How to compress image to 150kb

  1. Step 1: Add your image

    Drag it onto the drop zone, click to browse, or paste from the clipboard.

  2. Step 2: Confirm the target

    The limit is already filled in. Change it if your form asks for something different.

  3. Step 3: Download and check the number

    The table shows the exact size produced, so you can confirm it is under the limit before you upload it anywhere.

Features

What this tool does

  • Batch processing

    Queue as many image files as you like. A Web Worker pool handles them in parallel so a large batch does not freeze the page.

  • Real quality control

    The quality slider maps directly to the encoder setting. Move it and the output genuinely changes — there are no cosmetic controls here.

  • Exact target size

    Ask for 200 KB and the encoder searches for the highest quality that fits under your limit, then reports what it actually achieved.

  • EXIF and metadata stripping

    Camera model, lens, timestamps and GPS coordinates can be removed on the way out. Useful before publishing a photo taken on a phone.

  • Format conversion

    Write the result as JPEG, PNG or WebP regardless of what you put in, so you can test which format is smallest for a given image.

  • Nothing is uploaded

    The whole pipeline runs in your browser through the Canvas API. Turn off your network connection after the page loads and it still works.

  • No watermark, no sign-up

    The output is your image and nothing else. There is no account, no daily quota and no paid tier holding back a feature.

  • Works on mobile

    The layout, the drop zone and the results table are all usable on a phone, and mobile browsers run the same encoder as the desktop ones.

In depth

Working at 150 KB

A limit you can meet without shrinking the photo

One hundred and fifty kilobytes is an awkward number to hit by hand and a comfortable one for an encoder. It is roughly the point where a 1600-pixel-wide photograph settles at a quality in the high seventies — artefacts are present in the file, but you have to zoom past the displayed size to find them.

The practical consequence is that you rarely have to reduce the dimensions. At 100 KB a large photograph starts to need scaling down; at 150 KB the same image usually fits at full resolution. If a form has handed you this limit, you can almost certainly satisfy it without touching the pixel size.

Where the 150 KB limit comes from

It turns up most often in two places. Application and registration forms use it as a middle ground — generous enough for a readable scanned document, tight enough to keep a database small. Email templates use it for header and banner images, because a heavy banner is the single most common reason a marketing email is slow to render.

It is also a sensible self-imposed budget for inline images in an article. A page carrying six photographs at 150 KB each is under a megabyte of imagery, which is the range where Largest Contentful Paint stays healthy on a mobile connection.

How the tool hits an exact size

Encoders do not take a file size as input — they take a quality setting, and the size falls out of it. Getting to a specific number therefore means searching.

The tool encodes your image at a mid-range quality, measures the result, and then moves the quality up or down depending on whether it came in under or over your limit. It repeats that, narrowing the range each time, until it finds the highest quality that still fits. That is a binary search, and it converges in about eight passes.

If nothing fits even at minimum quality, and you have allowed the dimensions to change, it scales the image down by a fifth and searches again. If you have locked the dimensions, it stops and tells you the target could not be met at that pixel size — rather than quietly handing you a file that will be rejected.

How quality maps to file size

The quality number in a JPEG or WebP encoder is not a percentage of anything. It is an index into a set of quantisation tables that control how aggressively detail is discarded. The relationship to file size is steep and non-linear.

For a typical 12-megapixel phone photograph the curve looks roughly like this:

  • Quality 95–100 — near-original appearance, but the file is often only 20–35% smaller. Rarely worth it for the web.
  • Quality 80–90 — the sweet spot for photography you care about. Typically 50–70% smaller with no artefact you would notice at normal viewing distance.
  • Quality 70–80 — the sweet spot for ordinary web images. Usually 70–85% smaller. Artefacts appear only if you zoom in on flat sky or skin.
  • Quality 50–70 — visible softening and blocking in smooth areas, though thumbnails and background images survive it well.
  • Below 50 — obvious blocking, ringing and colour banding. Useful only for placeholders.

Diminishing returns set in fast at the top of the range. Going from quality 100 to quality 90 usually halves the file for no perceptible change; going from 90 to 80 saves far less and costs slightly more. If you only remember one number, use 80.

Why re-compressing a JPEG keeps degrading it

Every time a JPEG is decoded, edited and saved again, the encoder re-runs its quantisation step on data that has already been quantised once. Errors from the previous pass are treated as real detail and get their own new errors layered on top. This is called generation loss, and it accumulates in one direction only.

Saving an already-compressed JPEG at quality 90 does not restore anything — it just spends more bytes preserving the artefacts of the earlier pass. Saving repeatedly at a low quality is what produces the smeared, blotchy look of an image that has been through a dozen chat apps.

Two habits avoid it. First, always compress from the highest-quality original you have, not from a copy that has already been through a compressor. Second, decide on your output size once and do a single pass, rather than nudging the quality down repeatedly and re-saving each time. If you need to try several settings, run each of them against the original file.

Questions

Frequently asked questions

Every answer below is present in the page source, expanded, so it can be read without opening anything.

Is 150KB enough for a scanned document?

For a single page, yes, provided you scan at a sensible resolution. A page scanned at 200 DPI and saved as JPEG fits under 150 KB with the text still crisp. If the scan is 600 DPI the file is fighting you before compression starts — rescan lower, or reduce the dimensions here and let the encoder work with fewer pixels.

Why does my photo land at 140KB instead of exactly 150KB?

Because the search stops at the highest quality that still fits under the limit, and JPEG quality is a discrete scale. The step between two adjacent quality levels can be several kilobytes, so the best legal result often sits a little under the target rather than exactly on it. Landing under is the point; a file at 151 KB would be rejected by the form you are filling in.

Will my photo still be usable at 150 KB?

That depends on its pixel dimensions more than anything else. A passport-sized photograph of 600 × 800 pixels looks perfectly clean at 150 KB. A 12-megapixel landscape squeezed to the same size will show visible blocking, because the encoder has to spend those kilobytes across twenty times as many pixels. If the result looks poor, reduce the dimensions first and compress again — that is almost always the fix.

What if the target cannot be reached?

The row is flagged and the tool reports the smallest size it managed. It does not pretend to have succeeded. Turning off "keep original dimensions" gives the encoder permission to scale the image down as well, which will nearly always get there.

Is the file really under the limit?

Yes, and the number in the results table is the byte length of the file you are about to download, not an estimate. Read as 150,000 bytes rather than 153,600, so the file clears a limit stated either way.

Are my files uploaded to compress them?

No. The whole search runs in your browser, encoding the image repeatedly in memory on your own device. Nothing is transmitted, which matters when the file is an identity document.

Can I do several images at once?

Yes. Every file in the batch is searched independently to the same target, so a mixed set of photographs all come out under the limit. Download them individually or as one ZIP.

Should I use JPEG or PNG here?

JPEG, unless the image has transparency. PNG is lossless, so its size is dictated by the content rather than by any setting — the target has no effect on it, and the tool says so instead of pretending the slider is doing something.

From the blog

Related reading

Longer explanations from the blog.

  • Practical Guides

    How to Compress Images for a Website Without Wrecking Them

    Resize before you compress. Measured on one photograph: half the width at quality 80 produced a 16.4 KB file, while full width at quality 40 produced 20.6 KB and looked far worse. The order of operations matters more than the settings.

    8 min read

  • Image Compression

    JPEG Quality Settings Explained: What the Number Actually Means

    Quality 80 is not 80% of anything. It is an index into a quantisation table. Measured on one photograph: dropping from 100 to 90 removes 77% of the file and 4.2 dB of fidelity; dropping from 40 to 30 removes 17% and costs almost as much.

    8 min read

  • Practical Guides

    How to Reduce Image Size for Email Without Sending a Blurry Mess

    Attachments are base64-encoded in transit, which inflates them by about a third. A 20 MB limit is really a 15 MB limit. Resize to 1600 pixels on the long edge and encode at quality 80, and a photograph lands near 150 KB.

    9 min read