Compress an image to a target size — under 100 KB, 500 KB or 1 MB
Free · no sign-up · runs in your browser
Compress JPEG, PNG or WebP images to fit under an exact size like 100 KB, 200 KB or 1 MB. The tool searches for the highest quality that fits, shrinks the image only if it has to, and runs entirely in your browser.
Pick one or more files. Nothing is uploaded.
Common limits
1 KB = 1000 bytes, as file managers count.
Only used when even low quality is still too big.
Compressed
Compressed images will appear here.
Files are read, compressed and zipped in this page. Nothing is uploaded — check your network tab.
Upload forms, CMS fields, email templates and store listings often come with a hard limit: under 100 KB, under 1 MB. Guessing a quality slider until the number drops is slow. Here you type the limit and the page does the guessing: it re-encodes the image at different qualities, keeps the best one that fits, and only scales it down when even the lowest quality is too big. Nothing is uploaded.
How it works
- 01Pick images and a target size. Presets cover the common limits; any number in KB works.
- 02Each image is first encoded at high quality. If that already fits, you get it as is.
- 03Otherwise the quality is binary-searched — seven steps narrow it to within a fraction of a percent — and the highest quality under the limit wins.
- 04Only when the lowest useful quality is still too large is the image shrunk, 15% at a time, and searched again. Losing pixels is a bigger loss than losing a little quality, so it is the last resort. Untick resizing to forbid it.
- 05WebP is the default because it is smaller than JPEG at the same quality and every current browser shows it. AVIF is offered where your browser can encode it.
- 06Each row shows the old and new size, the quality used and whether the image was resized; download one or all as a zip.
Use cases
- Getting a profile photo or logo under an upload form's 100 KB limit.
- Fitting screenshots under a CMS or documentation platform's per-file cap.
- Keeping images in an HTML email small enough to load quickly.
- Meeting a page-weight budget for a hero image.
- Shrinking a batch of photos for a repository without opening a design tool.
- Compressing images you would rather not send to an online service.
Frequently asked questions
How do I compress an image to 100 KB?
Pick the image, press the 100 KB preset and download the result. The page tries the highest quality first and searches downward until the file fits; if even low quality is too big, it scales the image down until it fits. The row tells you the quality it used and whether it resized.
Does KB here mean 1000 or 1024 bytes?
1000, the decimal kilobyte that macOS, most file managers and most upload forms use. If a form means 1024-byte kilobytes (KiB), the result still fits, because a 100 KB file is smaller than 100 KiB.
Which format gives the smallest file?
AVIF, then WebP, then JPEG, for most photographs. WebP is the safe default: it is supported everywhere and noticeably smaller than JPEG. Some upload forms only accept JPEG — pick JPEG for those.
Why did my image get smaller in pixels?
Because even the lowest sensible quality was still over your limit at full size. Rather than hand back a file that does not fit, the tool shrinks the image step by step. Untick 'Allow resizing' to keep the original dimensions; you then get the smallest full-size result even if it misses the target.
Can I compress a PNG without turning it into JPEG?
Not to a target size: PNG is lossless and has no quality setting, so there is nothing to search. Converting to WebP keeps transparency and is usually many times smaller. For a true PNG optimiser, a desktop tool like ImageOptim or oxipng is the right choice.
Are my images uploaded?
No. Images are decoded, drawn to a canvas and re-encoded by your browser. The zip is built in the page. There is no server step at any point.
Related reading
- FrontendHow to Compress an Image to 100 KB (or Any Size) Without Uploading ItGet an image under 100 KB, 200 KB or 1 MB for an upload form, CMS or email. Which format to use, what quality does, when to resize, and a free browser tool that does the search for you.
- Developer Tools13 Free Developer Tools, No Sign-Up RequiredThirteen free online developer tools that run in your browser with no account and no upload: color, SEO, conversion, and formatting utilities that just work.
More tools
Tailwind CSS color palette generator
Turn one hex code into a full Tailwind color scale — 11 OKLCH-tuned shades from 50 to 950, with contrast ratios, ready to paste into Tailwind v4's @theme block or a v3 config. Free, no sign-up, runs in your browser.
CSS clamp() calculator for fluid typography
Generate a responsive CSS clamp() font size from a minimum and maximum size and the viewport range they should grow across — with the slope and intercept shown, a live preview, and the rendered size at every common screen width. Free, no sign-up.
SVG to JSX converter for React components
Paste an SVG and get a React component back — attributes camelCased, class turned into className, style strings converted to objects, xmlns removed, with optional currentColor, a size prop and TypeScript output. Runs entirely in your browser; nothing is uploaded.
Meta tag generator with Google SERP preview
Fill in a title, description, canonical and Open Graph image and get the complete <head> snippet — with a live Google result preview that measures your title and description in pixels, not characters, so you can see exactly where they will be cut.
Favicon generator — .ico, PNG set and manifest
Turn a PNG or SVG, or just a couple of letters, into the full favicon set: 16, 32, 48, 180, 192 and 512 PNGs, a real multi-size favicon.ico, a web app manifest and the <head> tags. Everything runs in your browser — nothing is uploaded.
JSON-LD schema generator and validator
Build valid JSON-LD structured data for Article, FAQPage, Product, Organization and BreadcrumbList from a form, or paste existing markup to have it pretty-printed and checked for the mistakes that stop a rich result appearing. Free, runs in your browser.
robots.txt generator with validation
Build a robots.txt from user-agent groups, allow and disallow rules, crawl-delay and sitemap URLs — with presets for allowing everything, blocking AI crawlers, or locking down a staging site, and warnings for the mistakes that quietly block your whole site.
UTM link builder and campaign URL generator
Build correctly encoded UTM tracking links from a URL and your source, medium and campaign — with the existing query string and fragment preserved, values properly percent-encoded, and warnings for the capitalisation and spacing that split one campaign across several rows in an analytics report.
Colour contrast checker with WCAG suggestions
Check any two colours against WCAG 2 — normal text, large text and UI components — see the ratio and live samples, and get the nearest passing colour when a pair fails, adjusted in OKLCH so the hue stays yours. Free, runs in your browser.
Image converter — WebP, AVIF, JPEG and PNG
Convert and resize images to WebP, AVIF, JPEG or PNG at the quality you choose, see exactly how many bytes each one saved, and download them one at a time or as a zip. Everything happens in your browser — no image is uploaded.
JSON formatter and validator — free, in your browser
Format, minify and validate JSON in your browser. Broken documents get the exact line and column of the error. Nothing is uploaded, and there is no size limit but your machine.
JSON to TypeScript — generate interfaces from a payload
Paste a JSON payload and get TypeScript interfaces: merged array shapes, optional properties, and real unions instead of any. Runs in your browser — nothing is uploaded.
OG image generator — free 1200×630 social cards
Generate an Open Graph image for any page: type a title, pick a theme, download a 1200×630 PNG. Runs entirely in your browser — no account, no upload, no watermark.
AI text cleaner — remove em dashes and hidden characters
Clean AI-written text in your browser — strip invisible characters, replace em dashes and curly quotes, and flag stock chatbot phrases. Nothing is uploaded.
Remove EXIF data from photos — image metadata remover
Strip EXIF, GPS location and other hidden metadata from JPEG, PNG and WebP images without re-encoding — see what each file carries first. Nothing is uploaded.
App icon generator — iOS, Android and Expo icon sizes in one zip
Turn one 1024px image into every iOS, Android and Expo app icon — an Xcode appiconset, mipmap launcher PNGs and an adaptive icon, zipped in your browser.
Privacy policy generator for apps, with terms of use
Generate a privacy policy and terms of use for your app in Markdown — tick what it collects, from analytics and ads to AI, plus GDPR, CCPA and COPPA sections.
Video to GIF converter — screen recordings for READMEs and PRs
Turn a screen recording or any MP4, MOV or WebM clip into a looping GIF sized for a README, a pull request or a docs page. Pick the start, end, frame rate and width; everything runs in your browser and nothing is uploaded.
Video compressor — fit a screen recording under 10 MB for GitHub
Compress a screen recording or any video to fit GitHub's 10 MB attachment limit, Discord's free upload limit or an email attachment. Choose the size, the resolution and whether to keep the audio; it runs in your browser and nothing is uploaded.
App Store screenshot resizer — exact sizes for App Store Connect and Google Play
Resize simulator or device screenshots to the exact pixel sizes App Store Connect and Google Play accept: iPhone 6.9″ (1320 × 2868), iPad 13″ (2064 × 2752), Play phone and tablet sizes and the feature graphic. Crop or pad, batch download as a zip, all in your browser.