ASCII / Unicode Codepoint Lookup

Look up the ASCII/Unicode codepoint for any character โ€” or go the other way and turn a list of codepoints back into text. Shows decimal, hex (U+XXXX), octal, binary, HTML entity, JS escape, and URL-encoded forms for every code point.

Inputs

Pick whichever direction matches what you have.

Used when direction is Text โ†’ codepoints. Emoji and CJK characters work โ€” they are decoded by full code point (not UTF-16 surrogate halves).

Used when direction is Codepoints โ†’ text. Accepts U+XXXX, 0x48, 0o110, 0b1001000, H, H, \u0048, or plain decimal โ€” separated by spaces, commas, or newlines.

Result

Loading calculatorโ€ฆ
โ€”

How to use this calculator

  • Switch the direction depending on whether you have text or codepoints.
  • Paste any text โ€” emoji and supplementary-plane characters (codepoint > U+FFFF) are handled by code point, not by UTF-16 code unit.
  • When entering codepoints, mix and match notations โ€” U+0041, 0x41, 65, A, \u0041 are all accepted.
  • Use the per-codepoint rows to grab the exact HTML entity or JS escape you need, with no further hand-conversion.

About this calculator

Every character on the modern web โ€” Latin letters, CJK ideographs, emoji, math symbols โ€” has a Unicode code point. This tool maps in both directions: type some text and read out the U+HEX code point for each character, or paste a list of code points (in any common notation) and reconstruct the text. Itโ€™s the lookup table you reach for when youโ€™re writing a regex that needs to allow only certain script ranges, sanity-checking a copy-paste that arrived with garbled mojibake, or building a font fallback test page. For each code point you get the decimal, hex, octal, binary, HTML numeric entity (both forms), JavaScript \u escape, and the single-byte URL-percent representation โ€” the full set youโ€™d otherwise paste-into-multiple-tools to assemble.

How it works โ€” the formula

codepoint(ch) = ch.codePointAt(0) text(cps) = cps.map(String.fromCodePoint).join("")

The Unicode standard maps every abstract character to a unique 21-bit integer (the code point) in the range U+0000 to U+10FFFF. JavaScript exposes the code point via String.prototype.codePointAt and the reverse via String.fromCodePoint; these correctly handle UTF-16 surrogate pairs so supplementary-plane characters (most emoji) are not split.

Worked examples

Example 1
ASCII letter
Inputs:
text = "A"
Output:
U+0041 dec 65 0x41
Example 2
CJK ideograph
Inputs:
text = "ไธญ"
Output:
U+4E2D dec 20013 0x4E2D
Example 3
Supplementary plane (emoji)
Inputs:
text = "๐Ÿ‘‹"
Output:
U+1F44B dec 128075 0x1F44B

Limitations

  • Grapheme clusters (composed emoji, combining marks) are reported by their constituent code points, not as a single glyph. This matches the iterator behaviour of every modern JS engine.
  • Codepoints in the surrogate range (U+D800โ€“U+DFFF) are not scalar values and cannot be encoded; entering them returns the Unicode replacement character.
  • URL %XX bytes shown are correct for code points โ‰ค U+007F only. For higher code points use proper UTF-8 percent-encoding (encodeURIComponent).

Every numeric value here is derived directly from the Unicode code-point integer โ€” there is no rounding or transcoding loss.

Frequently asked

What is a Unicode code point?+
A 21-bit integer (U+0000 through U+10FFFF) that names a single abstract character in the Unicode standard. Code points are the layer above any specific encoding (UTF-8, UTF-16, UTF-32 are all different byte-level serializations of the same code points).
Why does an emoji sometimes show up as multiple codepoints?+
Modern emoji use sequences. The ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง family emoji is three person-emoji glued together with U+200D ZERO WIDTH JOINERs โ€” so it reports as 5 code points but renders as one grapheme cluster. Country flags work similarly via regional-indicator pairs.
What is the difference between ASCII and Unicode?+
ASCII covers U+0000 through U+007F โ€” the original 128 code points (control + Latin letters + digits + punctuation). Unicode is the superset: it includes ASCII as a subset, then adds another 1,114,000 code points covering every written script in modern use plus emoji and historic scripts.
Why are the URL-percent values only one byte each?+
URL percent-encoding is byte-level, not codepoint-level. For code points above U+007F the URL-safe form requires UTF-8 encoding first (encodeURIComponent in JS handles this). The %XX shown here is the raw codepoint as a single byte and is correct only for ASCII (cp โ‰ค 0x7F).
Can I look up the name of a character?+
This tool gives you the code point and the numeric forms, not the Unicode character name (e.g. LATIN CAPITAL LETTER A for U+0041). Use the Unicode Character Database (unicode.org/ucd) or compatibility tables for full names.
Are control characters (tabs, newlines) shown?+
Yes. Codepoints U+0000โ€“U+001F and U+007F are displayed as "(control 0xNN)" since they have no visible glyph. The numeric values are still correct so you can confirm e.g. that a stray U+000A linefeed snuck into the data.

Related calculators

More tools you might like

Hand-picked tools that pair well with this one โ€” same audience, same intent.