Utilia

Koder i dekoder encji HTML

Zamieniaj znaki specjalne na encje HTML (nazwane, dziesiętne lub hex) albo dekoduj dowolne encje z pełną listą 2231 nazwanych odwołań HTML5.

Opcje kodowania

Jak kodować i dekodować encje HTML

  1. Wklej tekst lub kod HTML w pole wejściowe.
  2. Aby go zakodować (escape), wybierz znaki do zamiany: Tylko & < > " ' lub Także każdy znak spoza ASCII, a następnie Format encji: Nazwane (&eacute;), Dziesiętne (&#233;) lub Szesnastkowe (&#xE9;).
  3. Kliknij Koduj albo Dekoduj, aby zamienić encje z powrotem na znaki.
  4. Sprawdź licznik w wierszu stanu i kliknij Kopiuj. Przycisk Użyj wyniku jako danych wejściowych przenosi wynik do pola wejściowego, np. aby sprawdzić konwersję w obie strony.

Kodowanie: kiedy i co zamieniać

W HTML pięć znaków może zostać wziętych za znaczniki. Opcja Tylko & < > " ' zamienia dokładnie te znaki: & na &amp;, < na &lt;, > na &gt;, " na &quot;, a ' na &#39;. Tego potrzebujesz, by pokazać kod na stronie internetowej, umieścić tekst użytkownika w atrybucie albo wkleić fragment do wpisu na blogu lub pola CMS, które oczekuje HTML. Apostrof ma postać liczbową, bo encja &apos; nie istniała w HTML 4 i niektóre starsze parsery jej nie znają.

Opcja Także każdy znak spoza ASCII dodatkowo zamienia wszystko spoza drukowalnego ASCII: litery z polskimi znakami diakrytycznymi (ą, ę, ł, ż…), typograficzne cudzysłowy „…”, znak euro, twarde spacje, emoji itd. Wynik to czyste ASCII, co przydaje się w systemach psujących UTF-8, w szablonach e-maili albo gdy chcesz uwidocznić w kodzie źródłowym niewidoczne znaki, takie jak &nbsp;.

Format encji decyduje o sposobie zapisu znaków:

  • Nazwane (&eacute;) używa czytelnej nazwy, gdy HTML ją definiuje (&eacute;, &euro;, &hellip;, &oacute;), a gdy znak ma kilka nazw – preferuje klasyczną z HTML 4. Polskie litery też mają nazwy HTML5 (&aogon; dla ą, &lstrok; dla ł). Znaki bez nazwy, np. emoji, są zapisywane dziesiętnie.
  • Dziesiętne (&#233;) zapisuje punkt kodowy Unicode w systemie dziesiętnym.
  • Szesnastkowe (&#xE9;) zapisuje go w systemie szesnastkowym, zgodnie z notacją U+00E9 z tablic Unicode.

Wszystkie trzy formaty rozumie każda przeglądarka. Znaki spoza podstawowej płaszczyzny wielojęzycznej (BMP), np. 😀, są kodowane jako jedno odwołanie do pełnego punktu kodowego (&#128512;), a nie jako dwie połówki surogatu.

Dekodowanie: zasady HTML5

Dekoduj stosuje zasady, których przeglądarki używają przy odczycie treści tekstowej, z pełną listą 2231 nazwanych odwołań do znaków ze standardu HTML Living Standard:

  • odwołania nazwane, takie jak &eacute;, &rarr; czy &NotEqualTilde; (niektóre dają dwa punkty kodowe);
  • odwołania dziesiętne (&#233;) i szesnastkowe (&#xE9; lub &#XE9;), ze średnikiem na końcu lub bez;
  • dawne nazwy, które przeglądarki akceptują bez średnika, np. &copy 2026 czy &amp – i, tak jak w przeglądarkach, &notit; staje się ¬it;, bo &not jest właśnie taką dawną nazwą;
  • odwołania liczbowe z zakresu 128–159 są mapowane na znaki Windows-1252, które pokazują przeglądarki (&#150; daje półpauzę), a &#0;, surogaty i wartości powyżej U+10FFFF stają się znakiem zastępczym �.

Nieznane nazwy, takie jak &foo;, pozostają bez zmian i są liczone w wierszu stanu. Dekodowanie wykonuje własny parser narzędzia, a nie wstawianie tekstu do strony, więc żadne znaczniki ani skrypty z danych wejściowych nigdy nie są interpretowane.

Najczęściej zadawane pytania

Czy muszę kodować polskie znaki?

Zazwyczaj nie. Strona serwowana w UTF-8 może zawierać ą, ż czy € bezpośrednio. Kodowanie znaków spoza ASCII jest potrzebne tylko wtedy, gdy plik lub system pośredniczący nie obsługuje UTF-8.

Dlaczego &amp;amp; dekoduje się do &amp;, a nie do &?

Dekodowanie odbywa się raz, tak jak w przeglądarce. &amp;amp; to zakodowane &amp;. Jeśli tekst był zakodowany dwukrotnie, kliknij Użyj wyniku jako danych wejściowych i jeszcze raz Dekoduj.

Czym to się różni od kodowania URL?

Encje HTML zabezpieczają tekst w dokumentach HTML. Kodowanie URL (%20, %C3%A9) zabezpiecza tekst w adresach internetowych. Do linków i parametrów zapytań używaj kodera URL.

Czy mój tekst jest wysyłany na serwer?

Nie. Kodowanie i dekodowanie działają w twojej przeglądarce. Z tej strony pobierana jest tylko lista nazw encji, przy pierwszym dekodowaniu.

Czy encje w atrybutach są dekodowane inaczej?

Przeglądarki traktują kilka dawnych nazw bez średnika nieco inaczej wewnątrz wartości atrybutów. To narzędzie stosuje zasady dla treści tekstowej, które odpowiadają temu, co widzisz na stronie.