Number System Converter: Binary, Decimal, Hex & Octal
Instantly convert numbers across Binary, Octal, Decimal, and Hexadecimal representations with live bit views.
View Step-by-Step Conversion Formula
Translate seconds and milliseconds to human readable UTC and local dates on Utility369.
Quick values
What are Positional Number Systems?
Positional Number Systems represent numerical quantities using a specific radix or base value: Decimal (Base 10) uses digits 0 to 9 for everyday counting and arithmetic; Binary (Base 2) uses bits 0 and 1 as the fundamental electrical logic language of microprocessors and logic circuits.
Hexadecimal (Base 16) uses digits 0 to 9 and letters A to F to represent byte sequences concisely in memory addresses, machine code, and web design color values, while Octal (Base 8) uses digits 0 to 7, historically prevalent in computing systems and file permission masks.
Why computing requires multiple number systems
Modern microprocessors, transistors, and silicon memory cells operate strictly on digital voltage differentials: an electrical charge is either present (binary 1) or absent (binary 0). Consequently, all software instructions, CPU registers, network packets, and file streams exist fundamentally as massive sequences of binary bits. However, binary notation is extraordinarily verbose and difficult for human software engineers to parse; for example, the 16-bit integer 64,222 requires sixteen individual binary characters: 1111 1010 1101 1110.
To bridge the cognitive gap between human decimal reasoning and machine binary execution, computer scientists rely on bases that are mathematical powers of 2. Hexadecimal (base 16, where $2^4 = 16$) represents exactly 4 binary bits (one nibble) with a single alphanumeric character, compressing 1111 1010 1101 1110 into the compact 4-character string FADE. Similarly, Octal (base 8, where $2^3 = 8$) maps directly to 3 binary bits. Convert369’s online Number System Converter enables instant bidirectional translation across all four foundational bases with live synchronized updates.
How to convert numbers across bases with Convert369
Converting between number systems is straightforward and responsive:
- Enter your number: Type or paste your numerical value into the Value input field. Convert369 automatically parses standard programmer prefixes:
0xor0Xfor Hexadecimal (e.g.,0xFFor0x3A7)0bor0Bfor Binary (e.g.,0b11010011)0oor0Ofor Octal (e.g.,0o755)
- Select source and target bases: Pick your starting base (Binary, Octal, Decimal, or Hexadecimal) and your target output base. The dedicated Result display calculates the output instantaneously.
- All-Bases Real-Time Dashboard: Rather than converting one base at a time, the interactive dashboard calculates and displays your number across all four formats simultaneously:
- Decimal (Base 10): Standard base-10 representation.
- Hexadecimal (Base 16): Formatted uppercase hex characters with copy support.
- Binary (Base 2): Grouped into 4-bit nibbles with spaces for rapid human inspection.
- Octal (Base 8): Clean base-8 representation.
- Inspect ASCII & Bit Architecture: For integers within printable character ranges, the tool displays the corresponding ASCII or Unicode code point (e.g.,
ÿ (U+00FF)). It also renders a fixed 16-bit binary architecture view with leading zero padding. - Step-by-Step Breakdown: Expand the View Step-by-Step Conversion Formula accordion to inspect the exact polynomial expansion or successive division math behind your conversion.
Mathematical conversion algorithms: polynomial expansion & successive division
Every positional numeral system relies on a radix $B$. The quantitative value of any integer string $d_{n-1} d_{n-2} \dots d_1 d_0$ is evaluated through the polynomial summation:
Value = ∑ (di × Bi) = (dn-1 × Bn-1) + … + (d1 × B1) + (d0 × B0)
1. Converting Any Base to Decimal (Base 10)
To convert from an arbitrary base $B$ to decimal, multiply each digit by its positional power of $B$ and sum the products:
- Binary to Decimal:
1101_2= (1 × 23) + (1 × 22) + (0 × 21) + (1 × 20) = 8 + 4 + 0 + 1 = 1310. - Hexadecimal to Decimal:
2F_16= (2 × 161) + (15 × 160) = 32 + 15 = 4710. - Octal to Decimal:
37_8= (3 × 81) + (7 × 80) = 24 + 7 = 3110.
2. Converting Decimal (Base 10) to Another Base
To convert a decimal integer into base $B$, execute repeated integer division by $B$, recording the remainder at each iteration. When the quotient reaches zero, the remainders read in reverse order (from bottom to top) yield the target representation:
For example, converting decimal 156 to hexadecimal ($B = 16$):
- 156 ÷ 16 = 9 remainder 12 (C)
- 9 ÷ 16 = 0 remainder 9
- Reading remainders in reverse yields: 9C16.
3. Direct Power-of-Two Conversions (Binary ↔ Hex ↔ Octal)
Because 16 is $2^4$, converting between binary and hexadecimal requires zero base-10 arithmetic. Simply group binary digits into 4-bit nibbles from right to left:
10110111_2→1011(11 = B) and0111(7) → B716.
Similarly, because 8 is $2^3$, grouping into 3-bit clusters translates directly into octal:
10110111_2→010(2),110(6), and111(7) → 2678.
Base equivalence reference table (0 to 15)
| Decimal | Binary (4-Bit) | Octal | Hexadecimal | ASCII / Control |
|---|---|---|---|---|
| 0 | 0000 | 0 | 0 | NUL (Null) |
| 1 | 0001 | 1 | 1 | SOH (Start of Header) |
| 2 | 0010 | 2 | 2 | STX (Start of Text) |
| 3 | 0011 | 3 | 3 | ETX (End of Text) |
| 4 | 0100 | 4 | 4 | EOT (End of Trans.) |
| 5 | 0101 | 5 | 5 | ENQ (Enquiry) |
| 6 | 0110 | 6 | 6 | ACK (Acknowledge) |
| 7 | 0111 | 7 | 7 | BEL (Bell) |
| 8 | 1000 | 10 | 8 | BS (Backspace) |
| 9 | 1001 | 11 | 9 | HT (Horizontal Tab) |
| 10 | 1010 | 12 | A | LF (Line Feed) |
| 11 | 1011 | 13 | B | VT (Vertical Tab) |
| 12 | 1100 | 14 | C | FF (Form Feed) |
| 13 | 1101 | 15 | D | CR (Carriage Return) |
| 14 | 1110 | 16 | E | SO (Shift Out) |
| 15 | 1111 | 17 | F | SI (Shift In) |
Arbitrary-precision BigInt arithmetic: preventing floating-point corruption
Standard JavaScript numbers are stored according to the IEEE 754 double-precision floating-point specification. This limits safe integer representation to 53 bits ($2^{53} - 1 = 9,007,199,254,740,991$). Naive web calculators that use parseInt() or standard floating-point arithmetic silently corrupt integers beyond 15 or 16 decimal digits, rounding lower bits and producing erroneous hex/binary representations.
Convert369 executes all calculations using native modern JavaScript BigInt. Whether you are inspecting a 128-bit cryptographic seed, an IPv6 address integer, or a massive 256-bit Ethereum private key hash, Convert369 performs bit-exact integer transformations without precision truncation.
Practical use cases across software engineering & systems administration
- Low-Level Systems Programming (C, C++, Rust, Zig): Inspecting memory pointers, verifying bitmask operations (
&,|,^,<<,>>), and validating CPU register states in assembly debugging. - Unix File Permissions: Understanding Linux and macOS permission octals such as
chmod 755(User: read/write/execute, Group: read/execute, Others: read/execute) and mapping them to binary bit flags. - CSS & Web Graphics Development: Converting hexadecimal color values (such as
#3B82F6) into individual 8-bit red, green, and blue integer channel intensities. - Networking & CIDR Masking: Translating IPv4 network masks (e.g.,
255.255.255.0) into 32-bit binary representations to calculate host allocations and subnet boundaries.
Client-side security and data privacy
Cryptographic hashes, private key fragments, API tokens, and firmware memory offsets must remain confidential. Many online converters transmit input values to remote cloud servers to log traffic or run backend scripts. Convert369 performs 100% of all number system conversions client-side inside your browser sandbox using pure JavaScript. Zero bytes of your numerical values are ever transmitted over the network or logged on remote infrastructure.
Frequently asked questions
Is the Number System Converter free to use?
Yes. Convert369 allows you to convert unlimited numbers between binary, decimal, hex, and octal for free with no limits.
Which number bases are supported?
The converter supports Binary (base 2), Octal (base 8), Decimal (base 10), and Hexadecimal (base 16) with live calculations.
Does the converter support large integers without rounding errors?
Yes. Built using JavaScript BigInt, calculations maintain 100% mathematical precision regardless of how large the number is.
Can I use standard programming prefixes like 0x or 0b?
Yes. You can enter values with standard programmer prefixes such as 0x for hex, 0b for binary, or 0o for octal notation.
How does binary nibble grouping work?
Binary outputs are automatically formatted into 4-bit groups (nibbles) separated by spaces to maximize visual readability.
What is the ASCII and character representation display?
The dashboard inspects the numeric value and displays the corresponding ASCII or Unicode character glyph and code point.
How does the step-by-step conversion formula work?
Expanding the formula details reveals the exact polynomial expansion or successive division math used to compute the result.
What characters are valid for hexadecimal numbers?
Hexadecimal accepts standard digits 0 through 9 along with letters A through F (case-insensitive for both uppercase and lowercase).
How do I convert negative integers between bases?
You can enter negative decimal integers to inspect their corresponding signed representations and two's complement bit patterns.
Are my numbers or calculations uploaded to any external server?
No. All number system transformations execute locally in your web browser memory using client-side JavaScript.