About radix (base) conversion
Developers routinely move between decimal, hexadecimal, and binary when debugging protocols, bitmask enums, or embedded register maps. JavaScript’s parseInt and toString helpers lose precision once integers exceed Number.MAX_SAFE_INTEGER, so this tool uses BigInt arithmetic to keep every digit exact from base 2 through base 36.
Digits beyond nine use letters a–z case-insensitively, matching conventions from cryptography tooling and assembly listings. Negative values are supported with a leading minus sign.
Ideal use cases
- Converting 256-bit constants from hex to decimal for documentation.
- Translating custom alphabets used in URL shorteners (base 36).
- Teaching computer science students how positional numeral systems generalize.
How to use this page
- Enter an integer string valid in the source base (no fractional part).
- Set From base and To base between 2 and 36.
- Click Convert to compute the exact BigInt result.
- Copy the output for use in code, spreadsheets, or tickets.
Limitations
Non-integers, scientific notation, and bases above 36 are intentionally unsupported to keep validation predictable.
Frequently asked questions
- Why BigInt?
- It avoids silent rounding errors that plague floating-point conversions on large integers.
- Can I paste underscores?
- Not currently—strip separators before converting.
- Is work done on a server?
- No. Parsing and formatting execute locally.
- How are invalid digits reported?
- The status line shows an error naming the offending character and base.