Octal to Decimal Converter Online

Convert any octal (base-8) number to decimal with step-by-step powers-of-8 expansion. Decode chmod values like 755 instantly, batch mode for bulk work — 100% in your browser.

Enter an octal value to see all four base representations.

What is octal to decimal conversion?

Octal to decimal conversion reads a base-8 number (digits 0-7 only) and computes its base-10 value. Each octal digit represents 3 binary bits, which is why octal sticks around for Unix file permissions (chmod 755), umask values, and a handful of historical machines.

The OpenFormatter octal-to-decimal converter runs in your browser — no upload, no rate limit, no account. It returns the decimal value, the equivalent binary and hex, and a digit-by-digit powers-of-8 expansion that explains the math.

How to convert octal to decimal — 4 steps

  1. Enter an octal value. Up to 17 octal digits. The 0o prefix is stripped automatically.
  2. Read the decimal output. The result appears highlighted; binary and hex are shown alongside.
  3. Study the expansion. Each octal digit is multiplied by its place value (8n) — the same algorithm used by parseInt(s, 8).
  4. Switch to batch mode. Convert many octal values at once and copy the table to a spreadsheet.

Sample input and output

Input:  755

Output:
  Octal:   0o755
  Decimal: 493
  Binary:  111101101
  Hex:     0x1ED

Expansion: 0o755 = 7 × 8^2 (448) + 5 × 8^1 (40) + 5 × 8^0 (5) = 493

Octal 755 is the canonical chmod value: owner rwx, group r-x, other r-x. Each octal digit packs 3 permission bits into one symbol, which is exactly why chmod has used octal since Unix V1.

Single + Batch Modes

Decode a single octal value with full expansion, or paste hundreds of values (one per line) for a copyable table.

Educational Expansion

Powers-of-8 breakdown shows how each digit contributes — perfect for understanding chmod, umask, and bit packing.

Client-Side Only

All math runs in the browser via parseInt(string, 8). Nothing is uploaded — verify in DevTools Network.

Common use cases

  • check_circleUnix permissions — converting chmod 755 / 644 / 700 octal to the equivalent decimal mode
  • check_circleumask values in shell profiles, Dockerfiles, and systemd unit files
  • check_circleDecoding C escape sequences (\033 = ESC = 27, \007 = BEL = 7)
  • check_circleReading historical computer architectures (PDP-8, PDP-11, ICL machines)
  • check_circleFilesystem syscalls — converting octal mode literals to integers for chmod()/open()
  • check_circleComputer architecture coursework — bridging base-8 examples to other bases
  • check_circleWorking with sudoers files, cron permissions, and Unix-flavoured config text
  • check_circleReverse engineering Unix V6 / BSD source where octal is still common

The conversion math, explained

The tool calls parseInt(string, 8). That walks the digits left to right, multiplies the running total by 8, and adds the current digit. For 755: 0·8+7=7, 7·8+5=61, 61·8+5=493. Equivalently, 0o755 = 7·82 + 5·81 + 5·80 = 448 + 40 + 5 = 493 — the expansion panel above shows the per-digit breakdown so you can confirm the arithmetic by eye.

Need the reverse direction?

Browse the rest of the OpenFormatter base toolkit — every conversion runs in your browser.

Frequently Asked Questions

What is octal to decimal conversion?

Octal to decimal conversion reads a base-8 number — using digits 0-7 only — and computes its base-10 value. Each octal digit is multiplied by 8 raised to its position; the products are summed. JavaScript implements this with parseInt(string, 8).

How do I convert chmod 755 to decimal?

Octal 755 = 7·8² + 5·8 + 5 = 448 + 40 + 5 = 493 decimal. The 9 permission bits pack as 111 101 101 = read/write/execute owner, read/execute group, read/execute other. Most filesystem APIs accept either the decimal mode or the octal literal 0o755.

Why are only digits 0-7 valid in octal?

Octal is base 8 — values 0 through 7 fit in 3 bits, exactly one octal digit. Digit 8 would mean "carry to the next position" and digit 9 makes no sense in base 8 at all. Inputs containing 8 or 9 are flagged as invalid octal.

What is the 0o prefix for?

Modern JavaScript and Python use 0o (zero-letter-o) to mark an octal literal: 0o755 = 493 decimal. The historical leading-zero notation (0755) is now ambiguous and forbidden in strict mode. This converter accepts both forms but emits the unambiguous 0o prefix.

Does the input accept the legacy 0 prefix?

Only when the rest of the string contains digits 0-7 — which a leading-zero plain-octal value does. We accept either explicit 0o prefix or just plain digits. Keep in mind that in code you should always use 0o explicitly to avoid the strict-mode error.

What is the largest octal I can convert?

Up to 17 octal digits, capped at Number.MAX_SAFE_INTEGER (2^53 − 1). Above that, JavaScript number precision degrades. For arbitrary-precision arithmetic use BigInt: BigInt("0o" + octal) parses any-length octal into an exact integer.

How does parseInt(s, 8) actually work?

It walks the digits left-to-right, multiplies the running total by 8, then adds the current digit. For "755": 0·8+7=7, 7·8+5=61, 61·8+5=493. This is Horner-method polynomial evaluation — the same algorithm used for any base.

Is the data sent to a server?

No. All conversion happens in JavaScript inside your browser. Open DevTools → Network and confirm zero requests when you click Convert. Safe for internal data, mode bits, or proprietary numeric values.

Octal to Decimal Converter Online — Free Base-8 to Base-10 Tool