Mappa dei caratteri gratuita
Sfoglia i caratteri Unicode per categoria, cerca per nome o punto di codice, e copia negli appunti.
Come usare
- Clicca su una scheda di categoria per visualizzare i caratteri di quel gruppo.
- Clicca su un carattere per vedere i suoi dettagli e le opzioni di copia.
- Usa la barra di ricerca per trovare caratteri per nome (es. «heart») o codice hex (es. «2665»).
- Clicca su Copia il carattere per copiare il carattere selezionato negli appunti.
Domande frequenti
Cos'è un punto di codice Unicode?
Un punto di codice Unicode è un numero unico assegnato a ogni carattere dello standard Unicode. Si scrive in formato esadecimale, spesso preceduto da U+ (per es. U+2665 per ♥).
Cos'è un'entità HTML?
Un'entità HTML è un codice speciale che rappresenta un carattere in HTML. Per esempio, ♥ rappresenta ♥. Le entità sono utili quando non è possibile digitare direttamente un carattere.
Cos'è il codice CSS?
Il codice CSS usa la notazione \\ per inserire un carattere a partire dal suo punto di codice Unicode nei fogli di stile. Per esempio, .heart::before { content: "\\2665"; } inserisce ♥.
Una breve storia di Unicode
Prima di Unicode, ogni regione aveva la propria codifica di caratteri incompatibile: ASCII per l'inglese, la famiglia ISO 8859 per le lingue europee (8859-1 Latin-1, 8859-5 cirillico, 8859-6 arabo), le code page Windows 1252 / 1251 / 1253-1258, i set multibyte per le lingue dell'Asia orientale (Shift-JIS per il giapponese, Big5 per il cinese tradizionale, GB2312 per il cinese semplificato, EUC-KR per il coreano). Le codifiche non corrispondenti producevano testo illeggibile noto con il termine giapponese mojibake (文字化け, «trasformazione dei caratteri»), aprire una pagina giapponese con la codifica sbagliata dava righe di punti interrogativi o lettere Latin-1 casuali.
Il lavoro iniziò nel 1987 alla Xerox. Joe Becker, con Lee Collins e Mark Davis alla Apple, cominciò a studiare un singolo set di caratteri universale che potesse sostituire il mosaico esistente. La bozza di proposta di Becker dell'agosto 1988, «Unicode 88», spiegava: «il nome 'Unicode' intende suggerire una codifica unica, unificata e universale.» Il Consorzio Unicode fu costituito nel gennaio 1991 e pubblicò Unicode 1.0 nell'ottobre di quell'anno con circa 7.100 caratteri in 24 sistemi di scrittura.
Alla data di Unicode 17.0 (rilasciato il 9 settembre 2025) lo standard contiene circa 159.801 caratteri in 172 sistemi di scrittura, con spazio di codifica allocato per 1.112.064 punti di codice validi, il che significa che Unicode ha assegnato all'incirca il 14% del suo spazio possibile e ha decenni di margine. Traguardi recenti importanti: Unicode 6.0 (2010) fu la prima versione a codificare formalmente le emoji (722, prese dagli operatori telefonici giapponesi); Unicode 17.0 ha aggiunto quattro nuovi sistemi di scrittura (Sidetic, Tolong Siki, Beria Erfe, Tai Yo) e ha portato il conteggio totale degli ideogrammi CJK oltre 100.000.
Punti di codice, piani e codifiche
Un punto di codice è solo un numero, scritto in esadecimale con un prefisso U+, come U+2665 per ♥. I punti di codice sono raggruppati in 17 piani di 65.536 punti di codice ciascuno. Quasi tutto ciò che hai mai letto si trova sul Piano 0, il Basic Multilingual Plane (BMP, da U+0000 a U+FFFF). Il Piano 1 (il Supplementary Multilingual Plane) contiene i sistemi di scrittura storici (lineare B, geroglifici egizi, cuneiforme), la notazione musicale e quasi tutte le emoji. I piani 2 e 3 sono estensioni di ideogrammi CJK. I piani da 4 a 13 sono non assegnati, riservati per il futuro. Il Piano 14 contiene i selettori di variazione e i modificatori di emoji. I piani 15 e 16 sono aree a uso privato dove i font e le app assegnano i propri significati.
Un punto di codice è solo un numero; una codifica è il modo in cui quel numero viene memorizzato come byte. Unicode ne definisce tre:
- UTF-8: larghezza variabile, da 1 a 4 byte per carattere. Progettata da Ken Thompson e Rob Pike ai Bell Labs nel 1992 (abbozzata sulla tovaglietta di una tavola calda del New Jersey). I primi 128 punti di codice (ASCII) occupano esattamente 1 byte con lo stesso valore binario di ASCII, quindi un file di puro ASCII è già un file UTF-8 valido. A gennaio 2026, UTF-8 è usata da circa il 98,9% dei siti web, la codifica raccomandata dal WHATWG e quella predefinita per i nuovi protocolli di testo.
- UTF-16: larghezza variabile, 2 o 4 byte. I caratteri BMP occupano 2 byte; i caratteri nei piani supplementari occupano 4 byte tramite coppie surrogate (un surrogato alto U+D800-U+DBFF più un surrogato basso U+DC00-U+DFFF). Usata internamente dalle API di Windows, da Java, da JavaScript (la
.lengthdi una stringa conta le unità di codice UTF-16, motivo per cui un'emoji spesso «conta come 2») e da Qt. Meno dello 0,004% delle pagine web pubbliche la usa come trasporto. - UTF-32: larghezza fissa, 4 byte per punto di codice. Semplice da indicizzare ma inefficiente in termini di spazio. Usata internamente da alcuni runtime Unix per l'indicizzazione diretta dei punti di codice; rara su disco o in rete.
I 25 caratteri di spaziatura invisibili
Unicode contrassegna formalmente esattamente 25 caratteri con la proprietà White_Space=yes: lo spazio normale (U+0020), la tabulazione, l'avanzamento di riga, il ritorno a capo, lo spazio unificatore (U+00A0, il famoso che sembra identico a uno spazio normale ma non va a capo), le larghezze tipografiche in U+2000-U+200A, i separatori di riga / paragrafo (U+2028 / U+2029), lo spazio unificatore stretto comune nella tipografia francese (U+202F), lo spazio matematico medio (U+205F) e lo spazio ideografico a larghezza piena (U+3000) usato nel testo CJK.
Diversi caratteri sembrano invisibili ma non sono classificati come spaziatura e si comportano diversamente da uno spazio normale:
- U+200B Zero-Width Space: consente un'interruzione di riga senza spazio visibile; non è spaziatura secondo la classificazione Unicode.
- U+200D Zero-Width Joiner: il collante all'interno delle emoji multi-carattere come le sequenze di famiglia o di professione.
- U+200C Zero-Width Non-Joiner: controlla l'unione delle legature.
- U+00AD Soft Hyphen: invisibile finché il renderer non spezza la riga.
- U+FEFF Byte Order Mark: all'inizio di un file dichiara l'endianness; nel mezzo, uno spazio unificatore invisibile. Le esportazioni CSV UTF-8 di Excel ne antepongono uno, che spesso compare negli strumenti a valle come un carattere iniziale inatteso nell'intestazione della prima colonna.
Questi caratteri invisibili sono regolarmente la causa di sessioni di debug del tipo «perché questa stringa non corrisponde?», incolla un carattere qualsiasi nella ricerca di una mappa caratteri e ti dirà il punto di codice effettivo, così puoi verificare se stai guardando una virgoletta tipografica travestita da virgoletta dritta, o uno spazio unificatore dove dovrebbe esserci uno spazio normale.
Intervalli di caratteri utili
| Blocco | Intervallo | Esempi |
|---|---|---|
| Supplemento Latin-1 | U+0080-U+00FF | à ñ ü © ® ¥ § ° ¶ |
| Greco | U+0370-U+03FF | α β γ π Σ Ω |
| Cirillico | U+0400-U+04FF | Russo / Ucraino / Bulgaro ecc. |
| Punteggiatura generale | U+2000-U+206F | -, … " " ' ' • † NBSP ZWSP |
| Simboli di valuta | U+20A0-U+20CF | € £ ¥ ₩ ₽ ₹ ₿ |
| Simboli simili a lettere | U+2100-U+214F | ™ ℠ № ℃ ℉ ℗ |
| Frecce | U+2190-U+21FF | ← → ↑ ↓ ↔ ⇒ ⇐ |
| Operatori matematici | U+2200-U+22FF | ∑ ∫ ∞ √ ≠ ≤ ≥ ± ∂ ∇ ∈ ∪ ∩ |
| Disegno di riquadri | U+2500-U+257F | ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╔ ╗ |
| Alfanumerici matematici | U+1D400-U+1D7FF | I generatori di «Fancy text» (𝓗𝓮𝓵𝓵𝓸) attingono da qui. |
Caratteri speciali nella scrittura quotidiana
Il caso d'uso «mi serve solo digitare un simbolo», un rapido riferimento di ciò che questo strumento esiste per fornire in due clic:
- Trattino lungo - U+2014 (
—), interruzione a livello di frase. - Trattino medio - U+2013 (
–)) intervalli (1950-1975) e abbinamenti (Boston-Hartford). - Puntini di sospensione … U+2026 (
…), tre punti come singolo carattere. - Virgolette tipografiche: apertura « U+201C, chiusura » U+201D, apertura ' U+2018, chiusura ' U+2019.
- Spazio unificatore U+00A0 (
), tiene unito «100 km». - Copyright © U+00A9, Marchio registrato ® U+00AE, Marchio commerciale ™ U+2122.
- Sezione § U+00A7, Paragrafo ¶ U+00B6, Grado ° U+00B0.
- Moltiplicazione × U+00D7, Divisione ÷ U+00F7, nessuno dei due è la lettera
xo una barra.
Quando ricorreresti a una mappa caratteri
- Digitare lettere accentate senza il layout di tastiera giusto: résumé, jalapeño, fiancée, naïve.
- Matematica e scienze: incollare ∑, ∫, ≠, π, ±, ∞, μ, Ω in un documento senza avviare l'editor di equazioni.
- Valuta: il simbolo che ti serve è raramente sulla tastiera. Euro €, yen ¥, peso ₱, rupia ₹.
- Punteggiatura nella scrittura giuridica e accademica: trattini lunghi, virgolette tipografiche, il segno di sezione §, la croce †.
- Testo decorativo per le bio dei social media e il branding: i Mathematical Alphanumeric Symbols (U+1D400-U+1D7FF) ti permettono di stilizzare il testo senza usare un'immagine.
- Design di CLI e TUI: i caratteri Box Drawing per bordi in ASCII art, programmi ncurses e diagrammi nei README.
- Debug di bug di codifica: incolla un carattere per vederne il punto di codice effettivo e verificare se hai una virgoletta tipografica travestita da virgoletta dritta.
Sicurezza: il problema degli omografi
Molti caratteri Unicode appaiono identici tra sistemi di scrittura diversi. La «а» minuscola cirillica (U+0430) è visivamente indistinguibile dalla «a» latina (U+0061). Gli aggressori registrano nomi di dominio internazionalizzati che assomigliano a quelli legittimi (per esempio un «apple.com» con una а cirillica al posto della a latina) e li usano per il phishing. Un attacco del 2017 a adoḅe.com usò la ḅ con punto sottoscritto (U+1E05) per diffondere malware. I browser moderni mitigano questo con regole restrittive sulla mescolanza di sistemi di scrittura, ripiegando sulla forma ASCII Punycode (xn--…) quando un dominio mescola sistemi di scrittura; Safari è particolarmente conservativo. La stessa proprietà di somiglianza che rende Unicode ricco per la scrittura umana lo rende pericoloso nei domini, e una mappa caratteri è un modo per confermare a colpo d'occhio il punto di codice effettivo di ogni carattere.
Altre domande
Qual è la differenza tra un carattere e un glifo?
Un carattere è l'unità astratta che Unicode codifica, la lettera A, indipendentemente dal tipo di carattere. Un glifo è il disegno specifico di quel carattere in un determinato font: la A in Helvetica, la A in Garamond, la A in Comic Sans sono tutte lo stesso carattere ma tre glifi diversi. Unicode codifica i caratteri; i font forniscono i glifi.
Perché «1.0» ha 7.000 caratteri ma «17.0» ne ha 160.000?
Unicode 1.0 copriva 24 sistemi di scrittura, la maggior parte dei sistemi di scrittura viventi allora in uso informatico regolare. La crescita da allora è arrivata da tre direzioni: l'enorme espansione della copertura degli ideogrammi CJK (l'inclusione di caratteri cinesi storici e rare varianti regionali, la sola Extension J ne ha aggiunti 4.298 nella versione 17.0), la codifica formale dei sistemi di scrittura storici (lineare B, cuneiforme, geroglifici egizi, fenicio) e la standardizzazione delle emoji dal 2010 in poi.
Cos'è un'entità HTML?
Un modo per codificare un carattere all'interno dell'HTML usando una sintassi di escape speciale. Esistono entità denominate per i caratteri comuni (© per ©, — per -) ed entità numeriche per qualsiasi punto di codice (♥ o ♥ per ♥). Sono utili quando digitare il carattere direttamente è scomodo, ad esempio nel codice sorgente con codifiche miste, o in un sistema che elimina i caratteri non ASCII.
E gli escape CSS?
Il CSS usa la barra rovesciata più il punto di codice esadecimale: .heart::before { content: "\2665"; } inserisce ♥. Utile all'interno del contenuto generato con ::before / ::after, negli stili dei contatori CSS e in qualsiasi punto in cui non ci si può fidare della codifica del file sorgente.
Viene inviato qualcosa a un server?
No. I dati dei caratteri sono inclusi nella pagina; la ricerca e il filtraggio per categoria vengono eseguiti localmente in JavaScript; la copia usa la Clipboard API del browser. Nulla lascia il tuo dispositivo, e la pagina funziona offline una volta caricata.