How to use
- Type a size and choose which From unit it's in.
- Under Your number is, say whether the size you typed is Decimal (1000) or Binary (1024) (see the FAQ if you're not sure).
- The table shows every unit, bytes through petabytes plus bits, with decimal and binary side by side, so 1.5 GB and 1.4 GiB sit next to each other. The unit you would normally say it in is highlighted in each column.
- Click any value to copy just that one, with its unit.
Two different "gigabytes", both correct
A gigabyte means two different numbers of bytes depending who's counting: storage manufacturers, network speeds and most marketing use decimal (1 GB = 10003 bytes, matching the metric prefix "giga"), while operating systems, RAM capacity and file managers usually mean binary (1 GiB = 10243bytes, the correct unit is GiB, though "GB" gets used for it constantly). Neither is wrong; picking the wrong one for the number you already have is what produces a mismatch. This tool keeps the two separate instead of quietly picking one.
Example
1 TB (decimal) is:
1,000,000,000,000 bytes
1,000 GB
8,000,000,000,000 bitsThe same number of bytes read as binary (TiB) instead:
1,024 GiB (1 TiB = 1024 GiB, so 1 decimal TB is slightly less than 1 binary TiB)Options explained
- From unit: Bytes, KB, MB, GB, TB or PB. Selecting a unit shows every other unit's equivalent value; the cell for the unit and base you entered is marked with an amber edge.
- Your number is: Decimal (1000) / Binary (1024) only says how to read the number you typed (1500 MB or 1500 MiB); the table always shows both bases, with the binary column labelled KiB/MiB/GiB… since those are the units' real names. See the FAQ for which one you likely have.
- Highlighted cells are the largest unit where the value is at least 1, in each column. They can differ: 1,000 bytes is exactly 1 KB but still under 1 KiB, so decimal highlights KB and binary highlights bytes.
- Click any result row to copy just that value.
Edge cases and common errors
- Negative sizes are refused. "Enter a size of zero or more; negative sizes don’t mean anything here.": a negative amount of data doesn't mean anything here, so it's rejected rather than silently made positive.
- Non-numeric input is refused with "Enter a number." rather than converting as if it were zero.
- Astronomically large sizes are refused once the byte count would exceed what a JavaScript number can represent exactly (about 9 quadrillion), rather than silently returning an imprecise answer.
- Bits vs bytes, covered in the FAQ, is the single most common mix-up this tool exists to prevent.
- Zero is a valid size and converts to zero in every unit, not an error.
Do the same thing in code
// JavaScript: decimal
const gb = bytes / 1000 ** 3;
// JavaScript: binary (the correct unit is GiB, not GB)
const gib = bytes / 1024 ** 3;
# Python: same distinction
gb = bytes / 1000 ** 3
gib = bytes / 1024 ** 3Working with a raw timestamp or date instead of a size? The Unix Timestamp Converterand Date Difference Calculator handle those the same "show every honest interpretation" way.