Convert Octal to ASCII
Decode octal numbers to ASCII text, parse C escapes (141), decode Unix file permissions. Bidirectional. Free, offline.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Decode octal numbers to ASCII text. Accepts bare tokens (110 145 154), C escapes (\141\142\143), or 0-prefixed (0110 0145). Single-token input that looks like a Unix file mode auto-decodes as rwxr-xr-x permissions. Reverse direction encodes ASCII → octal in three styles.
How to Use Convert Octal to ASCII
- Pick direction - Octal → ASCII (default decode) or ASCII → Octal. Swap ⇄ toggles and pre-fills the previous output as the new input for round-trip checks.
- Type your input in any format. The parser handles bare numbers (
110 145 154), C escape sequences from source code (\141\142\143), and 0-prefixed octals from older conventions. The default110 145 154 154 157decodes toHello. - Pick output mode (decode only). Raw shows the literal characters - invisible control chars stay invisible. "Show control chars" renders them as
\n,\t,\0,\x{NN}for readability. "Text + hex byte trail" appends a hex breakdown for verification. - Pick encode style (encode only). Space-separated
110 145 154is the default. C escape\110\145\154pastes straight into C/C++ source. Newline-per-byte is good for line-oriented tools. - Permission decoder - when your input is a single 3-4 digit octal (like
0755or04755), a separate panel appears below the output showing the Unix permission interpretation (rwxr-xr-x). Setuid (4), setgid (2), and sticky bits (1) in the leading digit get the conventionals,S,t,Treplacements. - Live convert with debounce - as you type, the tool re-converts after 200 ms. Stats line shows tokens parsed, valid count, invalid skipped, and output length.
- Copy or Download. Copy puts the converted text on your clipboard. Download saves
decoded.txt(decode) oroctal.txt(encode). Ctrl+Enter triggers Convert manually.
Frequently Asked Questions
What input formats are accepted?
Three input styles, mixed within the same input freely: bare numbers separated by whitespace/commas (110 145 154), C-style escape sequences (141142143), and 0-prefixed octals (0110 0145). The regex parser picks up each token independently – you can paste a mix of all three.
How does the permission decoder work?
If your entire input (after stripping whitespace) matches 3 or 4 octal digits, the tool reads it as a Unix file mode. Each digit is decomposed into a read-write-execute triplet: 7 = rwx, 6 = rw-, 5 = r-x, 4 = r–, etc. A 4-digit mode adds special bits in front: 4 = setuid, 2 = setgid, 1 = sticky. So 04755 decodes as rwsr-xr-x (setuid bit replaces the user’s x with s). The panel only appears when the input parses as a permission mode.
What about non-ASCII octal values?
The valid range is octal 0 through 377 (decimal 0-255), which covers ASCII (0-127) and Latin-1 extended (128-255). Anything above 0377 is rejected as invalid and counted in the “invalid” stats. For Unicode codepoints beyond Latin-1, you’d need a different encoding – UTF-8 in octal would be multi-byte sequences which this tool doesn’t synthesize.
Why would I want “Show control chars” mode?
Octal 012 = newline (LF), 011 = tab, 015 = carriage return, 000 = null. In raw output mode these are invisible – your decoded text might look truncated when it’s actually fine. “Show control chars” mode renders them as n, t, r,