HTML Encoder

HTML Encoder / Decoder

Eskejpuj `& < > " '` na bezpieczne encje HTML lub dekoduj tekst z encjami z powrotem na zwykły. Cztery poziomy kodowania — Minimalny, Nazwane, Numeryczne, Wszystkie nie-ASCII. Bezpieczne dla UTF-8 + emoji + CJK, w Twojej przeglądarce.

Domyślnie wybierz Minimalny — eskejpuj tylko & < > " ', pięć znaków, które łamią konteksty body / atrybutów HTML. Dokładnie to robi każdy nowoczesny silnik szablonów. Użyj Encji nazwanych, jeśli chcesz mieć copyright / nbsp / strzałki itp. jako czytelne kody (&copy; zamiast &#169;). Użyj Numerycznych, gdy wysyłasz HTML przez potoki, które mogą nie rozumieć encji nazwanych. Użyj Wszystkich nie-ASCII, gdy celujesz w systemy ścisłe ASCII-only (starsze serwery e-mail, niesprawne API).

&apos; jest poprawne w XML i HTML5, ale nie w HTML 4.01 — starsze przeglądarki renderują to jako dosłowny tekst '. Numeryczna referencja &#39; działa wszędzie. Decoder akceptuje &apos; na wejściu dla zachowania kompatybilności.

Wejście
Wyjście

Stworzony do bezpiecznego wyjścia HTML

Eskejpuj treści użytkowników do szablonów, dekoduj dane zakodowane encjami — plus kilka drobnych detali, które sprawiają, że korzystanie jest naprawdę przyjemne.

Cztery tryby kodowania

Minimalny eskejpuje tylko pięć znaków niebezpiecznych w HTML (& < > " ') — właściwy domyślny wybór dla zwykłych treści użytkownika. Nazwane używają czytelnych encji HTML5 jak &copy; / &nbsp; / &hearts; tam, gdzie istnieją. Numeryczne kodują każdy punkt kodowy nie-ASCII jako &#NN;. Wszystkie nie-ASCII kodują każdy punkt kodowy poza drukowalnym ASCII dla starszych / wyłącznie ASCII potoków.

Dekoduj dowolną encję

Decoder obsługuje encje nazwane (&copy;), numeryczne dziesiętne (&#169;) i numeryczne szesnastkowe (&#xA9;). Punkty kodowe par zastępczych (emoji, starożytne pisma) poprawnie wracają w obie strony przez UTF-16.

Podgląd na żywo

Wyjście aktualizuje się przy każdym naciśnięciu klawisza — żadnych przycisków Encode / Decode do klikania. Zmieniaj kierunek jednym kliknięciem; przycisk Zamień przenosi wyjście z powrotem do wejścia, więc możesz łączyć transformacje.

Bezpieczny dla UTF-8 + emoji + CJK

Każdy punkt kodowy Unicode wraca w obie strony: 中文, العربية, русский, हिंदी, 🎉, Þorgeir. Encoder iteruje po punktach kodowych (nie przez charAt), więc pary zastępcze pozostają nienaruszone.

Prywatność u podstaw

Twój tekst pozostaje na Twoim urządzeniu. Encoder, decoder i tabela encji nazwanych — wszystko działa lokalnie w JavaScript. Otwórz DevTools → Network i zweryfikuj zero żądań wychodzących.

Mały + szybki

Czysty JavaScript, bez runtime'u frameworka. Cold load to mniej niż 25 KB gzip. Dokument HTML 100 KB jest kodowany w mniej niż 5 ms.

Jak kodować lub dekodować encje HTML

Cztery kroki od surowego tekstu do wyjścia bezpiecznego pod kątem encji.

  1. 1

    Wklej swój tekst

    Upuść zwykły tekst lub HTML do panelu Wejście. Wszystko przejdzie — komentarze użytkowników, wpisy blogowe, emoji, CJK, pisma RTL. Encoder iteruje po punktach kodowych, więc sekwencje wielobajtowe pozostają nienaruszone.

  2. 2

    Wybierz kierunek + tryb

    Ustaw Kierunek na Koduj (tekst → encje) lub Dekoduj (encje → tekst). Dla Kodowania wybierz tryb: Minimalny dla szablonów, Nazwane dla czytelnych encji, Numeryczne dla nie-ASCII jako &#NN;, Wszystkie nie-ASCII dla wyjścia ASCII-only.

  3. 3

    Obserwuj podgląd na żywo

    Wyjście aktualizuje się przy każdym naciśnięciu klawisza. Porównuj tryby w czasie rzeczywistym, zmieniając listę rozwijaną. Użyj Zamień, by przenieść wyjście z powrotem do wejścia — przydatne do weryfikacji round-trip (zakoduj, potem odkoduj = oryginał).

  4. 4

    Skopiuj lub pobierz

    Użyj ikony kopiowania, by przesłać wynik do schowka, lub ikony pobierania, by zapisać go jako output.encode.html / output.decode.txt. Różnica rozmiaru (znaki / bajty wejście → wyjście) pokazuje dokładnie, o ile kodowanie powiększyło lub zmniejszyło tekst.

Stworzony do codziennej pracy web-dev

Cztery typowe scenariusze, w których narzędzie przeglądarkowe z prywatnością na pierwszym miejscu bije wklejanie kodu do losowego online encodera.

Bezpieczne osadzanie treści użytkowników w szablonie

Komentarze użytkowników, odpowiedzi z formularzy, zapytania wyszukiwania — wszystko, co przychodzi z zewnątrz i ląduje wewnątrz <p>, <li> lub atrybutu. Przepuść przez kodowanie w trybie Minimalnym przed konkatenacją w HTML, a będziesz bezpieczny przed uszkodzonym znacznikiem i najprostszymi payloadami XSS.

Czytanie danych zakodowanych encjami z API

Niektóre API zwracają stringi już zakodowane encjami (kanały RSS, niektóre eksporty CMS, scrapowany HTML). Wklej, naciśnij Dekoduj, otrzymasz oryginalny Unicode. Decoder obsługuje encje nazwane, dziesiętne i szesnastkowe, w tym pary zastępcze.

Tematy e-maili + meta tagi

<title>, <meta name="description">, <meta property="og:title"> — wszystkie wymagają eskejpowania encji dla znaków specjalnych. Zakoduj nagłówek raz, wklej do wszystkich trzech.

Wrażliwe treści, które nie mogą trafić do usługi zewnętrznej

Wewnętrzne treści CMS, dane klientów, szablony chronione NDA — cokolwiek, czego nie możesz wkleić do encodera w chmurze. Narzędzie tylko-przeglądarkowe trzyma każdy bajt na Twoim laptopie. Otwórz DevTools → Network i zweryfikuj, że nic nie wychodzi.

100% prywatne — działa w Twojej przeglądarce

Twój tekst nigdy nie opuszcza Twojego urządzenia. Otwórz DevTools → Network, a podczas kodowania lub dekodowania zobaczysz zero żądań wychodzących.

  • Encoder, decoder i tabela wyszukiwania encji nazwanych — wszystko działa jako JavaScript na Twojej maszynie — bez konwersji po stronie serwera, bez API zewnętrznego.
  • Punkty kodowe par zastępczych (emoji, starożytne pisma) są obsługiwane przez iterację po punktach kodowych, a nie mapowanie bajtowe — więc wklejone 🎉 pozostaje 🎉 po round-tripie.
  • Bez logowania, bez telemetrii treści tekstu. Używamy tylko jednego cookie dla stanu zgody na cookies i jednego dla preferencji języka.

Powiązane przewodniki

Wyselekcjonowane lektury o eskejpowaniu HTML, tabelach encji i bezpiecznym szablonowaniu.

Najczęściej zadawane pytania

Który tryb wybrać?

Domyślnie wybierz Minimalny — eskejpuj tylko & < > " ', pięć znaków, które łamią konteksty body / atrybutów HTML. Dokładnie to robi każdy nowoczesny silnik szablonów. Użyj Encji nazwanych, jeśli chcesz mieć copyright / nbsp / strzałki itp. jako czytelne kody (&copy; zamiast &#169;). Użyj Numerycznych, gdy wysyłasz HTML przez potoki, które mogą nie rozumieć encji nazwanych. Użyj Wszystkich nie-ASCII, gdy celujesz w systemy ścisłe ASCII-only (starsze serwery e-mail, niesprawne API).

Dlaczego eskejpuje `'` jako `&#39;` zamiast `&apos;`?

&apos; jest poprawne w XML i HTML5, ale nie w HTML 4.01 — starsze przeglądarki renderują to jako dosłowny tekst '. Numeryczna referencja &#39; działa wszędzie. Decoder akceptuje &apos; na wejściu dla zachowania kompatybilności.

Czy emoji i znaki CJK przetrwają?

Tak. Encoder iteruje po punktach kodowych (a nie po jednostkach kodowych UTF-16), więc emoji jak 🎉 (U+1F389) staje się &#127881; przy kodowaniu i poprawnie wraca w obie strony przy dekodowaniu. To samo dla CJK (中文 → &#20013;&#25991; w trybie numerycznym).

Czy bezpiecznie jest osadzać dane wejściowe użytkownika bezpośrednio w HTML po zakodowaniu?

Dla body i atrybutów HTML — tak, w trybie Minimalnym. Dla kontekstów URL (href="...") potrzebujesz dodatkowo kodowania URL. Dla inline JavaScript lub CSS ani kodowanie HTML, ani URL nie wystarcza — użyj odpowiedniego silnika szablonów, który rozumie te konteksty. Nigdy nie wklejaj nieeskejpowanych danych użytkownika do bloku <script>.

Czy cokolwiek jest wysyłane na Wasz serwer?

Nie. Encoder, decoder i tabela wyszukiwania encji nazwanych — wszystko działa w JavaScript na Twoim urządzeniu. Otwórz DevTools → Network, a podczas kodowania lub dekodowania zobaczysz zero żądań wychodzących. Wklejaj sekrety, dane klientów, wewnętrzne szablony — nic nie opuszcza Twojego laptopa.