Compress any image to under 10 KB — in your browser, with nothing uploaded. The tool searches encoder quality settings to land as close to 10 KB as it can without going over, and only reduces dimensions when the target cannot be reached any other way.
Drop images here, click to browse, or paste from the clipboard
JPG · PNG · WebP · GIF · BMP · SVG · as many files as you like · nothing is uploaded
Everything worth knowing about the 10 KB target
What 10 KB can realistically hold, how the tool actually reaches it, which format to pick, what quality to expect, and where this budget is the right choice rather than an arbitrary one.
Compressing to 10 KB: what the number actually means
Ten kilobytes is roughly the size of a page of plain text. Fitting a photograph into it is not a matter of turning the quality slider down a little — it is a fundamental change of scale. A modern phone photo leaves the camera somewhere between three and eight megabytes; getting to 10 KB means discarding well over 99.8% of the file. No encoder does that without also reducing the pixel count, which is why this tool downscales as well as re-encodes.
That is not a failure of the tool, it is arithmetic. Every compressed pixel costs bytes. Even the most efficient settings need roughly a tenth of a byte per pixel for a simple image and around a third for a detailed one, so a 10 KB budget buys you somewhere between thirty thousand and a hundred thousand pixels in total. That is a thumbnail, not a photograph — and once you accept that, 10 KB becomes a perfectly useful size rather than an impossible one.
The tool works backwards from the number. It re-encodes at progressively lower quality, and when quality alone cannot reach the target it reduces the dimensions and tries again, repeating until the output genuinely sits under 10 KB. You get the largest, cleanest image that actually fits, along with the exact dimensions and quality it had to use to get there.
Why people choose the 10 KB target
People arrive at a 10 KB target from two very different directions. The first is a system that refuses anything larger — an old upload field, an internal form, a legacy database column sized for a specific number of bytes. The limit is arbitrary, nobody remembers who set it, and it is not negotiable. The second is a deliberate performance decision: a page that has to load on a slow connection, or a grid of forty thumbnails where forty times 10 KB is a budget and forty times 100 KB is not.
Both are legitimate, and both need the same thing: an honest answer about what fits. The mistake is treating 10 KB as a quality setting rather than a size class. It is a thumbnail budget. Plan for a thumbnail and the result is good; plan for a photograph and the result is a mess.
Why a target size beats a quality slider
Every image editor asks you for a quality number and then tells you the file size afterwards. That is backwards for the problem most people actually have, which is a fixed ceiling — an upload form, a page budget, a mailbox limit — and no idea which quality setting will land underneath it. The usual result is a loop: export at 70, check, export at 50, check, export at 60, give up somewhere in the middle.
This tool inverts the relationship. You give it the ceiling and it searches for the quality, using a bisection over the encoder settings that converges in a handful of attempts. That is why it can hit 10 KB reliably on the first pass, and why it can tell you afterwards exactly which quality it used — which is useful information, because it tells you how much headroom you had.
What the tool does not do
It does not upload anything, so it cannot use a server-side encoder like MozJPEG or a full WebP encoder with custom tuning. It uses the encoders built into your browser, which are good but not state of the art. It also does not perform content-aware operations — no smart cropping, no subject detection, no upscaling. And it will not make a compressed file better than its source: compressing an image that has already been through a lossy pass compounds the damage, so always start from the best original you have.
The pipeline, step by step
Decode. The file is decoded into a bitmap using the browser image decoder, with EXIF orientation applied so photographs taken sideways come out the right way up. This step also discards every metadata block — EXIF, GPS, camera make and model, colour profile — because a bitmap is just pixels.
Resize. If you have set a maximum width or height, the bitmap is drawn into a canvas of the fitted size with the browser high-quality smoothing enabled. Aspect ratio is always preserved; the tool never stretches or crops.
Search quality. The canvas is encoded repeatedly at different quality settings, bisecting between the floor you set and the practical ceiling. Each attempt produces a real encoded blob, so the size it reports is the actual file size rather than an estimate. Around eight to ten iterations are enough to converge.
Downscale and retry. If even the quality floor exceeds 10 KB, the tool computes a scale factor from the ratio between the achieved size and the target, applies it, and runs the quality search again. It repeats this until the file fits, which for a photograph against a small target may take several rounds.
Score fidelity. The original and the result are both drawn to a small common canvas and compared pixel by pixel to produce a peak signal-to-noise ratio. This gives you an objective number rather than a promise.
Hand back the blob. The result is offered as a download, individually or bundled into a ZIP that is assembled in the browser.
Why bisection rather than a fixed quality
The relationship between quality setting and file size is not linear and it is not the same for two different images. A photograph of a plain wall at quality 80 might be a tenth the size of a photograph of a forest at the same setting. Any fixed quality number therefore lands wildly differently depending on the picture, which is why exporting at "quality 60" is such an unreliable way to hit a file-size target.
Bisection sidesteps that by measuring rather than predicting: encode at the midpoint, read the real size, move the bracket, repeat until the remaining error is smaller than one quality step.
Why dimensions come after quality
Removing pixels is destructive in a way that lowering quality is not — pixels cannot come back. So the tool exhausts the quality range first and reaches for the scissors only when it must, which is what makes it produce the largest image that fits 10 KB rather than an arbitrarily shrunken one.
PNG is a special case. PNG is lossless and has no quality parameter, so the quality search does not apply to it. When you choose PNG the only lever available is dimensions, which means the tool reaches 10 KB purely by scaling. That is why a photographic PNG at a small target ends up so much smaller in dimensions than the same image as WebP.
What actually fits in 10 KB
The honest answer to "how big an image fits" is that it depends entirely on the picture. Compression works by removing redundancy, and a photograph of a foggy lake has far more redundancy than a photograph of a market crowd. The table below works from a bytes-per-pixel model: for each kind of content, roughly how many bytes a pixel costs at the quality settings this tool typically lands on, and therefore how many pixels a 10 KB budget buys.
Content type
JPEG at 4:3
JPEG at 16:9
WebP at 4:3
WebP megapixels
Detailed photograph — foliage, crowds, texture, fine grain
200 × 150
230 × 130
250 × 190
0.05 MP
Ordinary photograph — portrait, product on plain ground
280 × 210
320 × 180
340 × 260
0.09 MP
Soft or low-detail photo — sky, studio white, shallow depth of field
360 × 270
420 × 230
450 × 340
0.15 MP
Screenshot or UI capture with text
230 × 170
260 × 150
300 × 230
0.07 MP
Flat graphic, logo or illustration
390 × 290
450 × 250
520 × 390
0.20 MP
Derived from typical encoder output at the quality range this tool settles on: JPEG at roughly 0.34 bytes per pixel for detailed photographs down to 0.09 for flat graphics, with WebP at about 0.65 of the JPEG figure. Dimensions are rounded to the nearest ten pixels. These are planning figures, not guarantees — your own images will land somewhere either side depending on their content.
How to read the table
Find the row that best describes your image and read across. If your photograph is a portrait against a plain studio background, you are in the "ordinary photograph" row and can expect the dimensions shown. If it is a landscape full of trees, you are in the "detailed photograph" row and should expect roughly half the pixel area for the same bytes.
The WebP column is the one to look at if you control where the image is going, because it is the format that will actually be used. The JPEG columns matter when the destination is an upload form, an email or any system whose format handling you cannot predict.
How 10 KB compares with the targets either side
The same photograph at three neighbouring budgets, using the WebP figure for an ordinary photograph. This is the fastest way to tell whether you are on the right tier or one step away from it.
Doubling to 20 KB is the single biggest quality jump available anywhere in this range, because 10 KB sits at the steepest part of the curve. If your limit is a policy rather than a hard system constraint, it is worth arguing for.
Halving the width and height quarters the pixel count, which roughly quarters the file size at the same quality. That relationship is the lever you have. If a 10 KB target is producing a soft image, the fix is almost always fewer pixels rather than a different encoder or a cleverer setting — and because screens are smaller than camera sensors, those pixels are usually ones nobody would have seen anyway.
What makes an image expensive
Fine random texture. Foliage, gravel, fabric weave, hair, sand and film grain are incompressible by nature — there is no pattern to exploit.
High contrast edges. Rendered text, line art and hard shadows force the encoder to spend heavily to avoid visible ringing.
Noise and heavy sharpening. Both are high-frequency detail, and high-frequency detail is what costs bytes. Denoise before compressing and sharpen lightly, after resizing.
Choosing a format at 10 KB
At 10 KB the format choice is not a preference, it is the difference between usable and unusable. WebP typically fits 40 to 60% more pixels than JPEG at the same file size, and that gap is at its widest precisely at very small sizes, where JPEG has to make its ugliest compromises. If your destination accepts WebP, use it here.
If the image is a logo, an icon or anything with flat colour and hard edges, do not use JPEG at all — its artifacts cluster around exactly the sharp edges such images are made of. A PNG with a reduced palette, or a WebP, will be both smaller and cleaner. Reach for JPEG only when the subject is genuinely photographic.
Format
Compression
Transparency
Best for
Avoid for
JPEG
Lossy
No
Photographs, anything going to an unpredictable destination, email, print workflows
Text, screenshots, logos, line art, anything needing transparency
WebP
Lossy or lossless
Yes
Anything served from a site you control — typically 25 to 35% smaller than JPEG at equal quality
Legacy pipelines, some third-party upload endpoints, older print software
PNG
Lossless
Yes
Screenshots, diagrams, charts, logos, flat colour, anything with rendered text
Photographs — a photographic PNG is many times larger than an equivalent JPEG
AVIF
Lossy or lossless
Yes
The smallest files of all, roughly 20 to 30% below WebP
Browser canvas export support is still inconsistent, so it is not offered here
GIF
Lossless, 256 colours
Binary only
Nothing, in practice — superseded by PNG for stills and video for animation
Photographs, anything needing more than 256 colours
SVG
Vector, text-based
Yes
Logos, icons and diagrams that must scale to any size
Photographs — SVG cannot represent them without embedding a raster image
What "auto" does
With the format set to auto, the tool inspects each image and decides per file. Images with a meaningful alpha channel go to WebP so transparency survives. Images that look photographic go to WebP if your browser can encode it and JPEG otherwise. Images that appear to be flat graphics or screenshots — few distinct colours, large uniform regions — stay as PNG, because forcing them through a lossy encoder would produce a larger and uglier file. If you know what your images are, setting the format explicitly is always more predictable than auto.
The re-encoding trap
Every lossy encode discards information permanently, and the losses compound. A JPEG that has been through three save cycles at quality 80 looks noticeably worse than one saved once at quality 60, even though the last file is larger. This matters here because it is tempting to compress a file, decide it is not small enough, and compress the result again. Do not: change the target and re-run from the original instead. The tool keeps your originals in the list precisely so you can do that.
Transparency and background flattening
JPEG has no alpha channel, so converting a transparent PNG to JPEG has to put something behind it. The tool fills transparent areas with the colour you pick — white by default, which suits most pages but is exactly wrong on a dark background, where it produces a bright rectangle around your logo. If transparency matters, choose WebP or PNG and it survives untouched.
What 10 KB looks like
Be realistic about what a 10 KB image looks like. On a detailed photograph you will see blocking in flat areas, colour banding in gradients, and softening around edges — the classic signature of an over-compressed JPEG. On a simple subject against a plain background the same budget looks perfectly respectable, because there is far less detail for the encoder to throw away.
The single biggest lever is dimensions. A 200 × 150 image at high quality looks dramatically better than a 800 × 600 image mangled down to the same 10 KB, because the first is a clean small picture and the second is a broken large one. If the image will be displayed small, let the tool shrink it. If it must stay large, accept that 10 KB will look rough, or move to a bigger budget.
Content matters as much as size. Faces, text and hard edges expose compression artifacts immediately; sky, skin, blur and soft studio backgrounds hide them. If you have any choice about which frame to use, choose the simpler one.
A measured result at 10 KB
Vague promises about quality are easy to make, so here is an actual run. A deliberately difficult synthetic photograph — 2000 × 1500 pixels, saturated, and loaded with random noise that no encoder can compress away — was put through this exact tool at the 10 KB target in Chromium. Real photographs are easier than this, so treat these figures as close to a worst case rather than a typical one.
Source
1.8 MB JPEG at quality 96, 2000 × 1500, heavy synthetic noise
Result
10.0 KB as WebP, 100% of the 10 KB budget
Dimensions
557 × 418 px — the quality floor could not reach 10 KB at full size, so the image was scaled to about 28%
Quality landed on
34 out of 100, found by bisection
Fidelity
32.3 dB against the original
Reduction
99.5%
Mistakes people make at 10 KB
Keeping the original dimensions. The most common and most damaging error. A 2000-pixel photograph forced into 10 KB is unusable; the same photograph at 350 pixels is fine. Let the tool shrink it.
Using JPEG for a logo. JPEG artifacts cluster at exactly the sharp edges a logo is made of. PNG or WebP will be smaller and cleaner.
Forgetting base64 overhead. If the image is going into a data URI, base64 inflates it by roughly a third, so a 10 KB file becomes about 13 KB of markup.
Compressing an already-compressed thumbnail. At this budget every lossy pass is expensive. Always start from the largest, highest-quality original you have.
Not cropping first. At 10 KB, half the frame is half your byte budget. A tight crop is free quality.
Reading the fidelity score
Every result carries a peak signal-to-noise ratio in decibels, computed by comparing the compressed output against the original pixel by pixel. It is a genuine measurement rather than a marketing claim, and it is a good deal more useful than a vague assurance that quality has been preserved.
Score
What it means
Practical reading
Above 45 dB
Essentially identical
No difference detectable by any means short of subtracting the images
40 – 45 dB
Visually lossless
Indistinguishable in normal viewing; safe for anything
35 – 40 dB
Excellent
Differences only visible in a side-by-side at full zoom
30 – 35 dB
Good
Noticeable on close inspection, invisible in normal use
25 – 30 dB
Acceptable
Artifacts visible if you look; fine for thumbnails, not for hero images
Below 25 dB
Degraded
Obvious blocking and banding; consider a larger target or smaller dimensions
One caveat worth knowing: peak signal-to-noise ratio measures mathematical difference, not perceived quality. A slight overall brightness shift scores badly while being invisible; blocking concentrated in one corner scores well while being obvious. Use the number as a guide and the comparison slider as the verdict.
What compression artifacts look like
Blocking. Visible 8 × 8 squares in flat areas, the classic JPEG failure. Appears first in skies and shadows.
Banding. Smooth gradients breaking into visible steps. Worst in skies, studio backdrops and soft shadow.
Ringing. Faint halos alongside hard edges, most obvious around text and line art. This is why screenshots belong in PNG.
Colour bleed. Saturated colour smearing beyond its boundary, because colour is stored at lower resolution than brightness.
Texture loss. Fine detail flattening into smooth patches — the "waxy" look on skin and fabric.
Getting more quality out of the same budget
Crop first. Removing pixels you do not need is free compression, and it concentrates the budget on the part of the image that matters.
Cap the dimensions. The most effective single lever. A smaller sharp image beats a larger broken one in almost every context.
Use WebP. Roughly a third fewer bytes for the same visual result, and the advantage is widest exactly where budgets are tight.
Denoise a noisy original. Sensor noise is random data and random data does not compress. Removing it can cut file size dramatically.
Sharpen less. Aggressive sharpening manufactures the high-frequency detail that costs the most bytes.
Start from the best original. Compressing an already-compressed file compounds the damage from both passes.
Where 10 KB is the right budget
List and grid thumbnails
Small preview images in search results, feeds and file browsers, where the rendered size is 100 to 200 pixels and nobody ever sees them full size.
Email signature graphics
Logos and badges in email footers. Mail clients are unforgiving about weight and many recipients are on metered connections.
Hard upload caps
Older forms and internal systems that refuse anything over 10 KB and give no useful error message when you exceed it.
Inline data URIs
Images embedded directly in HTML or CSS as base64. Base64 adds about a third to the size, so a 10 KB source becomes roughly 13 KB of markup.
Low-bandwidth delivery
Pages built for slow or expensive connections, where the whole page budget is measured in tens of kilobytes rather than megabytes.
Placeholder previews
The blurred low-quality image that loads first while the full version downloads behind it.
Choosing a budget by role, not by habit
The most common mistake in image optimisation is applying one number to everything. A page has different kinds of image on it and they deserve different budgets: the hero that determines the largest contentful paint, the content images inside the article, and the thumbnails in a related-posts strip are three different jobs. Give the hero a generous allowance, keep content images moderate, and squeeze thumbnails hard — the thumbnails are where volume multiplies small savings into large ones.
Role
Typical budget
Why
Grid and list thumbnails
10 – 30 KB
Many per page, rendered small; volume makes each kilobyte count
Avatars and icons
10 – 50 KB
Displayed at 32 to 256 pixels, often dozens at once
Inline content images
50 – 100 KB
Full column width, several per article, quality matters but so does weight
Mobile hero / LCP element
100 – 200 KB
Directly determines the largest contentful paint on the device that matters most
Desktop full-width hero
200 – 500 KB
Large dimensions at high pixel density, and only one per page
Portfolio and zoom images
300 – 500 KB
The photograph is the product; texture and detail must survive
Attachments and portal uploads
500 KB – 1 MB
The constraint is a system limit, not page speed; preserve as much as allowed
When compression is the wrong answer
When you should be serving a different size. A phone downloading a desktop-width image wastes most of it. Responsive images through srcset beat compression alone.
When the image should not be an image. Text rendered into a picture is heavier, unsearchable and inaccessible. Use real text. Charts are often better as SVG.
When the original is the deliverable. Print files, archival masters and anything a client is paying for should never be replaced by a compressed copy.
Working efficiently
At this size, crop before you compress. Removing the empty half of a photograph is free compression: fewer pixels to encode means more bytes available for the part you actually care about. A tight crop at 10 KB can look better than a wide shot at 30 KB.
Recommended settings for common 10 KB jobs
Starting points rather than rules. The quality floor only sets how far the search may go; the tool still uses the highest setting that fits, so raising the floor makes it give up and downscale sooner rather than producing a bigger file.
Job
Format
Max width
Quality floor
Note
Grid or list thumbnail
WebP
400 px
25%
Covers a 150–200 px slot on a retina screen
Email footer logo
PNG
300 px
n/a
Flat colour stays crisp and compresses well losslessly
Inline data URI
WebP
320 px
20%
Budget for base64 adding about a third
Hard 10 KB upload cap
JPEG
350 px
20%
Target 9 KB; JPEG for unpredictable back-ends
Test one before running fifty. Drop in a single representative image, look at the result on the comparison slider, and only then commit the batch. Two minutes here saves re-running everything.
Decide dimensions before size. Setting a maximum width is what turns a byte budget into a sharp picture. Left unconstrained, a 6000-pixel camera file spends the whole budget on pixels no screen will show.
Keep your originals. Compression is one-way. Compress into a new folder and never overwrite the source, because the day you need a print or a different crop will arrive.
Group by content type. Photographs, screenshots and logos want different formats; run them as separate batches rather than trusting auto to sort a mixed pile.
Batch processing notes
Every file in a batch is processed independently against the same target, so a mixed set produces mixed results — a simple graphic may land far under the ceiling while a detailed photograph needs downscaling to get there. The results table shows what each file required, which makes the outliers easy to spot and re-run with different settings.
The ZIP is assembled in your browser using stored (uncompressed) entries. That is deliberate: the files inside are already compressed images, so deflating them again would cost time and save almost nothing. The archive opens in every standard tool.
Filenames and organisation
Output files keep the original name with the new extension. If you compress a JPEG to WebP you will get the same base name with a .webp extension, which means a compressed set can sit alongside the originals without collisions. When you are optimising a website this matters: update the references in your markup at the same time, or serve both through a picture element with the WebP first and the JPEG as a fallback.
Accessibility and SEO are separate problems
Compression makes pages faster, and speed helps search ranking indirectly. It does nothing for the things that actually describe your image to a search engine or a screen reader: the alt text, the filename, the caption and the surrounding content. Compress for speed, write proper alt text for everything else, and do not confuse the two.
Image compression terms
Artifact
Visible damage introduced by lossy compression — blocking, banding, ringing or colour bleed.
Banding
Smooth gradients breaking into visible steps. The first failure you will see in skies and studio backdrops.
Blocking
Visible square tiles in flat areas, produced by the block-based transform at the heart of JPEG.
Bytes per pixel
File size divided by pixel count. The single most useful way to reason about whether an image will fit a byte budget.
EXIF
Metadata a camera embeds — exposure, lens, timestamp and often GPS coordinates. Removed entirely by re-encoding.
Lossless
Compression that reconstructs the original exactly. PNG and lossless WebP; larger files, no artifacts.
Lossy
Compression that discards information permanently in exchange for much smaller files. JPEG, lossy WebP, AVIF.
LCP
Largest Contentful Paint, the Core Web Vitals metric measuring when the biggest element becomes visible. Usually an image.
PSNR
Peak signal-to-noise ratio, the fidelity score shown for each result. Higher is closer to the original.
Quality setting
The 0 to 100 parameter given to a lossy encoder. It is not a percentage of anything and the same number means different things in different encoders.
Re-encoding
Decoding an image and encoding it again. Each lossy round trip compounds the damage of the last.
Ringing
Faint halos beside hard edges, most visible around text. The reason screenshots belong in PNG.
WebP
An image format supporting both lossy and lossless compression with transparency, typically 25 to 35% smaller than JPEG.
Frequently asked questions
Can any photo be compressed to 10 KB?
Any image can be made to fit 10 KB, but not at its original dimensions. The tool will reduce the pixel count until the file genuinely fits, so the question is not whether it will work but whether the resulting size is large enough for your purpose. For a photograph, expect something in the region of a 250-pixel-wide thumbnail.
Why did my image get smaller in dimensions and not just in quality?
Because quality alone could not reach 10 KB. The encoder has a floor below which it produces nothing usable, and for most photographs that floor still sits well above 10 KB at full resolution. Rather than hand you a file that misses the target, the tool reduces the dimensions and re-encodes until it actually fits.
Is 10 KB enough for a profile picture?
It depends where it is displayed. At the 40 to 96 pixel sizes most interfaces use for avatars, 10 KB is comfortable and the result looks clean. If the same picture is also shown at 400 pixels somewhere, 10 KB will look soft and you should use a larger budget for that copy.
Will the image look bad?
At the original dimensions, yes. At the dimensions the tool produces, usually not — the point of downscaling is to spend the byte budget on a smaller, cleaner picture rather than a larger, broken one. The fidelity score in the results tells you how far the output has drifted from the original.
Which format should I pick at this size?
WebP if your destination accepts it, because at 10 KB it buys meaningfully more pixels than JPEG. JPEG if you need maximum compatibility. PNG only for flat graphics and logos, never for photographs at this size.
Does compressing remove EXIF and location data?
Yes. The image is decoded to raw pixels and re-encoded in your browser, so EXIF, GPS coordinates, camera make and model and every other metadata block are dropped. That is a privacy benefit, but it also means you should keep the original if you need that data.
Can I compress several images at once?
Yes. Drop in as many files as you like and each is processed independently against the same target. You can download them one at a time or take the whole batch as a single ZIP.
My image is already under 10 KB. What happens?
The tool tells you it is already within budget and leaves it alone rather than re-encoding it. Re-encoding an already compressed image only degrades it further without any benefit.
Are my images uploaded to a server?
No. Everything happens in your browser using the Canvas API. The files never leave your device, nothing is stored, and the tool works with your network disconnected.
What image formats can I feed in?
Anything your browser can decode: JPEG, PNG, WebP, GIF (first frame), BMP, SVG and, in recent browsers, AVIF. HEIC from iPhones is not decodable in most browsers — convert it to JPEG first, or use a device that exports JPEG.
About Compress Image to 10 KB
This tool compresses any image you give it to under 10 KB, in your browser, without uploading anything. Drop in a JPG, PNG, WebP, GIF, BMP or SVG and it decodes the file, searches encoder quality settings to find the highest one that still fits inside 10 KB, and hands back the result with the exact final size, the dimensions, the quality setting it used and a fidelity score measuring how far the output has drifted from the original.
Where quality alone cannot reach 10 KB — which happens on tight budgets and very large source images — it reduces the dimensions progressively and re-encodes until the file genuinely fits, then tells you the scale factor it applied. You get the largest, cleanest image that will actually fit the target rather than a file that misses it.
The extreme end of image compression: this page covers what 10 KB can realistically hold, which formats behave best at that size, and where the budget is genuinely the right choice.
Features
Exact target search: Binary search across encoder quality settings to land as close to 10 KB as possible without exceeding it.
Automatic downscaling fallback: When quality alone cannot reach 10 KB, dimensions are reduced progressively until the file fits, with the scale factor reported.
Batch processing: Drop in a whole folder; every file is processed independently against the same target.
Format control: Auto, JPEG, WebP or PNG output, with auto choosing per file based on whether the image is photographic or has transparency.
Dimension limits: Set a maximum width and height and the image is fitted inside that box with its aspect ratio kept.
Before-and-after comparison: A draggable slider over the original and the result at full size, so you can judge the trade rather than guess at it.
Fidelity score: A peak signal-to-noise ratio for every file, telling you objectively how much was lost.
ZIP download: Take the entire batch as one archive, built in the browser with no library and no server.
Metadata stripped: EXIF, GPS coordinates and camera details are discarded during re-encoding, which is a privacy benefit worth knowing about.
Nothing uploaded: Every step runs locally through the Canvas API. The tool works with the network disconnected.
How to Use
Add your images — drag them onto the drop zone, click to browse, or paste from the clipboard. Multiple files at once are fine.
Check the target — it is preset to 10 KB. Lower it slightly if you are compressing to satisfy an upload limit, since some systems measure the whole request rather than the file.
Pick an output format — auto is right most of the time. Choose WebP for the smallest files, JPEG for maximum compatibility, PNG for screenshots, logos and anything with text.
Set maximum dimensions if it matters — capping the width is what turns a byte budget into a sharp image rather than a soft one.
Compress — each file is processed and appears in the results table with its before and after size, dimensions, quality and fidelity score.
Check one result — open the comparison slider on a representative image before committing to a large batch.
Download — take files individually or the whole batch as a single ZIP.
Examples
Example 1 — a phone photo for a thumbnail grid: A 4.2 MB, 4032 × 3024 photograph is dropped in with a 10 KB target. The tool cannot reach 10 KB at full resolution even at its quality floor, so it scales down progressively and settles at roughly 340 × 255 in WebP, about 9.6 KB, a 99.8% reduction. Displayed at 160 pixels in a grid it is indistinguishable from the original.
Example 2 — a logo for an email footer: A 180 KB PNG logo with flat colour is compressed with the format set to PNG. Because flat graphics compress far better than photographs, the logo keeps most of its dimensions and lands around 7 KB with no visible change — the right result, and one JPEG would have handled badly.
Example 3 — a batch of catalogue thumbnails: Forty product photographs are dropped in together. Each is processed against the same 10 KB ceiling and the results table shows the dimensions and quality each one needed. The whole set downloads as a single ZIP totalling under 400 KB, down from 78 MB.
Benefits
Hit the number first time: No exporting at quality 60, checking the size, exporting again at 45. The tool searches for you.
Pass upload limits that reject camera files: A phone photo is many times over a 10 KB cap; this closes the gap in one step.
Keep as much quality as the budget allows: Quality is reduced before dimensions, so you never lose resolution unnecessarily.
Judge the trade honestly: A comparison slider and an objective fidelity score instead of a vague promise about quality.
Process a folder in one pass: Batch compression with a per-file report and a single ZIP download.
Keep your images private: Nothing is uploaded, nothing is stored, and the tool works offline.
Strip location data automatically: Re-encoding removes EXIF and GPS, which matters when sharing photographs publicly.
Free, with no account and no watermark.
Frequently Asked Questions
Can any photo be compressed to 10 KB?
Any image can be made to fit 10 KB, but not at its original dimensions. The tool will reduce the pixel count until the file genuinely fits, so the question is not whether it will work but whether the resulting size is large enough for your purpose. For a photograph, expect something in the region of a 250-pixel-wide thumbnail.
Why did my image get smaller in dimensions and not just in quality?
Because quality alone could not reach 10 KB. The encoder has a floor below which it produces nothing usable, and for most photographs that floor still sits well above 10 KB at full resolution. Rather than hand you a file that misses the target, the tool reduces the dimensions and re-encodes until it actually fits.
Is 10 KB enough for a profile picture?
It depends where it is displayed. At the 40 to 96 pixel sizes most interfaces use for avatars, 10 KB is comfortable and the result looks clean. If the same picture is also shown at 400 pixels somewhere, 10 KB will look soft and you should use a larger budget for that copy.
Will the image look bad?
At the original dimensions, yes. At the dimensions the tool produces, usually not — the point of downscaling is to spend the byte budget on a smaller, cleaner picture rather than a larger, broken one. The fidelity score in the results tells you how far the output has drifted from the original.
Which format should I pick at this size?
WebP if your destination accepts it, because at 10 KB it buys meaningfully more pixels than JPEG. JPEG if you need maximum compatibility. PNG only for flat graphics and logos, never for photographs at this size.
Does compressing remove EXIF and location data?
Yes. The image is decoded to raw pixels and re-encoded in your browser, so EXIF, GPS coordinates, camera make and model and every other metadata block are dropped. That is a privacy benefit, but it also means you should keep the original if you need that data.
Can I compress several images at once?
Yes. Drop in as many files as you like and each is processed independently against the same target. You can download them one at a time or take the whole batch as a single ZIP.
My image is already under 10 KB. What happens?
The tool tells you it is already within budget and leaves it alone rather than re-encoding it. Re-encoding an already compressed image only degrades it further without any benefit.
Are my images uploaded to a server?
No. Everything happens in your browser using the Canvas API. The files never leave your device, nothing is stored, and the tool works with your network disconnected.
What image formats can I feed in?
Anything your browser can decode: JPEG, PNG, WebP, GIF (first frame), BMP, SVG and, in recent browsers, AVIF. HEIC from iPhones is not decodable in most browsers — convert it to JPEG first, or use a device that exports JPEG.