Getting an iPhone HEIC photo down to 20KB is one of the most extreme size targets you’ll meet online — and among the hardest to hit by hand. A handful of email clients, forum avatars, and legacy or ultra-strict government forms cap images at 20KB and reject anything larger, usually with no guidance on how to get there. This tool does exactly that: you type 20, and it returns a JPEG at or under 20KB, with no upload and no guesswork.
Why 20KB is such a tight target
A 20KB limit shows up wherever a service needs images to be truly tiny — small enough to embed inline, store at enormous scale, or survive a legacy system built when bandwidth and storage were scarce. You’ll see it on email signature banners, tiny avatar or icon uploads, certain legacy government or municipal forms, and online portals built around very small display sizes.
The difficulty is that phones do not produce 20KB photos. An iPhone shooting HEIC — the default since iOS 11 — typically produces a single photo of 1 to 5 megabytes, with a 12-megapixel shot commonly landing around 1.5 to 3MB. Hitting a 20KB target is therefore a 60× to 150× reduction, and doing that precisely with a generic editor is painful: change a setting, export, check the size, repeat, overshoot, repeat again. Most editors cannot even get there, because at some point the quality slider bottoms out and the file is still over 20KB.
A purpose-built 20KB HEIC compressor removes the trial and error. Instead of asking you for a quality setting, it asks for the one number the form or email client cares about — the size in KB — and hits it directly.
Who needs a 20KB HEIC compressor
A 20KB image cap is most common in situations that want a very small, predictable file:
- Email signatures. Many email clients and corporate IT policies cap signature images at 20KB so messages stay light and load instantly, even on mobile connections.
- Tiny avatars and icons. Forums, membership sites, and in-app profile pictures sometimes want an avatar at 20KB or less, particularly on older platforms.
- Ultra-strict or legacy government forms. Certain municipal, visa, or benefit systems — especially older ones — still enforce a 20KB ceiling for uploaded images.
- Forms that accept JPEG only. A 20KB JPEG cap forces conversion from HEIC and a drastic reduction in one step.
In each case the requirement is the same: a JPEG, at or under 20KB, that still looks acceptable at a very small display size. That is exactly what this tool produces.
How to compress HEIC to 20KB, step by step
The tool is intentionally simple — no account, no settings menu, nothing to install.
- Open the compressor on this page. The engine loads once, in your browser, the first time you visit.
- Drop your HEIC photo into the box, or click to select it. The moment you choose a file, the tool decodes it and shows a preview, so you can confirm you picked the right photo before doing anything else. Most browsers cannot display HEIC directly, so the tool decodes it for you.
- Crop to the subject first. This matters more at 20KB than at any other target. Crop tightly to the face or icon in your phone’s editor before uploading — at 20KB, every pixel of background wastes a detail budget that is already tiny.
- Set the target to 20KB. It is preset, but you can type any number.
- Click Compress. The tool searches for the best result that fits under 20KB, usually within a second or two.
- Compare the before and after side by side to see exactly what changed.
- Download the result — a JPEG named with the target size, ready to upload.
If the form later complains, type a slightly lower number (say 18KB) and compress again. Some forms round up at the boundary, so landing a couple of KB under is safer than landing exactly on 20KB.
How the compression actually works
It helps to know what the tool is doing, especially at an extreme target like 20KB where the line between “acceptable” and “unusable” is thin. Compression runs in four stages, all in your browser.
1. Decode the HEIC
HEIC is a container holding image data compressed with HEVC (H.265). Browsers other than Safari cannot render HEIC directly, which is why pointing an <img> at a raw HEIC file shows nothing. The tool decodes the HEIC into raw pixels with a WebAssembly module, entirely on your device. No pixel data is sent anywhere.
2. Try the highest quality that fits
With raw pixels ready, the tool encodes them to JPEG. JPEG lets you choose a quality level from 1 to 100 — higher quality looks better but produces a larger file. The tool performs a binary search across quality levels to find the highest quality that still fits under 20KB. A binary search is efficient: rather than trying quality 30, then 31, then 32, it jumps to the middle, checks whether that fits, and narrows in within a handful of attempts. At 20KB, it almost never fits at full resolution, which triggers the next two stages.
3. Protect a quality floor before resizing
This stage is what stops the result from looking like a mosaic. Older “hit a target size” approaches kept lowering quality until the size fit — sometimes crushing quality down to single digits, which produces blockiness so severe that faces stop being recognizable. That is exactly wrong, and at 20KB it is a real risk.
This tool instead enforces a quality floor. It lowers quality only so far, and if even that floor still exceeds 20KB at full resolution — which at 20KB it almost always does — it stops lowering quality and starts resizing instead. The principle: trade pixels before you trade visible quality. A very small but clean photo always looks better than a full-size but blocky one. At 20KB, resizing is not an edge case; it is the path.
4. Resize with a high-quality filter, then retry
When a resize is needed — and at 20KB it always is — the tool uses a Lanczos resampling filter, the gold standard for downscaling photographs, preserving edges and fine detail far better than the faster bilinear filters many tools default to. After resizing, it repeats the quality search on the smaller image and loops until it lands under 20KB. The result is the best-looking JPEG that fits the target, given the source.
What to expect from a 20KB photo
At 20KB, the honest expectation is a very small but clean image. A 20KB budget cannot hold a real photograph — it can hold a tiny signature image, an icon, or a small avatar. For a clean headshot or a simple graphic, the result commonly lands around 150 to 300 pixels on the long edge, which is enough for an inline email signature, a tiny avatar displayed at 32 or 48 pixels, or an icon — and not enough for anything you would call a real photo.
A few practical expectations:
- It will be small in pixels. A 12-megapixel iPhone photo cannot fit into 20KB at any useful size, so the tool will shrink it heavily. This is the correct trade — a small but recognizable image beats a large but blocky one.
- Crop is decisive. At 20KB, a tightly cropped face or single subject is the only thing that works well. A wide scene with lots of detail becomes an indistinguishable blur.
- The output is a single JPEG, no animation or transparency — just the still image in the format forms expect.
If the result looks too soft, the cause is almost always the source. Cropping tightly to the face or subject before uploading makes more difference at 20KB than at any other target, because the tool can then spend its tiny budget on the part that matters instead of on background.
How photo file sizes actually work
A JPEG’s size in bytes comes from three things, and understanding them sets realistic expectations for 20KB:
- Pixel count (resolution). More pixels means more data to encode. A 12-megapixel photo has roughly four times as many pixels as a 3-megapixel one, so all else equal it produces a larger file.
- Quality level. JPEG is lossy: a higher quality keeps more detail and a larger file; a lower quality discards detail for a smaller file.
- Image complexity. Fine detail, noise, and busy texture compress poorly (larger file at the same quality), while smooth areas like sky or a plain wall compress well (smaller file at the same quality).
That third point is why two photos at the same resolution and quality can come out very different sizes, and it is especially important at 20KB: a tightly cropped face against a plain background fits far more cleanly than a wide, busy scene. Cropping before compressing is the single most effective thing you can do to improve a 20KB result — more than at any other target.
What 20KB actually buys you
For a clean headshot or simple graphic, 20KB corresponds to roughly 150 to 300 pixels on the long edge at a sensible quality — enough for an email signature, a tiny avatar, or an icon, but not enough for a real photograph or anything displayed at more than a small size. This is why 20KB targets suit icons, signatures, and tiny avatars, and resist anything you would call a photo.
Why a target-KB tool beats a quality slider
A normal image editor asks for a quality number and hands you whatever size results. That is backwards for forms: the form or email client cares about the size, not the quality. A target-KB compressor inverts the question — you give the size, the tool finds the best quality that fits — which is exactly what a hard 20KB ceiling demands. At 20KB this matters more than usual, because a quality slider bottomed out at its minimum often still produces a file larger than 20KB.
HEIC vs JPEG: why the output is JPEG
Two reasons the output is JPEG, not HEIC.
First, almost no online form accepts HEIC uploads. Forms expect JPEG or PNG. HEIC is an Apple-pushed format with uneven support outside the Apple ecosystem, and most form systems reject it outright.
Second, JPEG reaches tiny targets like 20KB far more cleanly. JPEG was designed for photographs and produces small files that look acceptable; the same photo as a PNG would be several times larger for no visible benefit. Since the goal is to fit under a size limit, JPEG is the right output.
So the conversion from HEIC to JPEG is the point, not a side effect. Your original HEIC is never modified.
Photo requirements by use case
Forms specify different combinations of file size, pixel dimensions, and aspect ratio. The tool handles file size directly; for the others, a little prep in your phone’s editor helps.
- File size. Set the tool a couple of KB under what the form states (e.g. 18KB for a 20KB limit) to be safe against rounding.
- Pixel dimensions. At 20KB the output will be small whatever you do, but if a form specifies exact pixels, crop or resize in your phone’s editor to match, then compress. The tool preserves your dimensions unless it must shrink them to hit the target.
- Aspect ratio. Email signatures are often wide and short; avatars are usually square. Crop to the required ratio before compressing so the final file is already the right shape.
- Color and background. Some forms want a white or light background — a capture-time concern, not a compression one. Plain backgrounds also help at 20KB, because flat areas encode efficiently.
Always confirm the exact requirements on the specific form, since they vary. The tool removes the most common hard blocker, which is the file-size ceiling.
Common aspect ratios and dimensions
Small-image use cases use a small set of standard shapes. Crop to the right one before compressing:
- Square (1:1). The default for avatars, icons, and many web platforms.
- Wide (2:1 or wider). Common for email signature banners.
- Portrait 3:4 or 4:5. Occasionally used for small ID-style thumbnails.
At 20KB the final pixel dimensions will be far smaller than these guidelines once the tool resizes to fit, but the aspect ratio you crop to is preserved. A signature banner that starts wide and short stays wide and short; a square avatar stays square.
Troubleshooting
The form still says the file is too large. Some forms round up. Re-compress targeting a couple of KB lower (18KB or 15KB) and try again. The tool always lands at or under the number you type.
The form rejects the format. The output is a standard JPEG with a .jpg extension, which virtually every form accepts. If a form specifically wants .jpeg, renaming the extension works — the contents are identical.
The photo won’t preview or compress. Make sure you are uploading a genuine HEIC/HEIF file, not a renamed extension or a screenshot. An interrupted transfer can produce an incomplete file; re-saving the original fixes it.
Compression feels slow. Large source files take longer because decoding and encoding scale with pixel count. This is normal and still finishes in a few seconds, all on your device.
The result looks like a blur. At 20KB this is almost always a source problem. Crop tightly to a single face or subject against a plain background, then compress again. A wide, busy scene will not work at 20KB — no tool can make it work, because the budget simply is not there.
Privacy: nothing leaves your device
The images people compress to 20KB — signature banners with a name and job title, avatars tied to real identity, government form uploads — are sensitive. Your image never leaves your device. There is no upload, no cloud processing, no server that sees your photo. Decoding and compression happen locally in your browser through a WebAssembly module, and when you close the tab the data is gone. There is no account, no storage, and no analytics applied to your image.
This differs from most “online compressor” sites, which upload your photo, process it on a server, and send it back. For a signature image or a form upload, running everything locally is both a privacy guarantee and a speed advantage — no round trip to a server.
How this compares to other approaches
- A generic online compressor. Uploads your photo, exposes you to ads and tracking, and gives you a quality slider rather than a target size, so you still guess and re-check. Many cannot reach 20KB at all, because their quality slider bottoms out while the file is still over the limit. They also see your photo.
- A phone editor or photos app. Can export HEIC as JPEG, but doesn’t target a file size. You get whatever the chosen quality produces and iterate manually, and at 20KB you will iterate a lot.
- Desktop image software. Powerful, but overkill for one image, and usually not on the phone where your HEIC lives.
- This tool. Purpose-built: type the KB target, get a JPEG that fits, locally and privately, with no setup.
For the specific job of “I have a phone photo and a form or email signature needs it under 20KB,” a targeted browser-side compressor is the most direct path.
Related target sizes
Not every form wants 20KB. The same tool hits any target:
- Need more room? A 30KB HEIC compressor, a 50KB HEIC compressor, a 100KB HEIC compressor — the most common ceiling — a 200KB HEIC compressor for forms with a generous cap, or even a 500KB HEIC compressor for portals that just want a light file.
- Other tools. Convert HEIC to JPG for a straight format conversion, or Reduce HEIC file size when you don’t have a specific target.
- This page. The 20KB target above, for the tightest caps.
Whatever number your form states, type it and the tool lands at or under it — privately, in your browser, with no upload.
Frequently asked questions
Can it compress HEIC to exactly 20KB?
Yes. It searches JPEG quality levels to land at or just under 20KB, and only shrinks dimensions if 20KB can't be reached at the quality floor — which at 20KB is almost always required. You always get a file of 20KB or less, never over.
Is my photo uploaded to a server?
No. Decoding and compression run entirely in your browser via WebAssembly. Your HEIC file never leaves your device, nothing is stored, and there is no analytics on your image. Close the tab and it's gone.
Will a 20KB photo look bad?
Not blocky — but small. A quality floor protects visible detail, so faces and edges stay clean instead of turning into mosaic artifacts. At 20KB the image is always resized heavily, which is expected for such a tiny target. The result is best understood as a small signature image, icon, or tiny avatar rather than a real photograph.
Why does it reduce the resolution at 20KB?
20KB is an extreme budget — far too small to hold a real photograph. Rather than crushing quality into blocky artifacts, the tool holds a quality floor and shrinks dimensions with a high-quality Lanczos filter until it fits. A very small but clean image always looks better than a large but blocky one, and at 20KB resizing is essentially always required.
How is this different from a quality slider?
A slider makes you guess the quality and re-check the size over and over, and at 20KB most editors' sliders bottom out before the file is small enough. You enter 20KB and it hits that target directly — which is what ultra-tight form limits actually require. The size is the constraint, not the quality.
Does it work on Android or only iPhone?
It works in any modern browser (Chrome, Edge, Firefox, Safari) on any device. HEIC is most common on iPhone, but the file can come from anywhere — Android, a DSLR, a download, an email attachment.
Is there a file size limit?
There is no server quota because everything runs on your machine. The only limit is your device's memory. Very large HEIC files may take a second or two to process.
Is it free?
Yes — completely free, with no signup, no watermark, and no upload. There is no account and no plan to upgrade.
What format is the output?
JPEG (.jpg). Online forms almost always require JPEG or PNG, and JPEG reaches tiny target sizes like 20KB far more cleanly than PNG. Your original HEIC is never modified.
Is 20KB enough for an email signature or tiny avatar?
Yes — for a small email signature, a tiny avatar displayed at 32 or 48 pixels, or an icon, 20KB is enough. It is not enough for a real photograph, a profile picture shown at any meaningful size, or any kind of ID photo. For those, use a larger target such as 50KB or 100KB.
What if the form allows more than 20KB?
Type the number the form actually allows. Using the largest target your form permits keeps the most quality: see compress HEIC to 30KB, 50KB, 100KB, or 200KB. Any target from 5KB up works.
Do I need to install anything?
No. It runs in the browser. There is no app, no plugin, no software to install, and no account to create.
Does the output keep my photo's metadata?
No — and for sensitive photos that is a feature. The result is a freshly encoded JPEG with none of the original's EXIF data, which means camera details and any embedded GPS location are stripped.
Will my photo stay the right way up?
The decoded pixels are re-encoded as-is. If your original relied on an EXIF orientation tag to display upright, check the before/after preview; if it looks rotated, rotate the photo in your phone's editor first, then compress.
Can I compress several photos at once?
One at a time. This keeps the tool simple, fast, and entirely local. If you have many photos to prepare, compress each individually — it only takes a moment per file.
Can it go smaller than 20KB?
Yes — any target down to 5KB works. Below 20KB you are firmly in icon territory: the image will be very small in pixels, suitable for a tiny favicon-like graphic but not for anything you would call a photo.
Why is my original HEIC file so large?
Modern iPhones capture 12 megapixels or more and keep quality high, so a single HEIC photo is commonly 1–5 MB. Hitting 20KB is a 60–150× reduction from that starting point — one of the most aggressive reductions asked of any photo tool.
Will skin tones and faces look natural?
Yes, within the limits of a very small image. The quality floor protects visible skin tone and prevents the blocky mosaic that comes from crushing quality. At 20KB the face will be small in pixels, but it will be clean rather than distorted — provided you cropped tightly to the face before compressing.