Octal to Decimal Converter
Convert octal (base 8) to decimal instantly. Arbitrary precision via BigInt, 0o prefix support, signed 8-128 bit interpretation, and step-by-step working.
Exact at any size - no 2^53 precision loss.
Verified Examples
Every row below is computed live by the same BigInt conversion engine behind this tool and covered by the project's reference test suite - click any example to load it.
Values like 37724000000₈ = 4283432960 exceed 32 bits, and anything above 9007199254740991 (2^53 - 1) breaks a plain JavaScript Number - this converter stays exact because it never leaves BigInt.
Octal Numbers vs Unix File Permissions
Converting octal to decimal is arithmetic: digits 0-7, each worth a power of 8. Unix permissions are an interpretation layered on top of octal digits - each digit is a 3-bit read/write/execute group (4=read, 2=write, 1=execute). chmod 755 is the number 493 with a specific bit meaning. This page converts the number; the table below decodes the permission shorthand.
rwxr-xr-x (typical executable)
rw-r--r-- (typical file)
rwxrwxrwx (full access)
rw------- (private file)
Prefixes, Leading Zeros, and Octal in Real Code
0o prefix: modern JavaScript, Python, and Rust write octal literals as 0o755. This converter accepts the prefix or plain digits, plus spaces, underscores, and commas as separators.
Legacy leading zero: C, shell, and pre-ES5 JavaScript treat a bare leading zero as octal - 0755 is 493, but 089 is a bug waiting to happen. Prefer explicit bases in new code.
Beyond permissions: octal still appears in embedded register maps, tar file headers, PDP-era documentation, and string escape sequences - anywhere 3-bit groups are natural.
Need the reverse? Use the decimal to octal converter, or inspect the same value across every base and bit width in the universal base converter.
Code Examples
const octal = "755";
const decimal = parseInt(octal, 8); // 493
// With 0o prefix:
const permissions = 0o755; // 493
// Large values need BigInt (parseInt loses precision):
const big = BigInt("0o37724000000"); // 4283432960nFrequently Asked Questions
How do I convert octal 37724000000 to decimal?
37724000000 in octal equals 4283432960 in decimal. Each digit multiplies a power of 8: 3×8¹⁰ + 7×8⁹ + 7×8⁸ + 2×8⁷ + 4×8⁶. Paste the value above (plain digits or with a 0o prefix) to see the full positional expansion.
Can this converter handle very large octal numbers?
Yes. Conversion uses BigInt end to end, so values far above JavaScript's safe integer limit (2^53 - 1) and beyond 64 or 128 bits stay exact. The tool labels when a value stops being safe as a plain JavaScript Number.
Why does the converter reject the digits 8 and 9?
Octal is base 8, so only digits 0-7 exist. The digit 8 in '128' is invalid octal - the tool points at the exact position of the first invalid digit so you can fix it.
What is the difference between 0755, 0o755, and 755?
All three can mean octal 755 (decimal 493). Modern languages use the 0o prefix (JavaScript, Python, Rust). A bare leading zero means octal in C and in older JavaScript - a common bug source. This converter accepts plain digits and the 0o prefix.
How do signed interpretations work?
The signed view reads your value as a two's-complement integer at 8, 16, 32, 64, or 128 bits. For example, octal 377 (255) is 255 unsigned but -1 as a signed 8-bit value. The tool warns when a value does not fit the selected width.
Is octal only used for Unix file permissions?
No. chmod permissions (755, 644) are the most famous use, but octal also appears in embedded register maps, legacy PDP-era documentation, tar headers, and escape sequences. File permissions are an interpretation of octal digits; this page converts the underlying number.
Related Tools
Decimal to Octal Converter
Convert decimal numbers to octal (base 8) instantly.
Octal to Binary Converter
Convert octal numbers to binary (base 2) instantly, one digit to three bits.
Octal to Hexadecimal Converter
Convert octal numbers to hexadecimal (base 16) instantly via a binary intermediate.
Universal Base Converter & Number Inspector
Convert numbers between any bases from 2 to 36 and inspect the result: signed/unsigned views, bit width, byte order, and code snippets.
Bytes to Int Converter
Convert hex bytes to signed or unsigned integers using big-endian or little-endian byte order.
This tool runs entirely in your browser - nothing you enter is uploaded or stored.