If you are asking what is a special character, the most accurate answer is that it is generally a character not treated as an ordinary letter or digit in a particular system. Examples can include punctuation such as ! and ?, currency signs such as $ and €, mathematical operators such as + and ÷, and symbols such as © and ™.
There is no single universal list of special characters. The meaning changes with context: a password form, filename, programming language, regular expression, database, and word processor may classify the same character differently. For a practical library of characters that remain editable text, browse special characters by name, shape, or use.
Special Character Definition
In everyday computing, “special character” is an informal label. It usually means a character outside the basic letters A–Z and digits 0–9, but even that definition is not consistent. Some systems treat spaces, accented letters, underscores, or non-Latin letters as special; others treat them as ordinary valid text.
A better question is:
Special for which system and which rule?
For example:
- A password field may call
!,@,#, and$special characters. - A regular expression treats characters such as
.,*,+,?, and brackets as metacharacters with special functions. - HTML source gives
<,>, and&structural meaning, so they may need character references in some contexts. - A filename rule may prohibit characters that are valid in ordinary prose.
- A database may allow a character but require escaping in a query language.
Therefore, “special” describes how a system interprets a character, not a permanent Unicode category assigned to it.
Examples of Special Characters
| Group | Examples | Typical purpose |
|---|---|---|
| Punctuation | ! ? , . : ; ' " | Sentence structure and quotation |
| Brackets | ( ) [ ] { } < > | Grouping, markup, math, programming |
| Currency signs | $ € £ ¥ ₹ ₩ | Monetary values |
| Math operators | + − × ÷ = ≠ ≤ ≥ | Equations and comparisons |
| Technical and legal signs | © ® ™ § ¶ | Notices, references, document structure |
| Arrows | ← ↑ → ↓ ↔ | Direction, navigation, mappings |
| Accented letters | á é ñ ü ç | Normal letters in many languages |
| Emoji and pictographs | ✓ ★ ♥ ☀ | Marks, decoration, status, expression |
| Whitespace and invisible controls | space, non-breaking space, zero-width characters | Separation, joining, or text behavior |
You can explore copyable examples in the special text symbols collection. Remember that being visually unusual does not make two characters interchangeable: a hyphen, minus sign, en dash, and em dash have different identities and uses.
How Unicode Classifies Characters
Unicode does not use one catch-all category named “special character.” Instead, it assigns every encoded character properties, including a general category. The broad category families include:
- Letters, such as Latin, Greek, Cyrillic, Arabic, and many other scripts.
- Marks, including combining accents.
- Numbers, including decimal digits and other numeric characters.
- Punctuation, including dashes, brackets, quotes, and sentence marks.
- Symbols, including math, currency, modifier, and other symbols.
- Separators, including spaces and line/paragraph separators.
- Other, including control, formatting, private-use, surrogate, and unassigned values.
This explains why a character can be “special” to a website form while Unicode classifies it more precisely as punctuation, a currency symbol, a mathematical symbol, or even a letter.
Are Accented Letters Special Characters?
In natural-language writing, characters such as á, ñ, ü, and ç are letters, not optional decoration. A poorly designed form may label every non-ASCII character “special,” but that is a technical limitation of the form rather than a linguistic fact.
Modern Unicode-aware systems should generally accept the characters required for a user’s real name and language, subject to legitimate security and data-format requirements. Replacing them with unaccented approximations can alter spelling or meaning.
Is an Underscore a Special Character?
It depends on the rule. The underscore _ is Unicode U+005F LOW LINE and is classified as connector punctuation. Many username and programming rules treat it as an allowed word-like connector, while password forms may count it as a special character. Always read the specific policy rather than assuming.
Is a Hashtag a Special Character?
The character # is Unicode U+0023 NUMBER SIGN. In social media, it begins a hashtag; in other contexts it can indicate a number, a musical sharp approximation, a fragment identifier in a URL, or a comment marker. Some password systems count it as a special character, but the label depends on the system.
Is a Space a Special Character?
A space is a character. Whether it is considered “special” varies. Some password systems allow spaces, some strip leading or trailing spaces, and some prohibit them. Unicode also includes multiple space-like characters with different behavior, so a blank-looking string is not necessarily empty.
Special Characters in Passwords
Password instructions often say “include one special character” without defining the accepted set. This can be confusing because a visible symbol may be rejected while another is accepted. NIST has highlighted the ambiguity of terms such as “special character,” “symbol,” and “non-alphanumeric character” in password rules.
Current NIST digital identity guidance advises verifiers not to impose composition rules requiring a mixture of character types. Length, blocklists of commonly used or compromised passwords, rate limiting, and secure password storage are more meaningful than forcing one uppercase letter, one number, and one symbol.
When a specific website requires a special character, follow the characters listed by that website. Do not assume every Unicode symbol or emoji will be accepted.
Special Characters in HTML
HTML source uses certain characters as syntax. The most important examples are:
<starts a tag-like construct.>closes it.&starts a character reference.- Quotation marks delimit attribute values when that quote style is used.
To display reserved characters unambiguously, use character references such as:
<for<>for>&for&"for"
Most other Unicode characters can be written directly in a UTF-8 HTML document. A character reference is an encoding choice, not a different character.
Special Characters in Regular Expressions
Regular-expression engines give special functions to metacharacters such as:
. ^ $ * + ? ( ) [ ] { } | \
If you want to match one literally, you often need to escape it, but the exact rules vary by language and regex engine. For example, . usually means “any character” rather than a literal full stop. This is a domain-specific meaning of “special character,” not a universal one.
Special Characters in Filenames and Usernames
Operating systems, services, and applications define their own allowed sets. A character may be:
- Forbidden because it is a path separator or wildcard.
- Reserved for a device name or command syntax.
- Allowed in storage but difficult to type or display.
- Valid Unicode but rejected by an older ASCII-only system.
- Visually confusable with another character.
Before using decorative characters in a username or filename, consider searchability, accessibility, data transfer, and whether the destination system normalizes or removes them.
Character, Glyph, and Symbol Are Not the Same
- A character is an abstract encoded text element, such as
U+00A9 COPYRIGHT SIGN. - A glyph is the visual shape a font uses to draw a character.
- A symbol is a broader human term for a sign or mark that communicates a meaning.
The same character can have different glyphs in different fonts. Two glyphs can also look alike while representing different characters. Copying the visually closest mark is therefore less reliable than checking its Unicode name and code point.
How to Identify a Special Character
- Copy the character as text if possible.
- Check its Unicode code point and official name.
- Determine the context in which it appears.
- Compare it with visually similar characters.
- Confirm the destination system supports it.
If the mark only exists in an image, you may need visual identification first. Do not assign a Unicode value until you can distinguish the actual character from a logo, icon, or drawing.
Frequently Asked Questions
What is considered a special character?
Usually punctuation, symbols, or other characters outside a system’s basic letter-and-digit set. The exact list is defined by the application or policy.
Are all symbols special characters?
Not necessarily. “Special character” is an informal context-dependent label. Unicode classifies symbols more precisely, and an application may treat a symbol as ordinary allowed text.
Are numbers special characters?
Digits are normally classified separately from special characters. A particular validation rule may still group them in a custom way.
Is an underscore a special character in a password?
Many systems count it as one, but not all. Check the exact password policy.
Is an emoji a special character?
An emoji can be a Unicode character or a multi-character sequence. A system may call it special, allow it, reject it, or count its underlying code points differently.
Why does a special character appear as a box?
The font or rendering system may not contain a glyph for the stored character. The character can still be valid Unicode.