Free Number Base Converter: Binary, Octal, Decimal, Hex
Convert between binary, octal, decimal, hexadecimal, and any base from 2 to 36. BigInt support for arbitrary precision, two's complement at 8/16/32/64-bit widths, and ASCII character detection for byte values — all in your browser.
Enter a Value
Arbitrary Precision (BigInt)
Convert values far beyond JavaScript's 2⁵³ safe integer limit — UUIDs, hash digests, cryptographic constants — without precision loss. We use the native BigInt arithmetic underneath.
Bases 2 Through 36
Standard binary, octal, decimal, hex — plus any base from 2 to 36 (digits 0-9 then a-z). Recognises and strips `0b`, `0o`, `0x`, and `#` radix prefixes automatically.
Two's Complement Mode
Display signed values at fixed 8-, 16-, 32-, or 64-bit widths using two's complement. Surfaces ASCII character mapping when the byte-range value matches printable ASCII.
100% Client-Side
Every conversion runs in your browser via BigInt math. Memory addresses, license keys, internal product IDs — none of it leaves your device, ever.
The BigInt-Precision Number Base Converter for Low-Level Engineering
Every embedded engineer, security researcher, and systems programmer needs a trustworthy base converter — one that survives 64-bit memory addresses, full SHA-256 digests, and the awkward unsigned-vs-signed dance of two's complement. Most online converters quietly truncate values past 2⁵³ because they use JavaScript's native `Number`. Our Free Online Number Base Converter is built on BigInt from the ground up, so every conversion — even of a 512-bit ECDSA private key — is exact.
Pair this converter with our Hash Generator (whose outputs are large hex digests you may need to inspect as decimal or binary), the UUID Generator (UUIDs are 128-bit values rendered as 32-hex-digit strings), and the Base64 Encoder (when your conversion target is a different encoding entirely).
The Five Bases Every Engineer Uses
| Base | Name | Digits | Real-World Use |
|---|---|---|---|
| 2 | Binary | 0–1 | CPU registers, bitmasks, flags, permission bits |
| 8 | Octal | 0–7 | UNIX file permissions (e.g. `chmod 755`) |
| 10 | Decimal | 0–9 | Human reading, financial values, counters |
| 16 | Hexadecimal | 0–9, a–f | Memory addresses, color codes, hash digests, machine code |
| 36 | Base 36 | 0–9, a–z | Short tokens, URL shorteners, compact IDs |
Two's Complement, Explained Once and For All
Most modern CPUs represent negative integers using two's complement. To negate a value: flip every bit, then add 1. Example, 8-bit:
| Value | Binary (8-bit) | Hex (8-bit) |
|---|---|---|
| 5 | 0000 0101 | 0x05 |
| −1 | 1111 1111 | 0xFF |
| −5 | 1111 1011 | 0xFB |
| −128 (min) | 1000 0000 | 0x80 |
| 127 (max) | 0111 1111 | 0x7F |
The high bit (the "sign bit") is 0 for non-negative, 1 for negative. The range of a signed N-bit integer is −2^(N−1) to 2^(N−1) − 1. Our tool surfaces an overflow warning if the entered value cannot fit in the chosen signed bit width.
A Practical Debugging Workflow
Grab the Raw Value
From a crash dump, debugger output, or hex editor — copy the address, register contents, or magic number.
Identify the Base
`0x` / `#` prefix = hex. `0b` = binary. Lookup `0o` = octal. We strip them automatically.
Pick the Bit Width
Match the source data type: `int8_t` → 8, `int32_t` → 32, `int64_t` → 64.
Read the Signed Form
Two's complement output gives you the value the CPU actually treats this byte sequence as.