Runs in your browser. Your files and text never leave your device - nothing is uploaded.
How do I compress an image to under 1MB?
To compress an image to under 1MB, compress with a 1000KB target, which lowers JPEG quality only until the file fits. A 12-megapixel phone photo usually fits without resizing, with some loss of fine detail; resizing to about 3,300 pixels on the long side gives cleaner results, and 24- or 48-megapixel originals should be resized first.
1MB at a glance
- Exact limit: 1000KB is 1,024,000 bytes, since the compressor counts 1KB as 1,024 bytes.
- Strict limit of 1,000,000 bytes: set the target to 976 instead.
- Balanced-quality pixel budget (about 1 bit per pixel): 8.2 megapixels, roughly 3300 × 2470.
- A 24-megapixel photo (6000 × 4000) gets 0.34 bits per pixel. That is too tight for a clean result, so resize first.
- A 12-megapixel phone photo at full size gets 0.68 bits per pixel. It fits, but with fairly strong compression that can soften fine detail.
Where a 1MB limit comes from
1MB is a cap you meet all over the web. It is a round number, and it is also the default request-size limit of nginx, a widely used web server, so sites that never changed that setting refuse anything bigger. Contact and support forms, job applications that take a photo or document, community sites and older content-management systems are typical places to run into it.
For your own use, 1MB is a good ceiling for photos you want to keep looking good at full screen: attaching a batch to an email, uploading to a shared album, or keeping a lighter copy of a large photo set while the originals stay in backup.
How many pixels fit in 1MB?
With 1MB to spend, even the high-quality row reaches about a 2020-pixel square, and the balanced row is close to 8 megapixels. That is why a 12-megapixel photo is within reach at 1MB when it is out of reach at 100KB.
| Compression level | Bits per pixel | Pixel budget | Square | 4:3 frame |
|---|---|---|---|---|
| Heavy compressionartifacts visible up close | ~0.5 | 16.4 MP | 4040 × 4040 | 4670 × 3500 |
| Balancedclean at normal viewing size | ~1 | 8.2 MP | 2860 × 2860 | 3300 × 2470 |
| High qualityhard to tell from the original | ~2 | 4.1 MP | 2020 × 2020 | 2330 × 1740 |
Each row divides the 8,192,000 bits in 1MB by the bits per pixel, then fits that many pixels into a square and a 4:3 frame, rounded down to the nearest 10 pixels. Turn the 4:3 figure on its side for a portrait photo.
These figures are rules of thumb for JPG photos, not guarantees. Smooth skin, sky and plain walls need far fewer bits than foliage, fabric, small text or low-light grain, so the same pixel count can land well under or over the target. WebP, which PNG, WebP and GIF uploads are saved as, usually needs fewer bits than JPG for a similar look.
Fitting a full-size photo into 1MB
Try the original first. At 1MB a 4000 × 3000 photo gets about 0.68 bits per pixel, so the compressor can usually find a quality that fits. Look at the preview, and if fine textures such as grass or hair look smeared, resize to around 3,300 pixels on the long side and run it again.
Newer phones can save 24-, 48- or even 200-megapixel images in their high-resolution modes. Those need resizing regardless: a 48-megapixel photo would get about 0.17 bits per pixel at 1MB, far too few for a clean result.
Mind which megabyte the form means. The compressor's 1000KB is 1,024,000 bytes. That is safely under a 1MB limit counted as 1,048,576 bytes, including nginx's default, but over one counted as 1,000,000 bytes, so for a strict decimal limit set the target to 976.
1MB compared with nearby sizes
| Target | Pixels at ~1 bit per pixel | Approx. 4:3 size | Compared with 1MB |
|---|---|---|---|
| 300KB | 2.5 MP | 1810 × 1350 | 0.3× the pixels, about 45% narrower and shorter |
| 500KB | 4.1 MP | 2330 × 1740 | 0.5× the pixels, about 29% narrower and shorter |
| 1MB | 8.2 MP | 3300 × 2470 | Current target |
1MB holds twice the pixels of 500KB, about 41% more width and height. If the image will only be viewed on screen, the difference between 500KB and 1MB is often hard to see at normal size; 1MB earns its keep when people will zoom in or print.
Frequently asked questions
It depends on the definition. The compressor treats 1000KB as 1,024,000 bytes. That fits under a binary megabyte of 1,048,576 bytes, but is 24,000 bytes over a decimal megabyte of 1,000,000 bytes. For a strict decimal limit, set the target to 976.
Not without losing anything, since JPG and WebP compression is lossy, but at 1MB the loss is often hard to see. A 12-megapixel photo fits with fairly strong compression, and one resized to about 8 megapixels or less can stay at balanced quality.
If the original was a large phone photo of 3MB to 5MB, fitting it into 1MB removes most of the data, and fine textures soften first. Resize it to around 3,300 pixels on the long side and compress again; fewer pixels leave more bytes for each one.
Not with the animation intact. The compressor draws a single frame to a canvas, so an animated GIF comes out as a still WebP image. Animated GIFs need a dedicated GIF optimiser that keeps every frame.
No. The image is decoded, re-encoded and measured entirely in your browser, and the 1MB file is created on your device. Nothing is sent to a server, so large personal photos stay private.
Other target sizes
Reviewed by Raja Jahangir · Last reviewed: October 7, 2026
