Number base converter
Runs entirely in your browser. Your files and data never leave your device.
| Binary | 11111111 | |
|---|---|---|
| Octal | 377 | |
| Decimal | 255 | |
| Hexadecimal | ff | |
| Base 3 | 100110 | |
| Base 4 | 3333 | |
| Base 5 | 2010 | |
| Base 6 | 1103 | |
| Base 7 | 513 | |
| Base 9 | 313 | |
| Base 11 | 212 | |
| Base 12 | 193 | |
| Base 13 | 168 | |
| Base 14 | 143 | |
| Base 15 | 120 | |
| Base 17 | f0 | |
| Base 18 | e3 | |
| Base 19 | d8 | |
| Base 20 | cf | |
| Base 21 | c3 | |
| Base 22 | bd | |
| Base 23 | b2 | |
| Base 24 | af | |
| Base 25 | a5 | |
| Base 26 | 9l | |
| Base 27 | 9c | |
| Base 28 | 93 | |
| Base 29 | 8n | |
| Base 30 | 8f | |
| Base 31 | 87 | |
| Base 32 | 7v | |
| Base 33 | 7o | |
| Base 34 | 7h | |
| Base 35 | 7a | |
| Base 36 | 73 |
About this tool
A number base converter turns a number written in one base into other bases: binary, octal, decimal, hexadecimal, or any base from 2 to 36. Type a value, pick the base it’s written in, and every other base updates as you type.
What input formats does it accept?
It reads the common 0x, 0b, and 0o prefixes when they match the base you picked, so pasting a hex value straight out of a color picker or a stack trace works without editing it first. Underscores and spaces used to group digits, like 1_000_000 or 1010 0101, are stripped before parsing, and a leading - or + sign is handled too. Base 36 uses the full alphabet after the digits (a through z), which is why it’s the largest base this tool supports: past 36 there aren’t enough case-insensitive characters left to represent every digit uniquely. Numbers are parsed and stored as JavaScript BigInt values internally rather than regular numbers, so values far too large for a normal 64-bit float, like a big integer ID or a cryptographic key fragment, still convert correctly instead of losing precision.
Is my input sent anywhere?
No. Parsing and formatting both run in your browser with plain JavaScript, no server round-trip involved. The numbers you convert never leave your machine, so it’s fine to work with values from private systems, embedded firmware, or anything else you’d rather not paste into a random website.
What is this useful for?
Use it to read a hex color or memory address, check a binary flag field bit by bit, convert a base-36 short ID back to a plain integer, or work out what a number looks like in an unusual base for a puzzle or homework problem. It’s also handy for checking two’s-complement-style negative values or confirming that a large ID still round-trips correctly between decimal and hex.
See MDN’s guide to Number.prototype.toString for how JavaScript represents numbers in other bases, or the Wikipedia article on positional notation for the background on how base systems work.