ALL DEVELOPER TOOLS56
Byte Converter
Byte Converter — MB vs MiB, Exactly
Enter a size in any unit and read every other one at once — decimal, binary and bits.
About Byte Converter
The reason anyone searches for a byte converter is that kB and KiB are not the same thing and were spelled the same way for thirty years. So this shows both at once: the decimal units built on powers of 1000, the binary units built on powers of 1024, and the bit units a network link is quoted in. Type a size into any row and every other row updates. The arithmetic is done in exact whole-number BigInt rather than in floating point, which matters more than it sounds. A JavaScript number stops representing integers exactly above 9,007,199,254,740,991, and that is 9.007 PB, inside the range this page is asked about. So the exact byte count is the value rather than the nearest double to it, and any row rounded for display is marked as rounded rather than quietly presented as the answer. A transfer-time helper divides by a link speed in bits per second, which is where the familiar factor-of-eight error lives. And the 1 TB drive that reads as 931 GiB is computed from the unit table on the page, not typed into the copy.
Questions
Why does my 1 TB drive show up as 931 GB?
Nothing is missing. The drive holds 10^12 bytes, which is exactly what 1 TB means to a drive manufacturer and to the SI prefixes everyone else uses. Your operating system then divides by 2^30, which is 1,073,741,824, and prints the result under the name GB instead of GiB. 10^12 divided by 2^30 is 931.32, so that is the number you see. The gap is 6.87% at every giga-sized capacity, and it widens one prefix at a time: 2.34% at kilo, 4.63% at mega, 9.05% at tera. macOS has used decimal units since 10.6, which is why the same drive reads differently on a Mac and on Windows.
My connection says 100 Mbps but I only get 12 MB/s.
That is the correct answer rather than a fault. A link speed is quoted in bits per second and a file size in bytes, and a byte is eight bits, so 100 Mbit/s is 12.5 MB/s at the absolute best. The lower-case b and the upper-case B carry the whole difference and are easy to miss on a spec sheet. The transfer-time helper on this page divides bits by bits for exactly that reason. Real throughput is lower still — TCP headers, TLS, HTTP framing and the fact that almost no link sustains its rated rate all take a cut — so treat the number as a floor.
Is the exact byte count actually exact?
Yes, and it says so when it is not. Every value is held as an exact fraction of two arbitrary-precision integers, so a conversion is whole-number arithmetic rather than floating point. That matters because a JavaScript number stops representing integers exactly above 9,007,199,254,740,991, which is 9.007 PB, and quietly rounds beyond it — inside the range people ask this page about. Where a value is not a whole number of bytes at all, such as 5 bits, the byte count reads not a whole byte instead of a rounded integer, and rows whose displayed value has more digits than fit are marked ROUNDED.
Which unit should I actually use — MB or MiB?
Follow whatever produced the number. Drive and network vendors use decimal, so a 500 GB SSD really is 5 times 10^11 bytes. RAM is genuinely binary, because address lines come in powers of two, so a 16 GB stick really is 16 GiB. Linux tools and Windows Explorer report binary, while macOS has reported decimal since 10.6. The trap is that Windows prints the binary value under the decimal name, which is the single largest source of this confusion. When you are writing the number down yourself, kB/MB/GB for powers of 1000 and KiB/MiB/GiB for powers of 1024 is unambiguous and costs one letter.
Can I paste something like 4.7 GB and have it just work?
Type the number into the GB row rather than pasting the unit along with it — the fields hold a number, and a unit inside one is refused rather than guessed at. The same goes for a lone comma: 1,234,567 is read as grouped thousands, but 1,5 is refused, because it means one and a half in much of Europe and one thousand five hundred nowhere, and guessing between them would change the answer by a factor of 1000. Scientific notation works, so 1e9 is fine, and so do underscores in 1_000_000.
Is my file uploaded to a server?
No. Transmute processes everything locally in your browser using JavaScript and WebAssembly. Your files never leave your device — there is no server, no upload, no cloud processing.