Base Converter

⚑ Runs locallyπŸ”’ No uploadsπŸ†“ Free, no sign-up

A number base is simply the rule for how many symbols you count with before carrying over. Decimal counts in tens because humans have ten fingers. Binary counts in twos β€” only 0 and 1 exist β€” because that is what transistors speak. Octal (base 8) and hexadecimal (base 16) survive as compact shorthands for long binary strings: each hex digit packs exactly four bits, so FF is a far friendlier way to write 11111111. Converting between bases never changes the value itself, only its representation. The number two hundred and fifty-five is FF in hex, 377 in octal and 11111111 in binary β€” same quantity, three spellings. This converter covers bases 2, 8, 10, 16, 32 and 36, uses JavaScript BigInt arithmetic under the hood, and therefore stays exact no matter how many digits you throw at it, unlike float-based calculators that quietly lose precision past 2 to the power of 53.

Three situations account for most real use. First, low-level debugging: firmware logs, register dumps and protocol captures are full of hex, and you need decimal to reason about magnitudes, or binary to inspect individual flag bits one position at a time. Paste the capture here and read off every base at once instead of doing mental arithmetic per field. Second, study and coursework: base conversion is a rite of passage in computer science classes, and batch mode lets you check a whole problem set in one paste rather than re-deriving each answer by hand β€” far faster, and the all-bases table shows you the relationships your textbook only describes. Third, compact identifiers: base-36 (digits plus A–Z) is the standard trick for squeezing long numeric IDs into short, URL-friendly codes, the same idea behind shortened links. Decode a short code back to its number, or encode a number for a system that expects one.

Know the boundaries before you trust the output. Every digit must be smaller than the base: a 2 inside a binary string, or an 8 inside an octal one, is flagged as an invalid line rather than silently producing a plausible-looking wrong answer. Letters are case-insensitive, so ff and FF are identical, and 0x, 0b and 0o prefixes are stripped automatically β€” hex copied straight from a debugger needs no manual cleanup. Negative integers work and keep their sign. Very large integers are exact thanks to BigInt; the only cost is that base-2 output for a huge number is genuinely long. Fractional values are deliberately out of scope: input containing a decimal point is reported as invalid instead of being approximated, because fractions like decimal 0.1 have no finite binary expansion and a rounded answer would mislead you more than an honest error.

There is also a privacy reason to convert locally. The values people convert β€” memory addresses, device serials, internal protocol fields β€” are exactly the kind of data that should not be typed into a random server-side form. This tool performs every calculation in your browser, has no backend endpoint, and makes no network requests with your input. Paste, convert, copy, clear. Nothing is stored, nothing is logged, and closing the tab leaves no trace behind.

How to use

  1. Paste a number into the input (one per line for batch conversion, or click Load example)
  2. Pick the source base and the target base, or hit Swap to flip them
  3. Results update live; the table below shows the first valid value in all six bases
  4. Copy the result β€” 0x, 0b and 0o prefixes are recognized automatically

FAQ

Which bases are supported, and can I convert in bulk?

Bases 2, 8, 10, 16, 32 and 36, in any combination. Put one value per line to batch-convert: each line is computed independently, so one invalid line only marks itself and leaves the rest untouched. The table under the result shows the first valid value written in all six bases at once.

What does the invalid-digit error mean?

It means a digit is greater than or equal to the source base β€” a 2 in a binary string, an 8 in an octal string, or a letter beyond the base's range (G in hex). Fix the digit or correct the source base. Prefixes 0x, 0b and 0o are stripped automatically, so debugger output can be pasted as-is.

Will very large integers lose precision?

No. The converter uses JavaScript BigInt arithmetic rather than floating point, so integers with hundreds of digits convert exactly. This is the key difference from calculators built on the Number type, which silently rounds beyond 2^53.

Are negatives and fractions supported?

Negatives yes β€” the sign is preserved in every base. Fractions are intentionally rejected: a decimal point triggers the invalid-digit error. Binary expansions of most decimal fractions never terminate (0.1 is the classic example), so returning an approximation would be misleading. Convert the integer part here and handle fractions separately.

Is my input uploaded anywhere?

No. All conversion happens locally in your browser; the page has no backend and sends no network requests with your values. Register dumps, serial numbers and other sensitive figures are safe to paste, and clearing the input leaves nothing behind.