Przejdź do treści

Encje HTML — kodowanie i dekodowanie (< & ")

Zamień znaki specjalne na encje HTML (< → &lt;), żeby bezpiecznie wstawić kod lub tekst na stronę — i odwrotnie, odkoduj encje do zwykłego tekstu. Opcjonalnie zamiana wszystkich znaków spoza ASCII.

Umieść to narzędzie na swojej stronie

Bezpłatnie, bez rejestracji. Widżet pokazuje na dole napis „Narzędzie udostępnia AMKBIT.pl”.

Po co kodować znaki

W HTML znaki <, > i & mają specjalne znaczenie — rozpoczynają znaczniki i encje. Jeśli chcesz pokazać na stronie fragment kodu albo tekst wpisany przez użytkownika, trzeba je zamienić na encje, inaczej przeglądarka potraktuje je jako kod.

ZnakEncjaKiedy konieczna
<&lt;zawsze w treści
>&gt;zalecana
&&amp;zawsze (także w adresach URL w atrybutach)
"&quot;w atrybutach w cudzysłowie
'&#39;w atrybutach w apostrofach
spacja nierozdzielająca&nbsp;np. „5&nbsp;kg”, żeby nie łamać linii

Bezpieczeństwo

Kodowanie danych od użytkowników przed wyświetleniem to podstawowa ochrona przed atakami XSS (wstrzyknięciem skryptu). W PHP służy do tego htmlspecialchars($tekst, ENT_QUOTES, 'UTF-8'), w JavaScript — ustawianie textContent zamiast innerHTML. Pamiętaj, że w atrybutach typu href, w kodzie JavaScript i CSS obowiązują dodatkowe zasady.

Polskie znaki

Na stronach w UTF-8 (z <meta charset="utf-8">) polskich liter nie trzeba kodować. Opcja kodowania znaków spoza ASCII przydaje się w starszych systemach, szablonach e-maili i plikach w nieznanym kodowaniu.

Przykłady

Fragment kodu

<p>5 < 7</p> → &lt;p&gt;5 &lt; 7&lt;/p&gt;.

Najczęstsze pytania

Czym różni się &amp;#261; od &amp;#x105;?

To ta sama litera „ą” zapisana kodem dziesiętnym (261) i szesnastkowym (105). Dekoder rozumie obie formy oraz encje nazwane.

Poradniki

Wynik ma charakter pomocniczy. Przy ważnych decyzjach (finansowych, technicznych, zdrowotnych) sprawdź go niezależnie. Zasady korzystania.