Arbitrary Base Converter

Convert any integer between bases 2 through 36 instantly

Convert integers between any two numeral bases from 2 to 36 using digits 0-9 and A-Z. Exact big-integer arithmetic handles huge numbers with no rounding, plus a decimal cross-check. Runs entirely in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a numeral base?

A base (or radix) is the number of distinct digits a positional number system uses. Base 10 (decimal) uses 0-9; base 2 (binary) uses 0 and 1; base 16 (hexadecimal) uses 0-9 then A-F.

A numeral base, or radix, defines how many unique digits a positional number system uses before it rolls over into the next place value. This arbitrary base converter translates a whole number from any base between 2 and 36 into any other, using the digit set 0-9 followed by A-Z. It is handy for programming, digital electronics, cryptography puzzles and understanding how the same quantity looks in different notations.

How it works

In any base b, a number is the sum of each digit multiplied by b raised to the power of its position, counting from zero on the right. The tool reads your input left to right, repeatedly multiplying the running total by the source base and adding each digit’s value — this yields the exact integer. It then re-encodes that integer in the target base by repeated division: divide by the base, record the remainder as the next digit (from right to left), and continue until the quotient reaches zero.

Because the maths is done with exact big integers rather than floating-point numbers, conversions stay precise no matter how many digits you enter. For example, FF in base 16 parses as 15 × 16 + 15 = 255, which in base 2 becomes 11111111.

Example

Convert 7G3 from base 17 to base 10. The digit G equals 16, so the value is 7 × 17² + 16 × 17 + 3 = 7 × 289 + 272 + 3 = 2023 + 275 = 2298. The decimal cross-check line confirms this independently.

Common base systems at a glance

BaseNameDigitsWhere used
2Binary0, 1CPUs, memory addressing, logic gates
8Octal0–7Unix permissions (chmod 755), legacy computing
10Decimal0–9Everyday arithmetic
16Hexadecimal0–9, A–FColours (#FF5733), memory addresses, SHA hashes
32Base 320–9, A–VCrockford encoding, TOTP secrets
36Base 360–9, A–ZURL shorteners, compact IDs (YouTube video IDs once used a variant)

Worked examples

Binary to hexadecimal: 11111111 (binary, base 2) → decimal 255 → FF (hex, base 16). The hex representation of a byte is always exactly 2 characters, which is why programmers prefer hex for raw byte values.

Octal Unix permissions: 755 in octal → binary 111 101 101 → read/write/execute for owner, read/execute for group and others. Enter 755 with source base 8 and target base 2 to see the full bit pattern.

Base 36 compact IDs: The number 1,000,000 in base 10 converts to LFLS in base 36 — four characters instead of seven. This is why base 36 is popular for shortening numeric IDs in URLs and ticket systems.

Tips and notes

You can include spaces or underscores as visual grouping separators in your input — they are ignored. If you enter a digit that is too large for the chosen source base (for example the digit 8 in base 8), the tool flags exactly which character is invalid. Everything is computed locally; nothing you type is sent to a server.

Input is case-insensitive: ff, FF, and fF all equal 255 in base 16. For negative numbers, include a leading minus sign. Fractions are not supported — use a dedicated fixed-point or IEEE 754 floating-point converter for those.