NHRepon
Home
Services
All ServicesWeb Application DevelopmentMobile Application DevelopmentDigital Marketing and SEO
ProjectsToolsProductsPostsAboutContactLogin
HomeServicesProjectsToolsProductsPostsAboutContact
  • Home
  • Projects
  • Posts
Home/Tools/Developer Tools/Decimal to ASCII
All Tools

Decimal to ASCII Converter

Read a list of codes as text, or turn text into the numbers behind it — decimal, hexadecimal, octal, binary, escape or Unicode code point, in either direction.

Read the numbers as

ASCII, Latin-1 and Unicode are three different ranges

Strictly, ASCII is 128 code points: control characters from 0 to 31, printable punctuation and digits, upper and lower case letters, and the delete character at 127. Everything above that is not ASCII, whatever a tool may call it. Decimal 65 is an A and 122 is a z, which is why a list of numbers between 32 and 126 reads as sensible English, and why a list containing 233 is not ASCII at all — it is e-acute, which arrived with Latin-1 a decade later.

The distinction stops mattering for reading and starts mattering for repair. A run of codes in the 128 to 255 range is usually text in Windows-1252 or Latin-1 that has been read as something else, and the fix depends on which: 8217 as a code point is a curly apostrophe, while 146 is the same character in Windows-1252. Byte values below 32 are control characters, and 9, 10 and 13 are tab, line feed and carriage return — the three whose absence or presence is why pasted text sometimes will not match.

Converting the other way is the same table read in reverse, and the options here are the formats those numbers appear in. Decimal is what a specification or a character map usually lists. Hexadecimal is what a protocol dump and most programming languages use, since a byte is two hex digits. The escape form is what a string literal in C, Python or JavaScript needs, and the code point form is what documentation and font tools use. All four describe the same value, and reaching for the wrong one is the commonest reason a pasted sequence does not parse.

What does a decimal to ASCII converter do?

It reads a list of numbers as characters, or a string as the numbers behind it. The numbers are code points: the value 65 is the letter A, 97 is a, 32 is a space and 10 is a line feed. Converting between the two directions is the same table read forwards or backwards, which is why one tool serves both.

The codes reach you in several notations, and picking the wrong one is the commonest reason a pasted sequence will not parse. Decimal is what a specification tends to list. Hexadecimal is what a protocol dump, a memory view and most programming languages use, because a byte is exactly two hex digits. Binary is what a hardware or teaching context uses. Escape sequences are what a string literal needs, and U+0041 is what documentation and font tools use. All of them describe the same values.

When reading codes as text, the tool splits on anything that is not a digit or a hexadecimal letter, so spaces, commas, newlines and brackets all work as separators without being configured. Values that are not valid in the chosen base are listed rather than silently dropped, because a single malformed number in a long list is otherwise easy to miss.

How to convert between text and codes

  1. Choose a direction: codes to text, or text to codes.
  2. Going from codes, pick the base the numbers are written in — decimal, hexadecimal, binary or octal. The base decides which characters are read and which are ignored.
  3. Paste the codes. Any separator is accepted: spaces, commas, newlines or a mix of them.
  4. Read the result, and check the table beneath it for the value each code maps to. Control characters are labelled rather than shown as an invisible glyph.
  5. Going from text, pick the output format and the separator, then paste the text. Watch out for characters outside the Basic Multilingual Plane, which are handled as single code points rather than as surrogate halves.
  6. Copy the result. Nothing is uploaded at any point.

Decimal to ASCII Converter limits and rules

Limits, caps and standards referenced by this tool
ItemLimit
Input basesDecimal, hexadecimal, binary and octal
SeparatorsAny character that is not a digit in the chosen base is treated as a separator
Output formatsDecimal, hexadecimal, escape sequences and U+ code points
Output separatorsSpace, comma, new line or nothing at all
RangeValid code points up to U+10FFFF, with anything outside listed as skipped
Astral charactersHandled as single code points, not as surrogate pairs
TableThe first 200 values, with control characters named
ContextPlain code points — no encoding detection and no byte-level interpretation

When to use it

  • Reading a capture or a memory dump that shows a string as a run of hex values.
  • Working out what decimal 8217 is when a curly apostrophe appears from nowhere.
  • Producing the escape sequence for a character you need in a string literal.
  • Turning a list of decimal codes back into readable text from a specification.
  • Checking exactly which character sits in a position that refuses to match a pattern.

Is it private?

The conversion is arithmetic done by JavaScript in this page. There is no upload, no storage and no logging, so a decoded password, token or private string stays in the browser.

Frequently asked questions

No, and conflating them causes real bugs. ASCII is 128 code points: control characters, digits, punctuation, upper and lower case letters and delete, all below 128. Unicode begins at the same values for those 128 characters and then keeps going, so U+0041 is A in both. Anything above 127 — an accented letter, a curly quote, an emoji — is Unicode and not ASCII at all, even though tools and libraries often label the whole thing ASCII. The conversion here is over code points, which spans all of it.

Because the same number means different things depending on how it is interpreted. Code point 233 is e-acute in Unicode and Latin-1. Byte 233 is e-acute in Windows-1252 and Latin-1, but in UTF-8 the bytes 233 alone are not a valid sequence at all — e-acute is the two bytes 195 and 169. This tool reads code points, so 233 is e-acute. When a file shows mojibake, the numbers you are seeing are bytes or characters interpreted under the wrong encoding, and that is a byte-level problem rather than a code point one.

Non-printing characters from the teleprinter era, and three of them still matter enormously for text work: 9 is tab, 10 is line feed and 13 is carriage return. Excel and older systems mark line endings with 13 followed by 10, while Unix uses 10 alone, which is why text copied from one to the other can carry stray characters that break a comparison or a search. The rest — 0, 7, 8, 12, 27 and others — are largely historical, though 27 begins terminal escape sequences.

Because sixteen to the power of two is 256, exactly the number of values a byte can hold. Four bits make one hex digit and eight bits make a byte, so a byte is always precisely two hex digits, from 00 to FF. That is why hexadecimal dominates in dumps and in languages: it lines up with the machine's own word sizes in a way that decimal does not. One hex digit is a nibble, and two of them are a byte, and that is the whole reason for the notation's popularity.

They refer to the same character, in different notations for different audiences. U+0041 is the code point form defined by Unicode, always at least four hex digits and written with the U+ prefix, and it is what a specification or a character table uses. The \x41 form is a string escape in C, Python and several other languages, and it is what you paste into source code. JavaScript also accepts \u0041, which is the same value with a different prefix. Which one you need depends entirely on where the text is going.

Because of what a JavaScript string is. A string counts in UTF-16 code units rather than in characters, and characters outside the Basic Multilingual Plane — most emoji, some scripts, a few symbols — take two code units, so a one-glyph string reports a length of two. This tool reads them as single code points instead, using the code point rather than the surrogate halves, which is why a single emoji converts to a single number here and to two numbers in a tool that iterates over code units.

Related tools

  • Text to Binary Converter
  • Number Base Converter
  • HTML Encoder / Decoder
  • Hash Generator
  • Invisible Character Generator

Written and maintained by Md. Nur Hossain Repon.

NHRepon


Md. Nur Hossain Repon expert in NextJS, React, React Native and Flutter. He is a full-stack web and mobile application developer with 5+ years of experience and a passion for building innovative and robust application. Also, he has a strong background in developing high-quality web and mobile applications using the latest technologies and frameworks.
Let's build something amazing together 🚀

Quick Links


  • About
  • Projects
  • Services
  • Contact
  • Posts
  • Products
  • Privacy Policy
  • Terms of Service
  • Tools
  • Smart Life Hubs

Newsletter


We respect your privacy. Unsubscribe anytime.

Connect


© 2026 NHRepon. All rights reserved.

Build v1.5.4+56.73c4a90