Decimal ASCII Converter

Convert text into decimal character codes and decode decimal ASCII values back into readable text.

Encoding Tool

Useful for ASCII reference lookups, programming lessons, protocol debugging, and comparing decimal values with binary or hexadecimal notation.

How Decimal ASCII Conversion Works

Decimal ASCII expresses character codes in base 10. Each character is assigned a number, such as 65 for uppercase A or 32 for a space. Encoding converts text into those numbers, while decoding reverses the process by mapping each number back to its character.

Example: "Hi" in decimal ASCII

'H' → decimal 72

'i' → decimal 105

Result: 72 105

Decoder behavior

To convert decimal to ASCII, choose Decimal to Text and enter separated codes such as 72 105. The decoder extracts runs of 1-7 digits, ignoring other characters, then converts each group to a Unicode code point. Values above 1114111 (0x10FFFF) become the replacement character U+FFFD. Encoding reads UTF-16 code units; only values 0-127 belong to ASCII.

ASCII Table Explained: Letters, Numbers and Symbols

ASCII has 128 codes, 0-127: 95 printable characters at 32-126 and 33 control codes at 0-31 and 127. The printable table below includes letters, digits, punctuation and space; the control table completes the set.

Dec, Hex and Bin show the same code in decimal, hexadecimal and binary. Binary is padded to eight bits with a leading zero; ASCII itself uses seven bits. SP labels the space character. See RFC 20, sections 2-4.

Printable codes 32-63
DecHexBinChar
322000100000SP
332100100001!
342200100010"
352300100011#
362400100100$
372500100101%
382600100110&
392700100111'
402800101000(
412900101001)
422A00101010*
432B00101011+
442C00101100,
452D00101101-
462E00101110.
472F00101111/
4830001100000
4931001100011
5032001100102
5133001100113
5234001101004
5335001101015
5436001101106
5537001101117
5638001110008
5739001110019
583A00111010:
593B00111011;
603C00111100<
613D00111101=
623E00111110>
633F00111111?
Printable codes 64-95
DecHexBinChar
644001000000@
654101000001A
664201000010B
674301000011C
684401000100D
694501000101E
704601000110F
714701000111G
724801001000H
734901001001I
744A01001010J
754B01001011K
764C01001100L
774D01001101M
784E01001110N
794F01001111O
805001010000P
815101010001Q
825201010010R
835301010011S
845401010100T
855501010101U
865601010110V
875701010111W
885801011000X
895901011001Y
905A01011010Z
915B01011011[
925C01011100\
935D01011101]
945E01011110^
955F01011111_
Printable codes 96-126
DecHexBinChar
966001100000`
976101100001a
986201100010b
996301100011c
1006401100100d
1016501100101e
1026601100110f
1036701100111g
1046801101000h
1056901101001i
1066A01101010j
1076B01101011k
1086C01101100l
1096D01101101m
1106E01101110n
1116F01101111o
1127001110000p
1137101110001q
1147201110010r
1157301110011s
1167401110100t
1177501110101u
1187601110110v
1197701110111w
1207801111000x
1217901111001y
1227A01111010z
1237B01111011{
1247C01111100|
1257D01111101}
1267E01111110~

Patterns that make the table easy to remember

  • Digits 0-9 occupy 48-57. A digit's value is its code minus 48: the character 7 has code 55, and 55 - 48 = 7.
  • Uppercase A-Z occupies 65-90; lowercase a-z occupies 97-122. Within those 26 letter pairs, lowercase = uppercase + 32.
  • Only one bit changes between letter cases: bit 5, counting from bit 0, has value 32. A = 65 = 01000001; a = 97 = 01100001. This rule applies to ASCII letters, not arbitrary characters.
  • Space is 32; DEL is 127. Space belongs to the printable range; DEL is a control code.
  • Punctuation and symbols fill four gaps: 33-47, 58-64, 91-96 and 123-126.

Control characters 0-31 and 127

These 33 codes describe controls rather than printable letters, digits or symbols.

Practical codes to recognize include HT 9 for horizontal tabulation, LF 10 for line feed, CR 13 for carriage return, ESC 27 for escape sequences and DEL 127 for delete; their roles are described in RFC 20 and Wikipedia's ASCII control-character overview.

ASCII control-code names and decimal and hexadecimal values
DecHexAbbrName
000NULNull
101SOHStart of Heading
202STXStart of Text
303ETXEnd of Text
404EOTEnd of Transmission
505ENQEnquiry
606ACKAcknowledge
707BELBell
808BSBackspace
909HTHorizontal Tab
100ALFLine Feed
110BVTVertical Tab
120CFFForm Feed
130DCRCarriage Return
140ESOShift Out
150FSIShift In
1610DLEData Link Escape
1711DC1Device Control 1
1812DC2Device Control 2
1913DC3Device Control 3
2014DC4Device Control 4
2115NAKNegative Acknowledge
2216SYNSynchronous Idle
2317ETBEnd of Transmission Block
2418CANCancel
2519EMEnd of Medium
261ASUBSubstitute
271BESCEscape
281CFSFile Separator
291DGSGroup Separator
301ERSRecord Separator
311FUSUnit Separator
1277FDELDelete

Examples With Real Output

Every output is computed by the same codec as the tool. Quoted, escaped views expose spaces and control characters; quotes and escape notation are display aids.

Text to decimal: Hello

Encode · typical · Separator: Space

Input (escaped)
"Hello"
Output
72 101 108 108 111

Each ASCII letter becomes its decimal code. Spaces separate the five numbers.

Decimal to ASCII: Hello

Decode · typical

Input (escaped)
"72 101 108 108 111"
Output
Hello
Output (escaped)
"Hello"

The decoder reads five decimal groups and joins their characters into Hello.

Comma separator: Hi!

Encode · typical · Separator: Comma

Input (escaped)
"Hi!"
Output
72, 105, 33

The Comma option inserts a comma followed by a space. The exclamation mark is code 33.

Uppercase, space and lowercase

Encode · typical · Separator: Space

Input (escaped)
"A a"
Output
65 32 97

A is 65, space is 32 and a is 97. For ASCII letters, lowercase = uppercase + 32.

Digit characters: 2026

Encode · typical · Separator: Space

Input (escaped)
"2026"
Output
50 48 50 54

Digit characters have codes 48-57. The digit value is its code minus 48; the character 0 has code 48, not code 0.

A line feed between letters

Encode · typical · Separator: Space

Input (escaped)
"a\nb"
Output
97 10 98

The input contains an LF newline, code 10. It is a control character, not a printable letter or symbol.

Beyond ASCII: 128 and 233

Decode · boundary

Input (escaped)
"128 233"
Output
ێ
Output (escaped)
"\u0080é"

Both values are outside 7-bit ASCII (0-127). The tool treats them as Unicode code points: U+0080, a non-printing control, followed by U+00E9 (é). The escaped view makes the first character visible.

An accented character: é

Encode · boundary · Separator: Space

Input (escaped)
"é"
Output
233

é is U+00E9 = 233, outside ASCII. Its single UTF-16 code unit has the same value as its Unicode code point.

Emoji encoding uses two UTF-16 units

Encode · limit · Separator: Space

Input (escaped)
"😀"
Output
55357 56832

charCodeAt reads the two UTF-16 surrogate units, 55357 and 56832, rather than the single Unicode code point 128512. These are not ASCII codes. Decoding this pair does restore 😀 in this tool, as the next example shows.

The surrogate pair does round-trip here

Decode · pitfall

Input (escaped)
"55357 56832"
Output
😀
Output (escaped)
"😀"

String.fromCodePoint produces a surrogate unit for each number; joining them reconstructs the valid pair and the emoji. The real result is 😀, not two replacement characters. Decoding 128512 also gives 😀, but encoding it again gives the two unit values.

None separator loses the number boundaries

Encode · pitfall · Separator: None

Input (escaped)
"Hello"
Output
72101108108111

None concatenates all five codes. It stores no information about where one number ends and the next begins; decoding this output does not return Hello.

Decoding the output of None

Decode · pitfall

Input (escaped)
"72101108108111"
Output
��
Output (escaped)
"��"

The /\d{1,7}/g parser extracts 7210110 and 8108111. Both exceed 0x10FFFF (1114111), so each becomes U+FFFD: the result is ��. Use spaces or commas to keep code boundaries.

Decimal ASCII Reference Table

CharacterDecimalHexTypical Use
A6541Uppercase letter
a9761Lowercase letter
04830Digit zero
3220Space
LF100ANewline control code
@6440Email and shell symbol

History and Context

The American Standards Association published ASCII's first edition in 1963, as Wikipedia's ASCII history records. The standard underwent a major revision in 1967.

RFC 20, dated October 16, 1969, describes ASCII for network interchange and proposes carrying its seven bits in an eight-bit byte with the high bit set to zero.

Common Use Cases

  • Checking decimal character codes while learning programming fundamentals.
  • Debugging delimited text streams, control characters, and legacy data exports.
  • Preparing classroom examples that compare decimal, binary, octal, and hexadecimal representations.

Authoritative References

RFC 20: ASCII format for network interchange

The original network ASCII specification from the IETF archive.

Wikipedia: ASCII

Overview of ASCII history, control characters, and modern compatibility.

Unicode glossary: Code point

Definition of code points, useful when comparing classic ASCII with modern Unicode values.

Frequently Asked Questions

Why would someone use decimal ASCII instead of hex or binary?

Decimal, hexadecimal and binary write the same character code in different bases. For example, A is decimal 65, hex 41 and binary 01000001. Use decimal when your input or reference lists base-10 numbers.

Does this tool only work for standard ASCII?

No. ASCII covers 0-127, but this tool encodes each UTF-16 code unit with charCodeAt and decodes decimal groups as Unicode code points. The decoder extracts groups of 1-7 digits; values above 1114111 (0x10FFFF) become U+FFFD. For example, 233 decodes to é, which is not ASCII.

What is the decimal value for a newline?

Line feed (LF) is decimal 10 and carriage return (CR) is decimal 13. An LF newline encodes as 10; a CR followed by LF encodes as 13 10 with the Space separator.

Is decimal ASCII encryption?

No. It represents character codes as decimal numbers without a secret key. Separated ASCII codes can be decoded directly back into the original text.

How many characters are in ASCII?

ASCII has 128 codes, numbered 0-127. There are 95 printable characters at 32-126, including space, and 33 control codes at 0-31 and 127 (DEL).

What is the difference between ASCII, extended ASCII, Latin-1 and Unicode?

ASCII is a 7-bit character set with codes 0-127. Extended ASCII is an umbrella term for different 8-bit extensions, not one universal mapping. Latin-1 (ISO-8859-1) is one such encoding. Unicode includes ASCII at the same code points and represents many more characters. This tool uses JavaScript UTF-16 units on encode and Unicode code points on decode; it does not select a legacy byte encoding.

Why is lowercase equal to uppercase plus 32 in ASCII?

For the 26 ASCII letter pairs, uppercase codes 65-90 and lowercase codes 97-122 differ only in bit 5 (counting from bit 0), whose value is 32. A = 65 = 01000001 and a = 97 = 01100001. Adding 32 converts an uppercase ASCII letter to its lowercase partner; this is not a general rule for other characters.

What are the decimal codes for space, 0, A, a and DEL?

Space is 32, the digit character 0 is 48, uppercase A is 65, lowercase a is 97 and DEL is 127. Digit characters span 48-57, so subtracting 48 from a digit character code gives its numeric value.

Why does an emoji give two numbers in this tool?

The encoder uses charCodeAt on each UTF-16 code unit. 😀 has the surrogate units 55357 and 56832, so it produces two numbers instead of its single Unicode code point 128512. Decoding 55357 56832 does restore 😀: the decoder joins those units into a valid surrogate pair. Decoding 128512 also gives 😀. Neither representation is ASCII.

Why does the None separator not round-trip reliably?

Without separators, variable-length codes lose their boundaries. Hello becomes 72101108108111. The decoder takes groups of up to 7 digits, so it reads 7210110 and 8108111. Both exceed 1114111 (0x10FFFF) and become U+FFFD, producing �� instead of Hello. Use spaces, commas, tabs or line breaks between codes.

Compare representations with the ASCII converter, Binary encoder, Hex encoder and Octal ASCII converter.