Convert UTF-8 to Octal
Convert UTF-8 text to octal bytes (4 prefix, 3 padding, 4 separator options). Bidirectional. Free, client-side, instant, secure.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Convert UTF-8 text to octal (base-8) bytes with prefix options for different ecosystems: bare, 0o (modern Python / JS ES2015), \ (C/C++ string escape), 0 (legacy K&R / old Python). Each byte fits in 3 octal digits (000-377). Bidirectional, emoji-safe.
Per-character breakdown
How to Use Convert UTF-8 to Octal
- Paste UTF-8 text.
- Pick prefix style.
0omatches Python 3 / JS ES2015 literals.matches C/C++/Python string-byte escapes.0matches legacy K&R or old Python octal. None = plain digits. - Padding 3 keeps every byte fixed-width (000-377) - required for unambiguous reverse decode without separators.
- Swap to decode: parser auto-strips known prefixes and reads octal digits 0-7. Bytes go through fatal-mode
TextDecoder.
Frequently Asked Questions
What’s octal?
Base 8. Digits 0-7 only. Each UTF-8 byte (0-255 decimal = 0x00-0xFF hex) fits in at most 3 octal digits (000-377). Historically common on PDP minicomputers and Unix file permissions.
Why are there 4 prefix styles?
Different languages adopted different conventions. 0o: Python 3, JS ES2015 – the modern unambiguous form. : C/C++/Python string byte-escape ("110" = “H”). 0: K&R C and pre-3.0 Python (0110 = “H”) – visually identical to the leading-zero-padded form, source of many bugs. None: plain digits for network dumps.
Why does the legacy 0 prefix overlap with padding?
That’s the source of K&R-era bugs. 0110 could mean octal 110 (= 72 decimal = ‘H’) OR a 4-digit zero-padded value. Modern languages avoid octal by default for this exact reason. This tool treats a leading 0 as the prefix only when followed by valid octal digits.
What does padding=11 do?
Pads each token to 11 octal digits – enough to represent a full 32-bit unsigned value. Rarely useful for UTF-8 (which is byte-oriented), but available for compatibility with fixed-width binary dumps.
How does the reverse handle invalid tokens?
Each token must be octal digits (0-7) only after prefix strip. Anything else throws with the position. Token values >255 (octal > 377) throw because they can’t be valid bytes. The assembled byte sequence is run through fatal-mode UTF-8 decoder – invalid UTF-8 throws explicitly rather than producing U+FFFD.
What’s the size overhead?
3-digit padded octal: 3 chars per byte (vs hex’s 2). Plus separator. So octal is ~50% larger than hex for the same data. The trade-off is human readability: octal digits are unambiguous (0-7 only), hex letters can be confusing in lowercase (e.g., 0b = boolean prefix vs 0b = binary prefix).
Why does emoji work?
UTF-8 byte sequences come from TextEncoder. 🌍 (U+1F30D) produces 4 bytes: 360 237 214 215 octal (= F0 9F 8C 8D hex). Naive implementations looping charCodeAt would see UTF-16 surrogate pairs instead.
Is text uploaded?
No. The conversion runs entirely in your browser – nothing is sent to a server, logged, or stored, and the tool keeps working offline once the page has loaded.
Input cap?
200,000 characters. Octal output peaks at ~3.5× the input character count.
How does this compare to the Unicode to Octal tool?
The Unicode→Octal tool operates on codepoints (one octal per character) and supports 7-digit padding for the full U+10FFFF range. This UTF-8→Octal tool operates on UTF-8 bytes (1-4 per character) with 3-digit padding per byte.
Related Tools
Convert Octal to UTF-8 →
Decode octal byte sequences to UTF-8 text, encode UTF-8 to octal. C-escape support, multi-byte.…
Binary to UTF-8 Decoder →
Binary to UTF-8 Text Decoder handles emoji, CJK, accents, strips BOM, counts replacement chars.…
Convert Arbitrary Base to UTF-8 →
Decode numeric tokens in any base (2-36) as UTF-8 bytes - multi-byte emoji and…
Base64 to UTF-8 Decoder →
Decode Base64 to UTF-8 text - handles emoji, CJK, BOM-stripping, URL-safe variants. Free, client-side,…
Convert Bytes to UTF-8 →
Convert Bytes to UTF-8 Decode decimal/hex/binary byte values to UTF-8 text - emoji, CJK,…
Code Points to UTF-8 Converter Free →
Free online Unicode code points to UTF-8 converter. Shows actual UTF-8 byte sequences per…
Convert Data URI to UTF-8 →
online Data URI to UTF-8 decoder with byte-breakdown panel for emoji and CJK. Client-side,…
Convert Decimal to UTF-8 →
online decimal to UTF-8 text decoder. Byte-mode (raw UTF-8 bytes) and codepoint-mode. Client-side, instant,…
Convert Hexadecimal to UTF-8 →
Decode hex to UTF-8 text with byte-structural breakdown. Handles ASCII, Latin, CJK, emoji. Batch…
Convert HTML Entities to UTF-8 →
Decode HTML entities to UTF-8 with per-character byte breakdown. Named, decimal, hex. Free, offline,…
Convert UTF-16 to UTF-8 →
Convert UTF-16 code units to UTF-8 text and bytes. 3 formats, BE/LE, BOM, surrogate…
Convert UTF-32 to UTF-8 →
Convert UTF-32 code points to UTF-8 text and bytes. 3 formats, BE/LE, BOM, strict…