User Rating 0.0
Total Usage 0 times
0 / 10,000 characters
Quick presets:
Is this tool helpful?

Your feedback helps us improve.

About

Character encoding errors corrupt data silently. A misread byte in a protocol header, a wrong code point in a CSV parser, or a malformed escape sequence in a URL can cascade into broken systems, garbled text, or security vulnerabilities. This tool converts arbitrary text strings into their numeric ASCII representations across four standard radix formats: decimal (base 10), hexadecimal (base 16), octal (base 8), and binary (base 2). It also performs the inverse operation, parsing delimited numeric sequences back into readable text. The converter handles the full standard ASCII range of 0 - 127 code points and the extended range of 128 - 255. Note: characters outside the 0 - 255 range (such as most emoji and CJK ideographs) use multi-byte Unicode encodings and will be converted per their UTF-16 code unit value, which may not match their Unicode code point for surrogate pairs.

ascii ascii converter text to ascii ascii to text binary converter hex converter character encoding ascii table

Formulas

Each character in a text string maps to a numeric code point c. The conversion between text and its numeric representation uses the character's position in the ASCII (or extended) character set. The core operation for text-to-number conversion extracts the code point, then expresses it in the target radix b.

c = charCodeAt(i)

For the reverse (numbers-to-text), each numeric token is parsed from its radix back to a decimal integer, then mapped to the corresponding character.

char = fromCharCode(parseInt(token, b))

Radix representations follow standard positional notation. A decimal value n expressed in base b is decomposed as:

n = ki=0 di bi

Where di is the digit at position i, b is the base (2 for binary, 8 for octal, 10 for decimal, 16 for hexadecimal), and k is the number of digits minus one. Hexadecimal uses digits 0 - 9 and letters A - F for values 10 - 15. Binary output is zero-padded to 8 bits for standard byte alignment.

Reference Data

DecHexOctBinaryCharDescription
00000000000000NULNull
10100100000001SOHStart of Heading
20200200000010STXStart of Text
30300300000011ETXEnd of Text
40400400000100EOTEnd of Transmission
50500500000101ENQEnquiry
60600600000110ACKAcknowledge
70700700000111BELBell
80801000001000BSBackspace
90901100001001HTHorizontal Tab
100A01200001010LFLine Feed
110B01300001011VTVertical Tab
120C01400001100FFForm Feed
130D01500001101CRCarriage Return
140E01600001110SOShift Out
150F01700001111SIShift In
161002000010000DLEData Link Escape
171102100010001DC1Device Control 1 (XON)
181202200010010DC2Device Control 2
191302300010011DC3Device Control 3 (XOFF)
201402400010100DC4Device Control 4
211502500010101NAKNegative Acknowledge
221602600010110SYNSynchronous Idle
231702700010111ETBEnd of Transmission Block
241803000011000CANCancel
251903100011001EMEnd of Medium
261A03200011010SUBSubstitute
271B03300011011ESCEscape
281C03400011100FSFile Separator
291D03500011101GSGroup Separator
301E03600011110RSRecord Separator
311F03700011111USUnit Separator
322004000100000SPSpace
332104100100001!Exclamation Mark
342204200100010"Double Quote
352304300100011#Hash / Number Sign
362404400100100$Dollar Sign
372504500100101%Percent Sign
382604600100110&Ampersand
392704700100111'Single Quote
402805000101000(Left Parenthesis
412905100101001)Right Parenthesis
422A05200101010*Asterisk
432B05300101011+Plus Sign
442C05400101100,Comma
452D05500101101-Hyphen / Minus
462E05600101110.Period
472F05700101111/Slash
4830060001100000Digit Zero
4931061001100011Digit One
5032062001100102Digit Two
5133063001100113Digit Three
5234064001101004Digit Four
5335065001101015Digit Five
5436066001101106Digit Six
5537067001101117Digit Seven
5638070001110008Digit Eight
5739071001110019Digit Nine
583A07200111010:Colon
593B07300111011;Semicolon
603C07400111100<Less Than
613D07500111101=Equals Sign
623E07600111110>Greater Than
633F07700111111?Question Mark
644010001000000@At Sign
654110101000001AUppercase A
664210201000010BUppercase B
674310301000011CUppercase C
684410401000100DUppercase D
694510501000101EUppercase E
704610601000110FUppercase F
714710701000111GUppercase G
724811001001000HUppercase H
734911101001001IUppercase I
744A11201001010JUppercase J
754B11301001011KUppercase K
764C11401001100LUppercase L
774D11501001101MUppercase M
784E11601001110NUppercase N
794F11701001111OUppercase O
805012001010000PUppercase P
815112101010001QUppercase Q
825212201010010RUppercase R
835312301010011SUppercase S
845412401010100TUppercase T
855512501010101UUppercase U
865612601010110VUppercase V
875712701010111WUppercase W
885813001011000XUppercase X
895913101011001YUppercase Y
905A13201011010ZUppercase Z
915B13301011011[Left Bracket
925C13401011100\Backslash
935D13501011101]Right Bracket
945E13601011110^Caret
955F13701011111_Underscore
966014001100000`Grave Accent
976114101100001aLowercase a
986214201100010bLowercase b
996314301100011cLowercase c
1006414401100100dLowercase d
1016514501100101eLowercase e
1026614601100110fLowercase f
1036714701100111gLowercase g
1046815001101000hLowercase h
1056915101101001iLowercase i
1066A15201101010jLowercase j
1076B15301101011kLowercase k
1086C15401101100lLowercase l
1096D15501101101mLowercase m
1106E15601101110nLowercase n
1116F15701101111oLowercase o
1127016001110000pLowercase p
1137116101110001qLowercase q
1147216201110010rLowercase r
1157316301110011sLowercase s
1167416401110100tLowercase t
1177516501110101uLowercase u
1187616601110110vLowercase v
1197716701110111wLowercase w
1207817001111000xLowercase x
1217917101111001yLowercase y
1227A17201111010zLowercase z
1237B17301111011{Left Brace
1247C17401111100|Vertical Bar
1257D17501111101}Right Brace
1267E17601111110~Tilde
1277F17701111111DELDelete

Frequently Asked Questions

Standard ASCII defines 128 characters (code points 0 - 127), covering English letters, digits, punctuation, and control codes. Extended ASCII uses an additional 128 code points (128 - 255) defined by various code pages such as ISO 8859-1 (Latin-1) or Windows-1252. These extensions are not universally standardized, so the same code point may represent different characters depending on the system's code page. This converter uses JavaScript's UTF-16 encoding internally, which is compatible with Latin-1 for the 0 - 255 range.
Characters above code point 255 (such as Chinese, Arabic, or emoji characters) are converted using their UTF-16 code unit value via charCodeAt(). For characters in the Basic Multilingual Plane (up to U+FFFF), this matches the Unicode code point. Characters above U+FFFF (like most emoji) are represented as surrogate pairs in UTF-16, producing two separate code unit values rather than the true code point. The tool flags this limitation in its output.
Binary output is zero-padded to 8 bits to match the standard byte width. The letter "A" (decimal 65) is naturally 1000001 in binary (7 digits), but is displayed as 01000001 for consistency. This is critical when working with network protocols, file formats, or hardware interfaces that expect byte-aligned data. For values above 255, the tool expands to 16-bit padding.
The converter accepts spaces, commas, comma-space combinations, and newlines as delimiters when parsing numeric input. For hexadecimal input, the prefix "0x" is optional and automatically stripped. For binary input, the prefix "0b" is similarly handled. Leading and trailing whitespace is trimmed from each token. If any token fails to parse as a valid number in the selected radix, the tool reports the position of the invalid token rather than silently skipping it.
When converting numbers to text, control characters (code points 0 - 31 and 127) are rendered using their standard abbreviations in brackets, such as [NUL], [BEL], [LF], [CR], and [DEL]. This prevents invisible characters from being silently inserted into the output. The character detail breakdown table shows both the abbreviation and the full name for each control character.
Yes. Enter your binary values in Numbers-to-Text mode with Binary selected, then switch the output format to Hexadecimal. The tool first converts each binary token to its decimal code point, then re-encodes in the target base. This two-step process ensures consistency regardless of the source and target radix combination. Alternatively, use the character detail table that displays all four radix representations simultaneously for each character.
In Text-to-Numbers mode, every character is converted including spaces (decimal 32), tabs (decimal 9), and newlines (decimal 10 for LF, 13 for CR). The character detail table marks these with their standard abbreviations (SP, HT, LF, CR) so they remain visible. In Numbers-to-Text mode, a space code point (32) will produce an actual space in the output.