Locales

Hungarian typography rules · hu

Magyar

Hungarian sets primary quotation marks as „…” and secondary quotation marks as »…«. A break in a sentence is written with an en dash (U+2013) with a space on each side; number and date ranges take an en dash (U+2013) with no surrounding spaces. Numbers bind to units such as km kg kWh with U+00A0.

Updated · spec 1.12.0

Run polytypo with Hungarian rules

Edit the text and polytypo typesets it with the hu 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.

Hungarian typography at a glance #

Taghu
NameHungarian
Primary quotes„ U+201E double low-9 quotation mark … ” U+201D right double quotation mark
Secondary quotes» U+00BB right-pointing double angle quotation mark … « U+00AB left-pointing double angle quotation mark
Parenthetical dashspaced en dash
Range dashunspaced en dash
Rules with citationsquotes, dashes, ranges, ellipsis, hyphen, nbsp
Conformance cases30

Which locale tags resolve to Hungarian? #

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

Which quotation marks does Hungarian use? #

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

quotes

hu-quotes-primary
Azt mondta: "szia" és elment.
Azt mondta: „szia” és elment.
hu-quotes-not-german
„szia“
„szia”
hu-quotes-nested
"Ő azt mondta 'jó' volt"
„Ő azt mondta »jó« volt”

How are apostrophes set in Hungarian? #

apostrophe

hu-apostrophe-foreign-name
Ez a McDonald's
Ez a McDonald’s

Which dashes does Hungarian use for breaks and ranges? #

Parenthetical break (dash.parenthetical)an en dash (U+2013) with a space on each side
Between numbers and dates (dash.range)an en dash (U+2013) with no surrounding spaces

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

dashes

hu-dashes-parenthetical
Holnap - ha esik - elmegyünk.
Holnap – ha esik – elmegyünk.
hu-dashes-existing-em-dash
Holnap — ha esik — elmegyünk.
Holnap – ha esik – elmegyünk.

ranges

The ranges rule is off by default; these cases enable it with rules: { ranges: true }.

hu-ranges-years-and-pages
az 1983-1984. évi és az 1-4. osztályban
az 1983⁠–⁠1984. évi és az 1⁠–⁠4. osztályban

options: rules: {"ranges": true}

hu-ranges-spaced-input-tightened
1 - 4 oldal
1⁠–⁠4 oldal

options: rules: {"ranges": true}

How is the ellipsis set in Hungarian? #

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

ellipsis

hu-ellipsis-three-dots
Várj... mi?
Várj… mi?
hu-ellipsis-not-abbreviated
Tényleg?.. igen
Tényleg?… igen

How are hyphens handled in Hungarian? #

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

Where does Hungarian 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)a. m. i. sz. Kr. e. Kr. u. s. k. i. e.
Units and signs bound to the preceding number with U+00A0 (nbsp.beforeUnits)km kg kWh km/h °C
Abbreviations bound to the following number with U+00A0 (nbsp.beforeNumber)none
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

hu-spaces-brackets
Szöveg ( rendes ) marad .
Szöveg (rendes) marad.

nbsp

hu-nbsp-units
100 km, 1 kg, 10 kWh és 120 km/h
100 km, 1 kg, 10 kWh és 120 km/h
hu-nbsp-celsius
23 °C
23 °C
hu-nbsp-abbreviations
Kr. e. 44-ben, Kr. u. 2. században, i. sz. 3. század
Kr. e. 44-ben, Kr. u. 2. században, i. sz. 3. század

How are symbols set in Hungarian? #

symbols

hu-symbols-copyright
Copyright (c) 2026
Copyright © 2026

How does Hungarian 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
Megkérdezte: "Nem ez az a bolt, amit 'a sarki'-nak hívnak?" ... Mentünk -- majdnem 3 km-t -- és zárva volt. Copyright (c) 2026, 40x60 cm. say("a -- b ...")
Megkérdezte: „Nem ez az a bolt, amit »a sarki«-nak hívnak?” … Mentünk – majdnem 3 km-t – és zárva volt. Copyright © 2026, 40×60 cm. say(„a – b …”)
html
<p>Megkérdezte: "Nem ez az a bolt, amit 'a sarki'-nak hívnak?" ... Mentünk -- majdnem 3 km-t -- és zárva volt. Copyright (c) 2026, 40x60 cm.</p> <pre><code>say("a -- b ...")</code></pre>
<p>Megkérdezte: „Nem ez az a bolt, amit »a sarki«-nak hívnak?” … Mentünk – majdnem 3 km-t – és zárva volt. Copyright © 2026, 40×60 cm.</p> <pre><code>say("a -- b ...")</code></pre>
markdown
Megkérdezte: "Nem ez az a bolt, amit 'a sarki'-nak hívnak?" ... Mentünk -- majdnem 3 km-t -- és zárva volt. Copyright (c) 2026, 40x60 cm. `say("a -- b ...")`
Megkérdezte: „Nem ez az a bolt, amit »a sarki«-nak hívnak?” … Mentünk – majdnem 3 km-t – és zárva volt. Copyright © 2026, 40×60 cm. `say("a -- b ...")`

Which sources define Hungarian typography? #

7 citations in spec/locales/hu.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

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §240 b: «A kihagyást, a gondolat félbeszakítását jelölő három pont szóköz nélkül kapcsolódik az előtte álló szóhoz.»; §251 example: «…imádott / Jankóm…?» helyesiras.mta.hu

    abbreviatedAfterTerminal = false is the safe value, not a citation: AkH never prints a two-dot form after '?' or '!', and the only attested combination is an ellipsis followed by '?'. AkH has no explicit sentence on this, so MEDIUM. Verified 2026-10-21.

ranges

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §240 l: «A nagykötőjel tapad az előtte és az utána következő szóhoz vagy számjegyhez:»; §264 c: «Nagykötőjellel fűzzük egymáshoz az olyan szavakat, amelyek valamitől valameddig viszonyt érzékeltetnek, például: Budapest–Bécs, Rajna–Majna–Duna-csatorna; 1983–1984. évi, a 128–9. lapon, az 1–4. osztályban»; «Bonyolultabb esetekben a nagykötőjel nem tapadva is illeszkedhet a tagok közé, például: 2011. április 25. – 2012. május 13.» helyesiras.mta.hu

    Supports dash.range = en-tight: the tight en dash is the default and AkH ranks it; the spaced form is limited to complex members. Every spaced example has '.' or a letter on one side, so under ranges.md §3.2/§3.2a none is a range candidate and en-tight never respaces it. §240 l adds «Nem tapad a nagykötőjel, ha több szóból álló, bonyolultabb írásmódú szerkezeteket kapcsol össze» (mandatory spacing) where §264 c says the spaced form is optional; neither affects digit-flanked ranges. «a 128–9. lapon» (§264 c) has the shape (3,1) and is outside the candidates, so a typed `128-9.` keeps its hyphen. The ranges rule is off by default. Verified 2026-10-21.

dashes

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §240 g: «A gondolatjel mindig szóközzel kapcsolódik az előtte álló szó utolsó betűjéhez (vagy az előtte álló számjegyhez)», «a gondolatjel után is szóközt kell tenni»; §240 l: «A nagykötőjel középső helyzetű, és hosszúsága megegyezik a gondolatjel hosszúságával.»; §252: «Holnap – ha esik, ha fúj – elmegyünk kirándulni.» helyesiras.mta.hu

    Supports dash.parenthetical = en-spaced: a space on both sides is mandatory. The length (U+2013) is read from the printed glyph and from §240 l, which gives the gondolatjel the same length as the nagykötőjel; AkH never names the code point, so MEDIUM. Verified 2026-10-21.

hyphen

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §270: «Ha a szó már tartalmaz kötőjelet vagy nagykötőjelet, ezeknél az írásjeleknél is elválaszthatjuk a szót» («tűzzel- / vassal, Dumas- / nak, a MÁV- / ot.») helyesiras.mta.hu

    All three lists are empty. Breaking at a hyphen or nagykötőjel is explicitly permitted, and AkH gives no closed list of unbreakable forms. Verified 2026-10-21.

quotes

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §240 j: «Az idézőjel lehet: „ ” (macskaköröm) vagy » « (lúdlábidézőjel).»; «Az első idézőjel az alapforma, a második általában idézeten belüli idézőjel»; §257: «Ha az idézőjelbe tett mondaton belül még egy idézőjelre van szükség, lúdlábidézőjelet használunk:» («Szemében »mesterségem« / Most is nagy szálka még.»); §275: «Hiányjel vagy aposztróf. Például: hál’ istennek!; ’95 (= 1995)» helyesiras.mta.hu

    Primary: U+201E open, U+201D close. AkH describes the marks by name and position only; U+201D (not U+201C) is read from the character in the online text, so the closing code point is MEDIUM-HIGH confidence. Secondary: U+00BB open, U+00AB close (»…«, the reverse of ro's «…»), for a quote inside a quote. innerSpace none is read from the printed examples (§257 «Szemében »mesterségem«», the marks attached to the enclosed words), not from a stated rule, so MEDIUM. AkH12 has no third level. Q-W: both pairs WIDE. elisionIdioms and elisionClitics are empty: the attested apostrophe uses (hál’, ’95) are neither a closed set nor the shape of elisionClitics. Verified 2026-10-21.

nbsp

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §240 c: «A kérdőjel előtt nincs szóköz, tehát tapad az őt megelőző szó utolsó betűjéhez vagy más írásjelhez»; §277 a: «A különírt szavakból álló szókapcsolatok rövidítése általában annyi (ponttal elkülönített) tagot tartalmaz» — «a. m. (= annyi mint), i. sz. (= időszámításunk szerint), Kr. e. (= Krisztus előtt), s. k. (= saját kezűleg)»; §284 table: «Kr. u.», «i. e.»; §275: «A paragrafus jele. Például: 4. §» helyesiras.mta.hu

    (1) beforePunctuation and narrowBeforePunctuation are empty: §240 c states that no space precedes «?», and the same is stated for the period and the comma; «!», «:» and «;» are not separately verified, and the empty list changes nothing. (2) abbreviations: the six forms are attested with an internal space; AkH says nothing about line breaks, so this rests on form evidence alone, the same footing as sk's «t. j.». (3) afterSymbols is empty: AkH writes '4. §' with the number first. (4) afterShortWords, beforeNumber and beforeWord are empty and initialBinding = none: no source; AkH12 has no rule on personal-name initials (Hungarian puts them after the surname). Decision, not citation. Verified 2026-10-21.

  • Magyar Tudományos Akadémia, A magyar helyesírás szabályai, 12. kiadás (AkH12), §279 c: «A mértékegységnek a jelét szóköz választja el az előtte levő számtól, például: 100 km, 1 kg, 10 kWh, 120 km/h, 220 W.»; §275: «Fokjel. Például: 45°; 23 °C», «A százalék jele. Például: 48%» helyesiras.mta.hu

    beforeUnits = km, kg, kWh, km/h, °C, each attested with a space in §279 c or §275. '%' is deliberately absent: AkH prints 48% without a space; geometric 45° is likewise unspaced. Single-letter symbols are excluded by decision, not by citation: §279 c itself writes «220 W» with a space, but `s` is a Hungarian conjunction and a list of single letters would be a derivation (as in sk and ro). 'Ft' is omitted: it is a currency abbreviation attested only by example (§290), so it ships unverified-empty. Verified 2026-10-21.

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.