Short answer: there are two ways to count a kilobyte, 1,000 bytes or 1,024 bytes. Your phone or computer may use one and the form may use the other. A photo of 20,400 bytes is "19.9 KB" on Windows but "20.4 KB" on an iPhone, and a strict form that counts 1,000 will reject it. Aim about 1 KB below the limit and it will pass everywhere.
The same file, two different sizes
| File in bytes | Counting 1 KB = 1,024 bytes (Windows) | Counting 1 KB = 1,000 bytes (iPhone, Mac, many websites) |
|---|---|---|
| 19,800 bytes | 19.3 KB | 19.8 KB ✅ passes both |
| 20,400 bytes | 19.9 KB | 20.4 KB ❌ over 20 KB |
| 51,000 bytes | 49.8 KB | 51 KB ❌ over 50 KB |
Android phones vary by brand and file app. That's why two people can look at the same photo and see different sizes.
How to see the exact size in bytes
- Windows: right-click the file → Properties. It shows "Size: 19.9 KB (20,400 bytes)". Use the number in brackets.
- Mac: select the file → Get Info. It shows the bytes next to the size.
- iPhone: in the Files app, long-press the file → Get Info.
- Android: in Files / My Files, open the file details. Some phones only show KB, not bytes.
The safe size to aim for
| Form says | Safe target |
|---|---|
| Max 20 KB | Below 20,000 bytes (about 19 KB) |
| Max 50 KB | Below 50,000 bytes (about 48–49 KB) |
| Max 100 KB | Below 100,000 bytes (about 97–99 KB) |
| Min 10 KB | Above 10,240 bytes (about 11 KB) |
| Min 20 KB | Above 20,480 bytes (about 21 KB) |
For a maximum, stay under the smaller number (KB × 1,000). For a minimum, stay above the bigger number (KB × 1,024). Then the photo passes whichever way the form counts.
How CompressJPEG.site handles this
When you choose a target like 20 KB, the result always stays under 20,000 bytes, so it's under 20 KB by both counts. When a photo has to be at least a size, the Increase image size tool keeps it above KB × 1,024. Everything runs in your browser, and your photo is never uploaded to us.
Still rejected even though the size is right? See why photos get rejected on online forms for the other common reasons, like wrong pixels or a fake .jpg file.