All Bases Encoder / Decoder

Encoding Client-side base binary octal decimal hexadecimal base64 base36 converter radix number-system

This tool runs entirely client-side, in your browser: your data is never sent anywhere.

What it does

Converts numbers between any two bases from 2 to 36 — not just the common ones like binary, octal, decimal, and hexadecimal, but any custom radix in between (base 3, base 7, base 20, base 36...). It also includes a Text mode that converts each character of a string to/from its numeric code point in the chosen base, which is handy for building simple encodings or understanding how text maps to numbers.

Try it

How it works

Number ↔ Number mode

  1. The input is parsed as an integer in the "From base" you selected, using JavaScript's arbitrary-precision BigInt so even very large numbers (larger than Number.MAX_SAFE_INTEGER) convert correctly.
  2. That value is then re-encoded as a string of digits in the "To base", using the digits 0-9 then a-z for bases up to 36 (so base 16 uses 0-9a-f, base 36 uses every letter and digit).
  3. Leading/trailing whitespace and underscores (sometimes used as digit separators, e.g. 1010_1100) are stripped before parsing.

Text ↔ Numbers mode

Supported bases

Any integer base from 2 (binary) to 36 is supported, including the common presets:

BaseNameDigits used
2Binary0-1
8Octal0-7
10Decimal0-9
16Hexadecimal0-9a-f
32Base320-9a-v
36Base360-9a-z

Notes