ASCII to text

Converts a list of numeric codes (decimal) back into text.

{{ asciiToText.message }}

{{ t("asciiToTextHint") }}

Overview

Receiving a sequence of numbers and needing to know what they say is more common than it seems. In classic BASIC from the 1970s and 80s, storing strings in games or educational programs as integer arrays in `DATA` lines was a popular technique for both compaction and light obfuscation — after all, `72 101 108 108 111` looked more opaque than the string `Hello` written in plain text. Network protocols such as SMTP and many industrial instrumentation systems transmit payloads where what arrives in the debugger is a sequence of decimal integers representing the message bytes. Embedded system logs frequently display characters as their numeric values when the display driver is unavailable.

The conversion is straightforward: each decimal number maps to a Unicode code point, and for the first 128 values (0 to 127) this is identical to the original 1963 ASCII table. The character `A` is 65, `z` is 122, space is 32, line feed is 10. For values above 127, the tool interprets them as Unicode code points and delivers the matching character — which works correctly for most Latin characters with diacritics. Note that this decimal code point representation is different from UTF-8 bytes: `é` has code point 233, but in UTF-8 it occupies bytes C3 A9 (195 and 169 in decimal).

The most interesting use of this conversion is in the context of code obfuscation. For years, JavaScript scripts that wanted to evade keyword filters used `String.fromCharCode(101,118,97,108)` to construct the word `eval` at runtime without it appearing in the source as readable text. Static analysis tools scanning scripts for the string `eval` would pass right over it. Today this is a well-known detection pattern, but it still appears in web injection payloads. On the more innocent side, it is an essential tool in CTF challenges: when you find a series of space- or comma-separated numbers on a suspicious page, converting to text is usually the first step to reveal the hidden flag.

Technical deep dive

Common questions summarized

  • What is this tool for?: It runs fully in your browser: useful to validate, format, or convert data in everyday development.
  • Are my inputs sent to a server?: Processing happens locally with JavaScript. We do not store what you paste into the text areas.
  • Can I use this for real production data?: Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.

Sample payload to try

  • See also the larger "Code Snippets" sample; paste this excerpt to try locally: Example — 72 105 -> Hi

Tool guide

  • What numeric codes are Sequences of decimal values representing character code points.

  • What the tool does Parses numeric codes separated by spaces, commas, or line breaks and reconstructs the text from code points.

  • Why use it Reverse numeric encodings, restore text from number lists, and prepare inputs for validations.

Code Snippets

Code example
72 105 -> Hi

Example

72 105 -> Hi

FAQ

What is this tool for?

It runs fully in your browser: useful to validate, format, or convert data in everyday development.

Are my inputs sent to a server?

Processing happens locally with JavaScript. We do not store what you paste into the text areas.

Can I use this for real production data?

Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.