# Octal & Decimal to ASCII Decoder

> Convert decimal or octal character codes into text. 72 101 108 108 111 becomes Hello.

- Page: https://decoder.tools/octal-decimal-decoder
- Category: Data, Radix & String
- Status: live, runs in the browser
- Last reviewed: 2026-10-23

A decimal or octal to ASCII converter reads each number as a character code and outputs the matching character. In decimal, `65` is `A`. In octal, `101` is `A`.

## Example

```text Input
72 101 108 108 111
```

```text Output
Hello
```

The same word in octal, with **Base: Octal** selected: `110 145 154 154 157`.

## Character codes in decimal and octal

Every character has a number. ASCII covers 0 to 127 and Unicode extends the same numbering to over a million code points. Decimal is how most people write those numbers, and it's what you get from JavaScript's `charCodeAt`, Python's `ord()` and Excel's `CODE()`.

Octal (base 8) is older but still around. You will see it in C and shell escape sequences such as `\101` for `A`, in `od` output, in Unix file permissions and in some CTF puzzles. Values above 255 work as Unicode code points, so `8364` in decimal (or `20254` in octal) is `€`.

The numbers can be separated by spaces, commas, new lines or any other non-digit character.

## Useful ranges

| Decimal | Octal | Characters |
|---|---|---|
| 32 | 40 | space |
| 48–57 | 60–71 | `0`–`9` |
| 65–90 | 101–132 | `A`–`Z` |
| 97–122 | 141–172 | `a`–`z` |
| 10 | 12 | line feed |

## How to use the converter

1. Choose **Decimal** or **Octal** in the Base menu.
2. Paste the numbers, separated by spaces, commas or new lines.
3. Read the text. An error means a value isn't valid in the chosen base, for example an `8` or `9` in octal.

## Convert character codes in code

```python Python
print("".join(chr(int(n)) for n in "72 101 108 108 111".split()))     # Hello
print("".join(chr(int(n, 8)) for n in "110 145 154 154 157".split()))  # Hello
```

```js JavaScript
console.log(String.fromCodePoint(72, 101, 108, 108, 111)); // Hello
```

## At a glance

| | |
|---|---|
| Bases supported | Decimal (10) and octal (8) |
| Range | 0 to 1,114,111 (all Unicode code points) |
| Separators | Any non-digit character |
| For hex codes | Use the [Hex to text converter](/hex-decoder) |

## FAQ

### What is the ASCII code for A?

65 in decimal, 101 in octal, 41 in hex and `01000001` in binary. Lowercase `a` is 97 in decimal.

### How can I tell decimal from octal?

Octal never contains the digits 8 or 9. Text in octal also tends to have three-digit values from 101 upward, since `A` is 101 and `a` is 141. If you see an 8 or 9, it's decimal.

### Can it decode emoji?

Yes, if you give it the full code point. 128640 in decimal is 🚀. Splitting an emoji into UTF-8 bytes (240 159 154 128) won't work here, because each number is read as a separate code point.
