Preskočiť na obsah

HTML entity enkodér a dekodér

Vložte text alebo HTML kód a hneď uvidíte jeho podobu s entitami. Funguje to aj naopak: z <p> alebo   dostanete späť pôvodné znaky.

Text sa nikam neodosiela, všetko sa spracúva vo vašom prehliadači.

Ako používať HTML entity enkodér

  1. 1 Vyberte smer. Zakódovať zmení znaky na entity, Dekódovať prevedie entity späť na znaky.
  2. 2 Napíšte alebo vložte text. Výsledok sa zobrazuje priebežne, nič netreba potvrdzovať.
  3. 3 Pri kódovaní si zvoľte, či sa majú zmeniť len znaky <, >, &, " a ', alebo aj diakritika a symboly, a v akom formáte majú byť entity.
  4. 4 Výsledok skopírujte tlačidlom Kopírovať. Tlačidlom Prehodiť ho presuniete do vstupu a overíte, že sa dá previesť späť.

Čo nástroj zvládne

  • dekóduje všetky pomenované entity z HTML5, ktorých je vyše 2 000, aj číselné entity, presne tak ako prehliadač
  • správne prevedie aj emoji, napríklad &#128512; na 😀
  • upozorní, keď text už entity obsahuje alebo bol zakódovaný dvakrát, a opravu ponúkne jedným kliknutím
  • pri kódovaní ponúka pomenované, desiatkové aj šestnástkové entity
  • zalomenia riadkov, tabulátory a ostatný text nechá bez zmeny
  • všetko spracúva priamo vo vašom prehliadači, nič sa neodosiela na server

Čo sú HTML entity

HTML entita je zápis znaku pomocou bežných písmen a číslic. Začína znakom & a končí bodkočiarkou: &lt; znamená znak < a &copy; znak ©. Entity potrebujete hlavne pri znakoch, ktoré majú v HTML vlastný význam. Keby ste do stránky napísali <b> priamo, prehliadač by ho považoval za značku a nasledujúci text by zobrazil tučne. Zápis &lt;b&gt; sa naopak zobrazí presne ako <b>.

Z čoho sa entita skladá
& začiatok entity
copy názov alebo číslo znaku
; koniec entity
= ©

Aký je rozdiel medzi HTML entitou a Unicode?

Unicode je celosvetová tabuľka znakov, v ktorej má každý znak svoje číslo, napríklad © má číslo 169 (U+00A9). HTML entita je len spôsob, ako taký znak zapísať do HTML kódu. Číselná entita &#169; priamo obsahuje číslo z Unicode, pomenovaná &copy; je jeho čitateľná skratka. Na stránke v UTF-8 môžete znak napísať aj priamo, výsledok je rovnaký.

Ktoré znaky treba v HTML nahradiť entitou

Na stránke v kódovaní UTF-8 musíte nahradiť len päť znakov. Ostatné, vrátane diakritiky, môžete písať priamo. Prvý z nich, &, sa volá ampersand. Vznikol spojením písmen latinského slova et, teda „a“.

Znak Entita Kedy ho nahradiť
& &amp; Vždy. Inak sa text za ním môže prečítať ako entita, napríklad &copy=2 sa v texte stránky zobrazí ako ©=2.
< &lt; Vždy v texte. Prehliadač by ho považoval za začiatok značky.
> &gt; Nie je to povinné, ale nahrádza sa spolu so znakom <, aby sa kód dal čítať.
" &quot; V hodnote atribútu v úvodzovkách, napríklad title="...".
' &#39; V hodnote atribútu v apostrofoch, napríklad title='...'.

Práve týchto päť znakov nahrádza funkcia htmlspecialchars v PHP a automatické kódovanie v šablónach Blade, Twig či React.

Pomenované, desiatkové a šestnástkové entity

Ten istý znak sa dá zapísať tromi spôsobmi. Prehliadač ich zobrazí rovnako, líšia sa len zápisom.

  • Pomenovaná entita ako &copy; sa ľahko číta, ale vlastný názov má len časť znakov.
  • Desiatková entita &#169; obsahuje číslo znaku v Unicode a funguje pre každý znak, aj pre emoji.
  • Šestnástková entita &#xA9; je to isté číslo v šestnástkovej sústave, v ktorej sa Unicode bežne uvádza, napríklad U+00A9.
Znak Pomenovaná Desiatková Šestnástková
© &copy; &#169; &#xA9;
→ &rarr; &#8594; &#x2192;
č &ccaron; &#269; &#x10D;
😀 bez názvu &#128512; &#x1F600;

Pri názvoch entít záleží na veľkosti písmen: &Ccaron; je veľké Č, &ccaron; malé č.

Zoznam HTML entít a špeciálnych znakov

Najpoužívanejšie entity rozdelené do skupín. Kliknutím na entitu ju skopírujete. Hľadať môžete podľa názvu, popisu, samotného znaku aj podľa čísla, napríklad 8226.

Znak Pomenovaná Desiatková
ampersand (a)
menší ako
väčší ako
úvodzovky
apostrof
nedeliteľná medzera
podmienené delenie slova
medzera šírky písmena n
medzera šírky písmena m
úzka medzera
bez názvu úzka nedeliteľná medzera
medzera s nulovou šírkou

Znaky bez názvu, napríklad ✔ alebo emoji, zapíšete len číselnou entitou. Stĺpec CSS obsahuje zápis pre vlastnosť content, viac nájdete v časti o CSS a JavaScripte.

Ako spraviť odrážky v HTML?

Na zoznam s odrážkami použite značky <ul> a <li>. Prehliadač odrážky doplní sám a ich tvar zmeníte v CSS, napríklad list-style-type: square pre štvorčeky alebo list-style-type: "✓ " pre fajky. Entitu &bull; použite len vtedy, keď odrážku potrebujete vnútri riadka, napríklad v pätičke Kontakt &bull; Ochrana súkromia.

Ako napísať šípku v HTML, v CSS a na klávesnici

Najpoužívanejšie šípky a trojuholníky a všetky spôsoby, ako ich zapísať. Kód v stĺpci Word napíšte do dokumentu a hneď za ním stlačte Alt+X, Word ho zmení na znak.

Znak HTML Windows Word
← &larr; Alt+27 2190
→ &rarr; Alt+26 2192
↑ &uarr; Alt+24 2191
↓ &darr; Alt+25 2193
↔ &harr; Alt+29 2194
▲ &#9650; Alt+30 25B2
▼ &#9660; Alt+31 25BC
⇒ &rArr; 21D2

Alt kód píšte so stlačeným ľavým Altom na numerickej klávesnici, číslice nad písmenami nefungujú. Word navyše sám mení --> na →, <-- na ← a ==> na ⇒. Trojuholníky ▲ a ▼ vlastný názov entity nemajú, preto ich zapíšte číselne.

Ako napísať ©, ® a ™

Znaky copyright, registrovaná ochranná známka a ochranná známka sa najčastejšie píšu do pätičky webu. Takto ich napíšete v HTML aj v bežných programoch:

Znak HTML Windows Mac Word
© HTML: &copy; Windows: Alt+0169 Mac: Option+G Word: (c)
® HTML: &reg; Windows: Alt+0174 Mac: Option+R Word: (r)
™ HTML: &trade; Windows: Alt+0153 Mac: Option+2 Word: (tm)

Skratky pre Mac platia pre anglické rozloženie klávesnice. Pri inom rozložení otvorte prehliadač znakov skratkou Ctrl+Cmd+medzerník a znak vyhľadajte. Vo Worde sa (c), (r) a (tm) zmenia na symbol automaticky. Do pätičky webu stačí napísať napríklad &copy; 2026 Názov firmy.

Ako napísať symbol, ktorý nie je na klávesnici

Ak symbol potrebujete vložiť do bežného textu, nie do HTML kódu, entitu nepotrebujete. Vo Windows 10 a 11 otvoríte panel so symbolmi a emoji skratkou Win+bodka, na Macu skratkou Ctrl+Cmd+medzerník. Symbol môžete aj skopírovať zo zoznamu vyššie.

Nedeliteľná medzera &nbsp;

Nedeliteľná medzera vyzerá ako obyčajná, ale prehliadač na nej nezalomí riadok. V slovenčine sa používa najmä tam, kde by zalomenie pôsobilo ako chyba:

v&nbsp;Bratislave
jednopísmenové predložky a spojky a, i, k, o, s, u, v, z nemajú zostať na konci riadka
10&nbsp;%
číslo a jednotka, percentá či mena, napríklad 25 °C, 5 kg alebo 100 €
Ing.&nbsp;Novák
tituly a skratky, napríklad Ing. Novák alebo s. r. o.
1.&nbsp;januára
dátumy a radové číslovky
10&nbsp;000
medzera oddeľujúca tisíce

Na dlhé slová v úzkych stĺpcoch sa zase hodí &shy;, podmienené delenie: prehliadač na tom mieste rozdelí slovo a pridá spojovník len vtedy, keď sa slovo do riadka nezmestí.

Ako vložiť nedeliteľnú medzeru vo Worde, v Exceli či na Macu

Word vo Windows
Ctrl+Shift+medzerník
Excel, PowerPoint a ďalšie programy vo Windows
Alt+0160 na numerickej klávesnici
Mac
Option+medzerník vo väčšine programov
Dokumenty Google
Vložiť, potom Špeciálne znaky a vyhľadajte „no-break space“
Kdekoľvek
skopírujte ju zo zoznamu HTML entít vyššie kliknutím na znak

Prečo sa mi v správe zobrazuje &nbsp;?

Ak vám v e-maile, SMS alebo v aplikácii prišiel text s „&nbsp;“, nejde o skratku ani o skrytý odkaz. Odosielateľ alebo aplikácia skopírovali text z webovej stránky a entitu nedeliteľnej medzery nepreviedli na znak. Na jej mieste mala byť obyčajná medzera. Rovnako sa môže objaviť &amp; namiesto znaku & alebo &quot; namiesto úvodzoviek. Ak chcete čistý text, vložte ho do nástroja vyššie a zvoľte Dekódovať.

Ako spraviť viac medzier v HTML

Prehliadač zlúči niekoľko medzier, tabulátorov a zalomení riadkov za sebou do jednej medzery. Preto na stránke nevidno, koľko medzier ste napísali do kódu. Podľa toho, čo potrebujete, máte tieto možnosti:

Ján&nbsp;&nbsp;Novák
jedna či dve nedeliteľné medzery medzi slovami, ktoré sa nezlúčia
a&emsp;b
širšia medzera, &ensp; má šírku písmena n a &emsp; šírku písmena m
p { text-indent: 2em; }
odsadenie prvého riadka odseku namiesto radu entít &nbsp;
.ikona { margin-right: 0.5rem; }
medzera medzi prvkami, napríklad medzi ikonou a textom
.kod { white-space: pre-wrap; }
zachová medzery a zalomenia presne tak, ako sú v texte

Odsadzovať či zarovnávať text radom entít &nbsp; sa neoplatí: na inej šírke obrazovky sa rozloženie rozpadne. Na rozloženie stránky slúži CSS.

Ako spraviť nový riadok a medzeru medzi riadkami v HTML

Zalomenie riadka v kóde zobrazí prehliadač ako obyčajnú medzeru, rovnako ako entitu &#10;. Nový riadok a väčšie medzery preto robíte inak:

Prvý riadok<br>Druhý riadok
nový riadok v rámci jedného odseku, napríklad v adrese
<p>Odsek</p>
nový odsek, prehliadač pred ním a za ním pridá medzeru
p { line-height: 1.6; }
výška riadka, teda medzera medzi riadkami v odseku
p { margin-bottom: 1.5em; }
medzera medzi odsekmi
.adresa { white-space: pre-line; }
zachová zalomenia riadkov z textu, napríklad z formulára

Entita &#10; vytvorí nový riadok len tam, kde sa zalomenia zachovávajú: v značkách <textarea> a <pre> alebo v atribúte title, kde z nej vznikne dvojriadková bublina. Ak hľadáte symbol klávesu Enter, je to ↵ (&crarr;) alebo ⏎ (&#9166;).

Potrebujem entity pre diakritiku?

Nie, ak má stránka kódovanie UTF-8, čo je dnes štandard. Stačí, aby v hlavičke bolo <meta charset="utf-8">, a písmená ako č, ľ, ô či ř píšete priamo. Číselné zápisy ako &#269; sa používali v časoch kódovaní ISO-8859-2 a Windows-1250, keď sa diakritika na inom počítači ľahko zmenila na nezmyselné znaky. Dnes sa hodia len výnimočne, napríklad pre systém, ktorý nevie spracovať UTF-8, alebo keď chcete mať v zdrojovom kóde iba znaky ASCII. Na to slúži voľba Kódovať aj diakritiku a symboly.

Diakritika sa na webe zobrazuje zle

Keď sa namiesto textu „Veľká ťava“ zobrazujú čudné znaky, takmer vždy ide o nesúlad kódovania. Podľa toho, čo presne vidíte, zistíte, kde je chyba:

Čo vidíte Čo sa stalo Ako to opraviť
Veľká Å¥ava Text je v UTF-8, ale prehliadač ho číta v západoeurópskom kódovaní Windows-1252 alebo ISO-8859-1. Ako to opraviť: Do hlavičky stránky pridajte <meta charset="utf-8"> a skontrolujte, či server v hlavičke Content-Type neposiela iné kódovanie.
VeÄľká ĹĄava Text je v UTF-8, ale číta sa v stredoeurópskom kódovaní Windows-1250, ktoré používali staršie české a slovenské programy. Ako to opraviť: Rovnako ako vyššie: <meta charset="utf-8"> a správna hlavička Content-Type zo servera.
Ve�k� �ava Súbor je uložený v staršom kódovaní Windows-1250, ale stránka tvrdí, že je v UTF-8. Písmená s diakritikou sa preto zmenia na znak �. Ako to opraviť: Súbor uložte znova v kódovaní UTF-8. Vo VS Code túto voľbu nájdete v stavovom riadku, v Poznámkovom bloku v okne Uložiť ako.
Ve?ká ?ava Písmená sa stratili už pri ukladaní, napríklad do databázy v kódovaní latin1, ktoré ich nepozná. Otázniky sú uložené natrvalo. Ako to opraviť: Databázu, tabuľky aj pripojenie prepnite na utf8mb4 a text uložte znova. Pôvodné písmená sa z otáznikov obnoviť nedajú.

Ak namiesto písmena vidíte priamo kód ako &#269; alebo &scaron;, nejde o kódovanie, ale o dvojité zakódovanie entít. Riešenie nájdete v časti o častých chybách.

HTML entity a bezpečnosť (XSS)

Nahradenie znakov <, >, &, " a ' je základná ochrana pred útokom XSS, pri ktorom útočník vloží do stránky vlastný skript. Keď sa vstup <script> zobrazí ako &lt;script&gt;, prehliadač ho len vypíše a nespustí. Má to však svoje hranice:

  • Entity chránia len v texte stránky a v atribútoch, ktorých hodnota je v úvodzovkách. Atribút bez úvodzoviek, napríklad title=hodnota, sa dá prelomiť aj obyčajnou medzerou.
  • Nechránia v JavaScripte, v CSS ani v adrese odkazu. Odkaz javascript:alert(1) neobsahuje nič, čo by sa kódovalo, a predsa spustí kód. Adresy z používateľského vstupu preto kontrolujte zvlášť.
  • V atribútoch udalostí, napríklad onclick, prehliadač entity dekóduje ešte pred spustením kódu, takže tam pred útokom nechránia.
  • Kódujte až pri výpise do HTML, nie pri ukladaní do databázy. Inak sa ľahko stane, že text zakódujete dvakrát.
  • Najbezpečnejšie je nechať kódovanie na šablónovací systém, ktorý to robí automaticky, napríklad Blade, Twig, React alebo Vue.

HTML entity v CSS a JavaScripte

Entity fungujú len v HTML. V CSS a v reťazcoch JavaScriptu sa ten istý znak zapisuje inak, zápis &rarr; by sa tam zobrazil doslova. Takto vyzerá šípka → v jednotlivých jazykoch:

HTML
<span>&rarr;</span>  alebo  <span>&#8594;</span>
CSS
.dalej::after { content: "\2192"; }
JavaScript
element.textContent = "\u2192";
JavaScript (emoji)
element.textContent = "\u{1F600}";

Zápis pre CSS nájdete pri každej entite v zozname vyššie. Ak za kódom v CSS nasleduje ďalšie písmeno od a po f alebo číslica, oddeľte ich medzerou, inak sa prečítajú ako súčasť kódu.

Fungujú HTML entity v Reacte a v Markdowne?

V Reacte entity v texte JSX fungujú, <p>&copy; 2026</p> zobrazí ©. V reťazci v zložených zátvorkách však nie: {'&copy;'} sa vypíše doslova. Tam napíšte priamo znak alebo jeho zápis v JavaScripte, napríklad {'\u00A9'}.

V Markdowne entity fungujú, lebo Markdown prepúšťa HTML: &copy; sa zobrazí ako ©. V bloku kódu sa však vypíšu doslova, čo sa hodí, keď entitu chcete ukázať. Rovnako to platí na GitHube aj v ďalších editoroch Markdownu.

HTML entity v PHP, JavaScripte a Pythone

Vo väčšine jazykov netreba na kódovanie entít písať vlastný kód. Takto to vyzerá v najpoužívanejších:

PHP

$text = 'Tom & Jerry <3';

echo htmlspecialchars($text, ENT_QUOTES | ENT_HTML5, 'UTF-8');
// Tom &amp; Jerry &lt;3

echo html_entity_decode('&lt;p&gt;&copy; 2026&lt;/p&gt;', ENT_QUOTES | ENT_HTML5, 'UTF-8');
// <p>© 2026</p>

Funkcia htmlspecialchars kóduje len päť špeciálnych znakov, htmlentities aj diakritiku. S príznakom ENT_HTML5 zapíše apostrof ako &apos;, bez neho ako &#039;.

Ktorú funkciu v PHP použiť

htmlspecialchars()
zakóduje päť špeciálnych znakov, na bezpečný výpis do HTML to stačí
htmlentities()
zakóduje všetko, čo má pomenovanú entitu, vrátane diakritiky, na stránke v UTF-8 to netreba
htmlspecialchars_decode()
dekóduje späť len tých päť špeciálnych znakov
html_entity_decode()
dekóduje všetky entity, pomenované aj číselné

Od PHP 8.1 kódujú obe funkcie predvolene aj apostrof a neplatné znaky UTF-8 nahradia znakom �. V starších verziách zadajte príznaky ENT_QUOTES | ENT_SUBSTITUTE ručne.

Časté chyby pri HTML entitách

Na stránke vidno &amp; alebo &quot;

Text sa zakódoval dvakrát, napríklad pri ukladaní a znova pri výpise. Z & vzniklo &amp; a z neho &amp;amp;. Nástroj takýto text spozná a ponúkne tlačidlo Dekódovať ešte raz. Natrvalo to vyriešite tak, že budete kódovať len na jednom mieste, pri výpise.

Chýbajúca bodkočiarka

Niektoré staršie entity prehliadač rozpozná aj bez bodkočiarky. Text ?id=1&copy=2 sa preto na stránke zobrazí ako ?id=1©=2. Znak & v texte aj v odkazoch preto zapisujte ako &amp;.

Entita &apos; v starších prehliadačoch

Entitu &apos; pozná HTML5 a XML, v HTML 4 však neexistovala a napríklad Internet Explorer 8 ju nezobrazil. Bezpečnejší je zápis &#39;, ktorý nástroj používa.

Entity v adrese URL

Medzery a diakritiku v adrese nenahrádzajte entitami, ale percentovým kódovaním, napríklad %20. Na to slúži URL enkodér. Ak však odkaz s viacerými parametrami píšete do atribútu href, znak & medzi nimi zapíšte ako &amp;.

Entity v JSON a JavaScripte

V JSON ani v reťazcoch JavaScriptu sa entity neprevádzajú. Ak API vráti &quot; namiesto úvodzoviek, text bol zakódovaný pre HTML príliš skoro. Dekódujte ho a kódujte až pri výpise do stránky.

Neviditeľná nedeliteľná medzera

Text skopírovaný z Wordu alebo zo stránky môže obsahovať znak U+00A0. Vyzerá ako medzera, ale vyhľadávanie či kontrola formulára ho za medzeru nepovažuje. Zakódujte text s voľbou Kódovať aj diakritiku a symboly a každú takú medzeru uvidíte ako &nbsp;.

FAQ

Čo je HTML entita?

HTML entita je zápis znaku, ktorý začína znakom & a končí bodkočiarkou, napríklad &lt; pre znak < alebo &copy; pre ©. Používa sa pre znaky, ktoré majú v HTML osobitný význam, a pre znaky, ktoré sa nedajú ľahko napísať na klávesnici.

Ako napísať znak < alebo > do HTML?

Znak < zapíšte ako &lt; a znak > ako &gt;. Prehliadač ich potom zobrazí ako text a nebude ich považovať za začiatok či koniec značky.

Čo znamená &nbsp; v HTML?

&nbsp; je nedeliteľná medzera. Vyzerá ako bežná medzera, ale riadok sa na nej nezalomí. V slovenčine ju použijete napríklad za jednopísmenovými predložkami (v&nbsp;meste) alebo medzi číslom a jednotkou (10&nbsp;%).

Aký je rozdiel medzi pomenovanou a číselnou entitou?

Pomenovaná entita používa názov, napríklad &euro;. Číselná obsahuje číslo znaku v Unicode, buď desiatkovo &#8364;, alebo šestnástkovo &#x20AC;. Prehliadač zobrazí všetky tri rovnako, ale číselnú entitu má každý znak, pomenovanú len niektoré.

Ako zapísať šípku, fajku alebo hviezdičku v HTML?

Šípka doprava je &rarr;, fajka &check; a plná hviezdička &starf;. Hrubá fajka ✔ vlastný názov nemá, zapíšete ju ako &#10004;. Ďalšie nájdete v zozname HTML entít na tejto stránke, kde ich skopírujete jedným kliknutím.

Musím v HTML kódovať diakritiku?

Nemusíte, ak má stránka kódovanie UTF-8 a v hlavičke <meta charset="utf-8">. Písmená ako č, š, ž či ô potom píšete priamo. Entity pre diakritiku sa hodia len pre systémy, ktoré UTF-8 nepodporujú.

Prečo nástroj zapisuje apostrof ako &#39; a nie &apos;?

Entita &apos; v HTML 4 neexistovala, takže ju staršie prehliadače, napríklad Internet Explorer 8, nezobrazili. Zápis &#39; funguje všade. PHP pri predvolených nastaveniach používa ten istý číselný zápis v tvare &#039;.

Ako použiť HTML entitu v CSS vo vlastnosti content?

V CSS entity nefungujú. Znak zapíšete pomocou spätnej lomky a jeho kódu v šestnástkovej sústave, napríklad šípku ako content: "\2192";. Kód pre CSS nájdete pri každej entite v zozname na tejto stránke.

Chráni kódovanie HTML entít pred XSS?

Áno, ak text vkladáte do obsahu stránky alebo do atribútu v úvodzovkách. Nechráni však v JavaScripte, v CSS ani v adresách odkazov. Najlepšie je nechať kódovanie na šablónovací systém, ktorý to robí automaticky.

Prečo sa mi na stránke zobrazuje &amp; alebo &quot;?

Text bol zakódovaný dvakrát. Vložte ho do nástroja, zvoľte Dekódovať a ak vo výsledku ostanú entity, kliknite na Dekódovať ešte raz. V kóde potom nájdite miesto, kde sa text kóduje navyše.

Čo znamená &#39;, &#8226; alebo &#160;?

Sú to číselné entity. Číslo udáva poradie znaku v Unicode: &#39; je apostrof ', &#8226; odrážka • a &#160; nedeliteľná medzera. Ďalšie čísla nájdete v zozname HTML entít na tejto stránke, stačí číslo napísať do vyhľadávania. Celý text s entitami zase prevediete v dekodéri.

Ako spraviť viac medzier v HTML?

Prehliadač viac medzier za sebou zlúči do jednej. Medzi slová preto vložte nedeliteľnú medzeru, napríklad slovo&nbsp;&nbsp;slovo. Na odsadenie odseku a medzery medzi prvkami stránky však použite CSS, napríklad text-indent alebo margin.

Odosielajú sa moje texty na server?

Nie. Kódovanie aj dekódovanie prebieha priamo vo vašom prehliadači, text nikam neodchádza.