clicking a row loads its decimal value into the converter
0–15 covers every possible value of a single nibble (4 bits) and a single HEX digit.
DEC
BIN
OCT
HEX
0
0000
0
0
1
0001
1
1
2
0010
2
2
3
0011
3
3
4
0100
4
4
5
0101
5
5
6
0110
6
6
7
0111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
03
About numeral systems
A numeral system defines how many digits are used to write a number. Decimal uses 10 digits (0–9) — the everyday base. Binary uses just 0 and 1 — the language of hardware.
They all represent the same number — just with different symbols. 255 in decimal = FF in HEX = 11111111 in BIN = 377 in OCT.
Binary (base 2)
Hardware
10 → 1010 · 255 → 11111111
Uses only 0 and 1 — the physical state of a transistor: off / on. Processors, memory, and data buses all operate in binary. Every other system is a human-friendly layer on top.
Octal (base 8)
Unix perms
8 → 10 · 511 → 777
Each digit encodes exactly 3 bits. Used in Unix for file permissions: chmod 755 = rwxr-xr-x, where each group of 3 bits covers owner, group, and others.
Hexadecimal (base 16)
Code & colors
255 → FF · 4096 → 1000
Each HEX digit encodes exactly 4 bits (a nibble), two chars = one byte. Ideal for memory addresses, MAC addresses, #RRGGBB colors, SHA/MD5 hashes, and bytecode.
Type the number into the field of the base you have and the other three update instantly. Four bases are covered: binary, octal, decimal and hexadecimal. Each field accepts only its own digits — binary takes zeros and ones, hexadecimal takes digits and the letters A to F, and anything else is dropped.
Divide by two, writing down each remainder, until you reach zero, then read the remainders bottom-up. For 13: 13/2 is 6 remainder 1, 6/2 is 3 remainder 0, 3/2 is 1 remainder 1, 1/2 is 0 remainder 1 — which reads 1101. The page also shows the bit layout of whatever you enter.
Because it writes binary compactly: one hex digit is exactly four bits and a byte fits in two digits. That is what makes memory addresses, colour codes and hex dumps readable — 255 is FF rather than 11111111. The 0 to 15 table on the page shows the full correspondence between the four bases.
No, and you should not: each field already knows its base and silently drops characters that do not belong to it. Typing `0x1F` into the hexadecimal field leaves `01F`, which is a different number rather than an error. Prefixes exist for compilers reading source code, not for a converter.
Around nine quadrillion — the limit of exact integers in JavaScript, which is what does the arithmetic here. For addresses, masks and colour values that is plenty. A long hash or identifier written in hex will exceed it and convert inaccurately, so those belong in a tool built on arbitrary-precision numbers.
No. Everything is computed in your browser, the numbers you type are never transmitted and nothing is stored. After the first load the page works offline, so you can open it in advance and use it without a connection. Only the name of the opened tool is sent, for a popularity counter.