ToyTools Guide

Finding a Character and Making It Survive

Searching by name instead of by shape, what a code point is, and when to paste the glyph rather than an escape that survives anything.

5 min read Updated Aug 2026

Quick Answer

Search by name, then tap. The glyph goes to your clipboard, ready to paste.

For example, Input: the word arrow. Output: the two dozen arrows out of 365 characters, so you pick by looking instead of by scrolling. Typing dash finds the en dash without you having to know its name first.

Alongside the glyph, the character map gives you its code point and its HTML, CSS and JavaScript escapes, because the glyph on its own is frequently not what the file you are pasting into wants.

Find A Character →

What is a code point?

Unicode characters each carry a code point: the number Unicode gives them, written as U+ and four or more hex digits.

The degree sign is U+00B0. The right arrow is U+2192. That number is the character's real identity, and everything else about it is a layer on top. A font decides what shape gets drawn. An encoding decides which bytes get stored. The code point survives both, therefore it is what every escape is really spelling out.

This matters because two characters can look identical and hold different numbers. Unlike a font difference, that is a genuine mismatch, and it is why a search that should match keeps failing.

How does searching by name work?

Every character in the map carries its Unicode name as its accessible label, and the search box matches against that text.

So typing currency does nothing, because no character is called that, while typing sign or euro lands immediately. Short words beat precise ones here. For example, Input: greek. Output: the whole Greek alphabet, upper and lower case, because every one of those names starts with it.

Pasting a character into the search box works too. If you already have a copy of a symbol and want its name or its escape, drop it in and the map finds the cell.

Should I paste the glyph or an escape?

Paste the glyph into anything a person reads. Use an escape when a machine reads it first.

Documents, emails, messages and spreadsheet cells all copy and paste symbols without complaint, because those tools have been fully Unicode for years. Special characters are ordinary text to them. Source files are the other case. HTML, CSS and string literals travel through build steps, minifiers and databases, and any one of them can be set to an encoding that cannot carry the character.

So the three escapes sit next to the glyph rather than behind a menu. Copying the right one is the same single tap as copying the character.

What is an HTML entity?

It is a way of writing a character using nothing but ASCII, so it survives whatever encoding the file ends up in.

Two forms exist. A named entity spells the character out, and a few hundred common characters have one. A numeric entity uses the code point in decimal, and every character in Unicode has one. The map gives you the named form when there is one, because a name is far easier to recognise in a diff six months later.

CSS works differently. To write a symbol in CSS content you use a backslash rather than an ampersand, followed by the hex code point, and CSS keeps reading hex digits until it hits something that is not one. That is why the escape here ends with a space: without it, a digit sitting immediately after the escape gets swallowed into it. Do not trim that space out.

Why do two identical shapes behave differently?

Because they are different characters that happen to be drawn the same way.

The hyphen, the en dash and the minus sign are three separate code points, and most fonts draw two of them almost identically. Curly quotes and straight quotes are a different pair with the same problem. Word processors swap one for the other silently, which is the common mistake behind a code snippet that will not run after a trip through a document.

Avoid picking a character by shape alone. Read the name in the detail line before you copy it, and if you are debugging text that already went wrong, the invisible character detector will name what is actually in there.

Why did my character turn into a question mark?

Something in the chain could not carry it and substituted a placeholder.

A file saved as Latin-1, a database column set to a single-byte character set, or an older system reading UTF-8 bytes with the wrong encoding will each replace what they cannot represent. The character was fine when you copied it. The damage happened downstream.

The fix is to make the whole path UTF-8, from the file through the connection to the column. When you cannot change part of it, paste an escape instead of the glyph, because an escape is plain ASCII and survives anything. For converting a whole block of text rather than one character, use the HTML entity encoder. Everything here runs in your browser and nothing is uploaded.

You May Also Need

You may also need

Next steps

Alternatives

Continue Learning