Locales

Italian typography rules · it

Italiano

Italian sets primary quotation marks as «…» and secondary quotation marks as “…”. A break in a sentence is written with an em dash (U+2014) with a space on each side; no single range convention is verified, so none is substituted. Numbers bind to units such as % ‰ € with U+00A0.

Updated · spec 1.12.0

Run polytypo with Italian rules

Edit the text and polytypo typesets it with the it locale, in your browser. The code under the form is the call that produces the result.

Runs in your browser. Nothing you paste is sent anywhere.

The call the form above is making, right now

Other locales, and all the options, are in the full playground.

Italian typography at a glance #

Tagit
NameItalian
Primary quotes« U+00AB left-pointing double angle quotation mark … » U+00BB right-pointing double angle quotation mark
Secondary quotes“ U+201C left double quotation mark … ” U+201D right double quotation mark
Parenthetical dashspaced em dash
Range dashno dash substitution
Rules with citationsquotes, dashes, ranges, ellipsis, hyphen, nbsp
Conformance cases21

Which locale tags resolve to Italian? #

The locale option is resolved exactly, then by declared alias, then by dropping the region once; anything else throws POLYTYPO_UNKNOWN_LOCALE.

TagHow it resolves
itregistered locale

Which quotation marks does Italian use? #

Primary« U+00AB left-pointing double angle quotation mark … » U+00BB right-pointing double angle quotation mark — no space inside the marks
Secondary“ U+201C left double quotation mark … ” U+201D right double quotation mark — no space inside the marks

Elision clitics

Word fragments that stand against an apostrophe at the edge of an inline span; a narrow mark next to one is not paired as a quotation.

Before the apostrophel un d
After the apostrophenone

quotes

it-quotes-primary
Ha detto "buongiorno" ed è uscito.
Ha detto «buongiorno» ed è uscito.
it-quotes-nested
Scrisse: "Mi disse 'arrivo subito' e sparì."
Scrisse: «Mi disse “arrivo subito” e sparì.»
it-quotes-inner-space-deleted
Ha detto « buongiorno » ed è uscito.
Ha detto «buongiorno» ed è uscito.

How are apostrophes set in Italian? #

apostrophe

it-apostrophe-elision
un'utopia, un'assurda aspirazione dell'Unione
un’utopia, un’assurda aspirazione dell’Unione

Which dashes does Italian use for breaks and ranges? #

Parenthetical break (dash.parenthetical)an em dash (U+2014) with a space on each side
Between numbers and dates (dash.range)no substitution: the locale has no verified convention, so the rule writes nothing

The dashes rule reads the parenthetical convention. The ranges rule reads the range convention and is off by default.

dashes

it-dashes-parenthetical-em-spaced
La casa - se casa si poteva definire quel rudere - sorgeva ai piedi del colle.
La casa — se casa si poteva definire quel rudere — sorgeva ai piedi del colle.
it-dashes-date-range-accepted-cost
25 maggio - 10 giugno 1985
25 maggio — 10 giugno 1985

How is the ellipsis set in Italian? #

An ellipsis keeps its full form after ! and ?; this locale does not abbreviate it there.

ellipsis

it-ellipsis-three-dots
Ti chiami Leone... ma sei un coniglio.
Ti chiami Leone… ma sei un coniglio.
it-ellipsis-not-abbreviated-after-terminal
Davvero?..
Davvero?…

How are hyphens handled in Italian? #

The hyphen lists are empty for this locale, so the hyphen rule changes nothing.

Where does Italian use no-break spaces? #

Characters that take U+00A0 before them (nbsp.beforePunctuation)none
Characters that take U+202F before them (nbsp.narrowBeforePunctuation)none
Short words after which the space becomes U+00A0, so the word is not left at the end of a line (nbsp.afterShortWords)none
Multi-token abbreviations whose internal spaces become U+00A0 (nbsp.abbreviations)none
Units and signs bound to the preceding number with U+00A0 (nbsp.beforeUnits)% ‰ € °C km cm mm kg km/h kWh
Abbreviations bound to the following number with U+00A0 (nbsp.beforeNumber)n. pag.
Abbreviations bound to the following word with U+00A0 (nbsp.beforeWord)none
Symbols bound to the following number with U+00A0 (nbsp.afterSymbols)none
Initials (nbsp.initialBinding)none — disabled: initials are never bound to the name that follows

spaces

it-spaces-brackets-and-final-stop
Disse ( senza dubbio ) di sì .
Disse (senza dubbio) di sì.

nbsp

it-nbsp-no-space-before-punctuation
Che cosa dici ? Nulla ! Davvero ; sì : nulla.
Che cosa dici? Nulla! Davvero; sì: nulla.
it-nbsp-percent
un aumento del 45 % quest'anno
un aumento del 45 % quest’anno
it-nbsp-celsius
una temperatura di 20 °C
una temperatura di 20 °C

How are symbols set in Italian? #

symbols

it-symbols-copyright-and-dimensions
Copyright (c) 2026, formato 40x60 cm
Copyright © 2026, formato 40×60 cm

How does Italian text behave in text, HTML and Markdown modes? #

Each input is the locale's sample sentence followed by a code run, say("a -- b ..."). text mode sets the whole string as prose, code run included. In html and markdown mode the code run comes back byte for byte; only the prose is set.

text
Ha chiesto: "Non è questo il negozio che chiamano 'quello all'angolo'?" ... Abbiamo camminato -- quasi 3 km -- ed era chiuso. Copyright (c) 2026, formato 40x60 cm. say("a -- b ...")
Ha chiesto: «Non è questo il negozio che chiamano “quello all’angolo”?» … Abbiamo camminato — quasi 3 km — ed era chiuso. Copyright © 2026, formato 40×60 cm. say(«a — b …»)
html
<p>Ha chiesto: "Non è questo il negozio che chiamano 'quello all'angolo'?" ... Abbiamo camminato -- quasi 3 km -- ed era chiuso. Copyright (c) 2026, formato 40x60 cm.</p> <pre><code>say("a -- b ...")</code></pre>
<p>Ha chiesto: «Non è questo il negozio che chiamano “quello all’angolo”?» … Abbiamo camminato — quasi 3 km — ed era chiuso. Copyright © 2026, formato 40×60 cm.</p> <pre><code>say("a -- b ...")</code></pre>
markdown
Ha chiesto: "Non è questo il negozio che chiamano 'quello all'angolo'?" ... Abbiamo camminato -- quasi 3 km -- ed era chiuso. Copyright (c) 2026, formato 40x60 cm. `say("a -- b ...")`
Ha chiesto: «Non è questo il negozio che chiamano “quello all’angolo”?» … Abbiamo camminato — quasi 3 km — ed era chiuso. Copyright © 2026, formato 40×60 cm. `say("a -- b ...")`

Which sources define Italian typography? #

10 citations in spec/locales/it.json, grouped by the rule each one supports. A citation names the authority; the note records what the source does and does not settle.

ellipsis

  • Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.1.8 «Punti di sospensione»: «Segno d'interpunzione costituito da tre punti»; Accademia della Crusca, Consulenza linguistica, «La punteggiatura» (Mara Marzullo, 16 luglio 2004): «I puntini di sospensione si usano sempre nel numero di tre» accademiadellacrusca.it

    Giustifica abbreviatedAfterTerminal = false. Due fonti indipendenti affermano che i puntini sono sempre tre, e nessuna prevede la forma a due punti dopo U+003F o U+0021 che usa il russo: il ramo russo di ellipsis.md resta spento per l'italiano. Nessuna delle due si pronuncia su U+2026 contro tre U+002E; quella scelta è del motore ed è identica in ogni locale. DIVERGENZA NOTA, registrata: gli esempi stampati del Manuale non lasciano spazio prima dei puntini, mentre spaces.md §3.4 conserva in ogni locale lo spazio che precede una sequenza di punti; è deliberata e argomentata in spaces.md §7.9, identica a quella già registrata per el. Il Manuale è consultabile all'indirizzo op.europa.eu (cfr. le altre voci di questo file); l'url di questa voce punta alla fonte Crusca, poiché lo schema ne ammette uno solo. Consultati il 18.09.2026.

ranges

  • Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.3.1 «Numeri arabi»: «I numeri arabi non richiedono la lineetta (lineato) bensì il trattino (divisione)», con l'esempio stampato «la sessione del 15-19 giugno 1985»; punto 10.1.11: «Il trattino è anche impiegato, senza alcuno spazio, per collegare due anni civili o due date di uno stesso mese: 1971-1972, 10-15 settembre 1985» op.europa.eu

    Giustifica dash.range = "none", e lo fa in POSITIVO, non per assenza di citazione: la fonte prescrive il trattino U+002D — il carattere che l'autore ha già digitato — ed esclude la lineetta per nome. L'enum non ha un valore «trattino»: "none" è la codifica esatta di ciò che la fonte richiede. Riscontro: Treccani, «Trattino [prontuario]» (Telve 2011), esempi «il fascicolo del 2-3 luglio», «anno accademico 2010-2011». Voce separata da quella di dashes benché entrambe le regole leggano il campo dash: la citazione è distinta e più forte. Consultati il 18.09.2026.

dashes

  • Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), punto 4.2.3, riquadro «Trattini»: «In italiano utilizzare il trattino lungo come eventuale alternativa alle parentesi»; Parte quarta, punto 10.1.10 «Lineetta», con l'esempio stampato «La casa — se casa si poteva definire quel rudere — sorgeva ai piedi del colle» op.europa.eu

    Giustifica dash.parenthetical = "em-spaced": U+2014 con uno spazio ordinario su CIASCUN lato di CIASCUNA lineetta. La spaziatura è simmetrica, quindi — a differenza dello spagnolo e del greco — l'enum la esprime senza forzature. INFERENZA DICHIARATA sul code point: Alt 0151 è CP1252 0x97, da cui U+2014. Riscontro sulla SPAZIATURA, non sul code point: Treccani, «Trattino [prontuario]» (Stefano Telve, 2011), che del trattino breve scrive «A differenza della lineetta, non è preceduto né seguito da spazi». COSTO ACCETTATO, verificato sul motore e registrato qui perché non venga riscoperto come bug: il punto 10.1.11 prescrive il trattino spaziato per collegare due date di mesi diversi («25 maggio - 10 giugno 1985»), e la guardia P1 di dashes.md §3.2 converte qualunque trattino isolato e spaziato fra parole, quindi il motore produce una lineetta lì. Non è una particolarità italiana: fr, ru, de-DE e en-GB, già pubblicate, si comportano allo stesso modo sulla stessa stringa. Consultati il 18.09.2026.

hyphen

  • Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.1.11 «Trattino»: «Il trattino («divisione» in linguaggio tipografico) […] si impiega principalmente per dividere la parola in fin di riga»; «Si può anche usare per unire due parole contraendo la prima: trattato italo-francese» op.europa.eu

    Giustifica le tre liste vuote. La fonte enumera gli impieghi del trattino — e il primo che nomina è l'OPPOSTO dell'insecabilità — senza definire alcuna classe chiusa di forme morfologiche il cui trattino debba resistere all'andata a capo, che è l'unica cosa che questa regola consuma. Riscontro: Treccani, «Trattino [prontuario]» (Telve 2011), che elenca le funzioni di unione (afro-cubano, porta-finestra, maxi-schermo) senza definire neppure essa un elenco chiuso. La famiglia di prefissi (ex-, anti-, maxi-) è stata verificata espressamente perché è l'unica che lo schema saprebbe contenere: le fonti la trattano come schema produttivo e aperto, e un insieme aperto non è esprimibile in wordList. Consultati il 18.09.2026.

quotes

  • Ufficio delle pubblicazioni dell'Unione europea, Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), punto 4.2.3, riquadro «Virgolette»: «Nella lingua italiana esistono tre livelli di virgolette […]: livello 1 (citazione principale) «…» (Alt 0171/Alt 0187); livello 2 (citazione nella citazione) “…” (Alt 0147/Alt 0148); livello 3 (citazione nella citazione nella citazione) ‘…’ (Alt 0145/Alt 0146)» op.europa.eu

    L'attribuzione è per LIVELLO DI ANNIDAMENTO, cioè esattamente la forma che lo schema sa esprimere. Il terzo livello non è rappresentabile: lo schema prevede primary e secondary, non tre — limite dello schema, non lacuna della fonte, come già in el. INFERENZA DICHIARATA sull'identità dei code point: la guida fornisce un «codice alfanumerico» per Windows, non un code point Unicode; Alt 0171/0187/0147/0148 sono CP1252 0xAB/0xBB/0x93/0x94, da cui U+00AB/U+00BB/U+201C/U+201D. Riscontro indipendente: Treccani, Enciclopedia dell'Italiano (2011), voce «Virgolette» (Luca Cignetti): «è consuetudine fare ricorso a tipi diversi di virgoletta, solitamente bassa per la prima citazione e alta per gli altri usi». POSIZIONE CONTRARIA, registrata: l'Accademia della Crusca («La punteggiatura», 16 luglio 2004) rifiuta di ordinare i due segni al primo livello — «Alte e basse si usano indifferentemente» — ma non tratta l'annidamento, quindi non c'è conflitto: la scelta del segno di primo livello è una variante permessa che questo file compie, l'ordine dei livelli è ciò che le altre due fonti stabiliscono. Consultati il 18.09.2026.

  • Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.1.7 «Virgolette»: «Le virgolette non richiedono spazio né in apertura né in chiusura» op.europa.eu

    Giustifica innerSpace = "none" su entrambe le coppie, ed è il punto che separa l'italiano dal francese. LETTURA DICHIARATA COME TALE: «né in apertura né in chiusura» va inteso come «né dal lato di apertura né dal lato di chiusura del testo racchiuso», cioè nessuno spazio interno; la lettura alternativa è impossibile, perché lo spazio fra la parola precedente e il segno di apertura non è facoltativo. La tabella del punto 6.4 disambiguerebbe la frase ma NON è invocata: il suo preambolo la qualifica come accordo interistituzionale adottato «a vantaggio di una convenzione comune» al posto dei codici tipografici nazionali divergenti, cioè prassi editoriale e non norma italiana — la stessa lettura già applicata in el.json. Conseguenza pratica: l'elisione italiana è al sicuro, perché dell'«amico» non richiede spazio interno. elisionIdioms resta vuoto: l'elisione italiana è un fenomeno clitico, non un idioma della forma {left, elided, right}. Consultati il 18.09.2026.

  • Accademia della Crusca, Consulenza linguistica : Vera Gheno, « L'articolo indeterminativo » (30 settembre 2002), sulla forma femminile « un' (nei casi in cui si userebbe l'articolo determinativo l', ma l'elisione non è obbligatoria) [...] va usata davanti a parole che iniziano per vocale » ; Raffaella Setti, « Elisione e troncamento nell'italiano contemporaneo » (14 marzo 2008) : con di l'elisione è spesso applicata e in alcuni casi obbligatoria (d'accordo, d'oro), mentre con mi, ti, la, vi, si « l'apostrofo è del tutto facoltativo » e « non c'è nessun obbligo di elidere, ma è opportuno valutare caso per caso » accademiadellacrusca.it

    Italian elision is not a closed set — the Accademia states in terms that it is optional and to be judged case by case — so this entry evidences membership per fragment, exactly as quotes.md §3.2 requires of each elisionIdioms triple, and not the completeness of the list. Three fragments are named literally and are all that is listed: l (definite article l'), un (feminine indefinite un' — Crusca is categorical that masculine un takes no apostrophe, and the mechanism cannot tell the two apart, which is harmless because it only ever declines a pairing), and d (di, with d'accordo and d'oro given as obligatory). dell, nell, all, sull and dall are deliberately absent, being unattested by the consulenze read here; under maximal-run matching an l entry does not cover dell'arte either way, since the run there is dell. after is empty: Italian has no enclitic written with an apostrophe. quotes.md §3.2's span-boundary elision veto (spec 1.4.0) reads this list only when the mark's other literal neighbour is modes.md §3.2's inline span boundary, so every entry is matched against the maximal LETTER run on one side of the mark and nothing else. The list is decline-only: the worst it can do is refuse a pairing quotes would otherwise have formed.

nbsp

  • BIPM, The International System of Units (SI), 9th ed. (2019), concise summary: «A single space is always left between the number and the unit» www.bipm.org

    Autorità per l'ELENCO delle unità, non per il legame: che lo spazio sia insecabile e che sia U+00A0 è deciso da nbsp.md §2.1, che una locale non può variare. Stessa impostazione di en-US, en-GB, fi e sv. L'elenco segue la forma prudente di fr e de-DE ed esclude deliberatamente i simboli di una sola lettera (m, g, l, s, A), che non si possono disambiguare senza contesto. La tabella del punto 6.4 del Manuale darebbe lo stesso risultato per «%» e «°C» ma non è invocata, per la ragione detta nella voce quotes. Consultati il 18.09.2026.

  • Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), punto 4.2.3, riquadro «Spazi vuoti protetti»: «Consentono di evitare la troncatura a fine riga di elementi che devono rimanere uniti»; «Da usare solo nei casi seguenti […]: n.• JO L• 10•000 / pag.• JO C• C.•M. Dupont», dove «•» indica lo spazio fisso op.europa.eu

    INFERENZA DICHIARATA, accettata per decisione dell'operatore il 18.09.2026, non citazione piena — ed è esattamente la distinzione che questo campo esiste per non far sparire. I riquadri «Virgolette» e «Trattini» dello stesso punto 4.2.3 dicono «Nella lingua italiana» e «In italiano»: questo riquadro NON lo dice, ed è in parte non adattato, poiché «JO L» e «JO C» sono il Journal officiel francese e «Dupont» è un cognome francese, in un'edizione italiana il cui testo originale era in francese. Ciò che l'italiano c'è davvero: «pag.» è italiano (il francese scrive «p.») e «n.» è uso italiano corrente, quindi il riquadro è stato localizzato almeno in parte — su questo poggia beforeNumber. La sequenza «C.•M. Dupont» non contiene invece alcun materiale italiano, e initialBinding resta perciò "none", il valore pulito da citazione. Nessuna tolleranza di caso: N9 non ne ha, e sono stampate solo le forme minuscole «n.» e «pag.». «10•000» è raggruppamento delle migliaia e «JO L•» una serie della Gazzetta ufficiale: nessuno dei due è esprimibile in questo schema. Consultati il 18.09.2026.

  • Nessuna fonte normativa italiana esaminata prescrive uno spazio prima di un segno d'interpunzione, né un legame per abbreviazioni con spazio interno, simboli o parole seguenti; liste deliberatamente vuote

    beforePunctuation e narrowBeforePunctuation sono vuote, e va detto con esattezza su che cosa poggiano: sull'ASSENZA di una fonte italiana che richieda quello spazio, NON su una fonte che lo neghi. A differenza del capitolo greco, che respinge la prassi francese nominandola, la Parte quarta italiana non la nomina mai: i punti 10.1.3 e 10.1.4 descrivono la funzione dei segni e tacciono sulla spaziatura. Il vincolo Q-P rende comunque la lista vuota la scelta strutturalmente sicura. afterShortWords, abbreviations, beforeWord e afterSymbols sono vuote per la stessa ragione: nessuna fonte esaminata le attesta per l'italiano. SEGNALAZIONE ALL'OPERATORE, non risolta qui: la Parte quarta si apre, al punto 10.1, con «Per la spaziatura dei segni d'interpunzione, cfr. punto 6.4», cioè il capitolo squalificato come prassi editoriale in el.json; se quel rinvio si leggesse come un'adozione, la tabella diventerebbe evidenza italiana e rafforzerebbe queste liste vuote. Consultati il 18.09.2026.

Already using polytypo? Add our badge

Two lines: a script tag and a span. No per-embed network call. Pick a language and a theme, then copy the code into your footer or credits. Embedding notes cover Content Security Policy. Sites with the badge are listed on Sites using polytypo.

<script async src="https://polytypo.dev/badge.js"></script>
<span data-polytypo-lang="en" data-polytypo-theme="light"></span>

Search runs in your browser. Nothing is sent anywhere.