Developer & PM Utility

Number Base Converter

Convert between binary, octal, decimal, and hexadecimal — type in any field and the rest update instantly.

Convert numbers between binary, octal, decimal, and hex

Type a value into any field and the other three update instantly. This is the everyday tool for reading memory addresses and bitmasks (hex), Unix file permissions (octal), or explaining binary representations — without doing the arithmetic by hand.

Where each base shows up in practice

  • Binary: Bitwise flags, network subnet masks, low-level protocol fields.
  • Octal: Unix/Linux file permissions (e.g. chmod 755), some legacy systems.
  • Decimal: Everyday numbers, most application-level values.
  • Hexadecimal: Memory addresses, color codes, hashes, byte-level debugging, MAC addresses.

A worked example: reading a Unix permission code

Unix file permissions like 755 are written in octal, where each digit represents a 3-bit combination of read (4), write (2), and execute (1) for owner, group, and others respectively. Typing 755 into the octal field shows it as 111101101 in binary — split into three groups of three bits (111 101 101), that's read+write+execute for the owner, and read+execute (no write) for group and others. Seeing the binary breakdown side by side with the octal value is often the fastest way to actually understand what a permission code grants.

A worked example: reading a hex color code

A color like #2563EB (this site's primary blue) is really three separate hex byte values packed together: 25 (red), 63 (green), EB (blue), each ranging from 00 to FF. Converting EB to decimal gives 235 — out of a possible 0–255 per channel, that's a high blue value, which is exactly why the color reads as a strong blue.

Frequently Asked Questions

This converter is designed for non-negative integers, which covers the vast majority of practical use (permissions, memory addresses, bitmasks, color codes). For signed/two's-complement representations, additional context (like bit width) is needed.
The converter supports very large integers using JavaScript's BigInt, so you're not limited to the usual 32-bit or 53-bit safe integer range.
Yes — a leading 0x or 0X on the hex field is automatically stripped before conversion.
Computer hardware is built from transistors that are naturally either on or off — two states, which map directly onto binary's two digits (0 and 1). Decimal's ten digits have no equally natural physical representation at the hardware level.
Hex is far more compact — each hex digit represents exactly 4 binary bits, so a 32-bit value is 8 hex characters instead of 32 binary ones. It's much easier for a person to read and type accurately, while still converting cleanly to and from binary because 16 is a power of 2.