Math & Statistics

Number Base Converter

Converts a list of numbers between bases and refuses to silently truncate a value that is invalid in the base you chose.

Loading the tool…

Processing happens locally in your browser. What you paste or load is processed by this page and is not uploaded to a server. Nothing is stored unless you use a control that says it stores something, and you can clear anything this site has kept from the privacy page.

How to use this tool

  1. Set the base your input is written in. This is the setting that matters — the same digits mean different numbers in different bases.
  2. Paste your values, one per line. Leading 0x, 0b and 0o prefixes are fine.
  3. Select Convert.
  4. Check for any row flagged as carrying digits that do not exist in that base — that is usually the input base set wrongly.

What number base converter does

Every value is shown in binary, octal, decimal, hex and base 36 at once, so there is no output base to choose and no second pass when you realise you wanted a different one. A leading 0x, 0b or 0o is stripped, which means values copied straight out of source code or a hex dump paste in without editing.

The input base is the one setting that matters, and getting it wrong is the classic failure here: read as decimal, the hex value 255 is a different number entirely. Each result is converted back and compared with what you typed, so a value carrying digits that do not exist in the chosen base is reported rather than quietly truncated at the first bad character the way parseInt would.

Frequently asked questions

Because the digits alone do not say. The string 255 is a valid number in base 10, base 16 and base 36, and means something different in each. Everything else is derived, which is why all five output bases are shown at once and there is only one setting to get right.

It is reported as containing digits that do not exist in base 10, rather than converted. Each value is converted back and compared with what you typed, which catches the case where a naive parse would silently stop at the first letter and return a truncated number.

Yes. JavaScript numbers are doubles, so values above about 9 quadrillion lose precision. The summary states the exact ceiling. For anything larger — a 64-bit hash or a big identifier — use a language with arbitrary-precision integers rather than trusting a rounded result.