Convert any file or storage size between eleven units: bytes, decimal kilo/mega/giga/tera/peta-bytes (KB, MB, GB, TB, PB), and binary kibi/mebi/gibi/tebi/pebi-bytes (KiB, MiB, GiB, TiB, PiB). Both sides are editable — type into either and the other updates. Quick-pick buttons jump straight to the common comparisons (MB ↔ MiB, GB ↔ GiB, KB ↔ KiB).
How decimal and binary units differ
Two parallel unit families exist because two different communities standardised independently:
- Decimal (SI): 1 KB = 1000 B, 1 MB = 1,000,000 B, 1 GB = 1,000,000,000 B, and so on. Every step is a power of ten. Used by storage manufacturers, all networking, macOS, iOS, Android, Linux GNOME, and every piece of cloud-storage software (Google Drive, Dropbox, iCloud).
- Binary (IEC 80000-13): 1 KiB = 1024 B, 1 MiB = 1,048,576 B, 1 GiB = 1,073,741,824 B. Every step is a power of two (2¹⁰, 2²⁰, 2³⁰…). Used by RAM manufacturers, file system block sizes, and Windows Explorer (which labels its binary values “MB” rather than “MiB”).
The two diverge by ~2.4% at KB, ~4.9% at MB, ~7.4% at GB, and ~10% at TB. The gap compounds because each step adds another 1000-vs-1024 ratio.
Why your file size changes between Windows and macOS
A file is some exact number of bytes — say 5,100,000. The byte count never changes; only the display does.
| OS | Display | Math | Unit it really used |
|---|---|---|---|
| macOS Finder | 5.1 MB | 5,100,000 ÷ 1,000,000 | MB (decimal, label correct) |
| Windows Explorer | 4.86 MB | 5,100,000 ÷ 1,048,576 | MiB (binary, label says “MB”) |
| Linux GNOME Files | 5.1 MB | 5,100,000 ÷ 1,000,000 | MB (decimal, label correct) |
The Windows-shown number is smaller because it divides by a larger denominator (the binary mebibyte). Apple’s Finder switched to decimal in 2009 specifically so its labels match what storage devices and cloud services report. Microsoft kept binary math with the “MB” label, and at this point can’t change without confusing every existing Windows user.
If you’re using the image compressor or the image format converter on Toolsnug and the displayed size doesn’t match your operating system, this converter is the bridge — paste the byte count or pick the unit your OS uses, and read the equivalent in the other family.
Example: 1 TB hard drive shows as 931 GB
You buy a “1 TB” external drive. The packaging is correct under the SI definition: 1,000,000,000,000 bytes exactly. Plug it into Windows and File Explorer reports about 931 GB free. Same drive, no missing bytes — Windows divided by 2³⁰ instead of 10⁹.
In this converter: enter 1 in the source set to TB, target set to GiB, result 931.32. That’s the “931 GB” Windows reports (with its mislabel). Plug the same drive into macOS Disk Utility and you’ll see 1 TB or 1000 GB, matching the box.
Example: 5.1 MB photo “shrinks” on Windows
A photo straight from your camera is 5,100,000 bytes. Finder shows 5.1 MB. Email it to a Windows colleague and their inbox shows 4.86 MB. Both are right — they’re using different units while sharing the same label.
Enter 5.1 in the source as MB, target MiB. Result: 4.864. That’s what Windows shows.
Exact conversion factors
| From | To | Factor | Exact? |
|---|---|---|---|
| 1 KB → B | 1000 | yes (decimal definition) | |
| 1 MB → B | 1,000,000 | yes | |
| 1 GB → B | 1,000,000,000 | yes | |
| 1 TB → B | 10¹² | yes | |
| 1 PB → B | 10¹⁵ | yes | |
| 1 KiB → B | 1024 | yes (= 2¹⁰) | |
| 1 MiB → B | 1,048,576 | yes (= 2²⁰) | |
| 1 GiB → B | 1,073,741,824 | yes (= 2³⁰) | |
| 1 TiB → B | 2⁴⁰ | yes | |
| 1 PiB → B | 2⁵⁰ | yes | |
| 1 MB → MiB | ≈ 0.953674 | only floating-point precision | |
| 1 GB → GiB | ≈ 0.931323 | only floating-point precision | |
| 1 TB → TiB | ≈ 0.909495 | only floating-point precision |
All factors within a single family (decimal-to-decimal or binary-to-binary) are exact integers. Cross-family conversions are exact rational numbers but typically displayed truncated.
Common mistakes
Confusing megabytes (MB) with megabits (Mb). Lowercase b means bits, capital B means bytes — and 1 B = 8 b. A 100 Mbps internet connection delivers ~12.5 MB/s of download speed. Mixing them produces an 8× error. This converter handles bytes only.
Assuming “MB” always means the same thing. It depends on the source. Storage marketing, macOS, cloud services: decimal MB. Windows Explorer, RAM specs: binary “MB” (really MiB). When two tools disagree by ~5%, the cause is almost always this unit difference, not a corrupted file.
Trying to manually pick “the right one”. Both standards are valid in their contexts. Decimal MB is dominant in consumer-facing software and matches storage hardware specs; binary MiB is dominant in operating-system internals and memory specs. The right unit is whichever your audience uses — for the open web, that’s decimal.
What this tool does not do
It doesn’t handle bits or network speeds. Mbps (megabits per second) and MB/s (megabytes per second) are different quantities — a network-speed converter would handle the 8 b/B factor and the per-second timing.
It doesn’t handle exa-scale units (EB, EiB and above). Beyond petabytes, JavaScript’s 64-bit floats lose integer precision (Number.MAX_SAFE_INTEGER ≈ 9 × 10¹⁵), so byte counts in the exabyte range stop being exact. If you genuinely need exabytes, use a BigInt-based calculator.
It doesn’t read files. It converts between units of size — it doesn’t open, parse, or measure actual files. To get the byte count of a real file, your operating system’s properties dialog (or ls -l / stat / Finder’s Info panel) is the source.
It doesn’t resolve which unit your software is using. If a tool reports a size and you’re not sure whether it’s decimal or binary, check the documentation or convert both ways and see which matches the underlying byte count.