Semua alat

Encoder / decoder HTML

Tampilkan input pengguna secara aman dengan mengonversi < ke &lt; dan & ke &amp;. Dekode entitas saat membaca cuplikan HTML yang disimpan kembali ke teks biasa untuk pengindeksan penelusuran. Berjalan secara lokal untuk debugging templat dan CMS.
Input
Output
Hello world

Cara menyandikan atau mendekode HTML

1. Pilih mode encode (escape) atau decode.
2. Tempel HTML atau teks biasa.
3. Salin keluaran yang lolos untuk templat atau atribut.
4. Dekode untuk membaca XML/HTML yang banyak entitasnya ekspor.

Contoh entitas HTML

Tampilan aman komentar pengguna

Input <script>alert(1)</script> menjadi teks tidak berbahaya ketika dikodekan untuk penyisipan aman innerHTML melalui node teks.

Apostrof dalam atribut

O'Reilly in title attribute encodes quote as &#39; or &apos; depending on context.

Dekode CMS ekspor

Deskripsi produk &amp; menyalin; menerjemahkan ke & untuk diedit.

Kapan mengkodekan HTML

Saat memasukkan teks yang tidak tepercaya ke dalam templat HTML.
Saat melakukan debug pengkodean ganda di templat email.
Saat menyiapkan cuplikan HTML yang menghasilkan penurunan harga.

Saat pengkodean tidak cukup

Saat Anda perlu membersihkan HTML dengan tag yang diizinkan — gunakan pustaka gaya DOMPurify.
Jika konten berupa string JavaScript — juga tanda kutip untuk konteks JS.
Saat URL di href — gunakan pembuat enkode URL secara terpisah.

Konteks penting

pelolosan HTML untuk nilai atribut mungkin berbeda dari node teks — tanda kutip penting dalam atribut. Lembar contekan OWASP juga mencantumkan konteks JS dan CSS.

Bug pengkodean ganda

&amp;amp; dalam DB berarti seseorang melakukan encode dua kali — decode sekali, perbaiki pipeline, encode sekali pada keluaran.

Email HTML

Klien berbeda-beda pada dukungan entitas - uji karakter khusus yang dikodekan di Outlook dan Gmail.

Pertanyaan yang sering diajukan

Entitas yang diberi nama vs numerik?

&amp; vs & #38; — setara dengan karakter umum; emoji mungkin memerlukan &#x1F600; bentuk numerik.

Mengkodekan seluruh dokumen HTML?

Mengkodekan seluruh dokumen menunjukkan tag literal — biasanya hanya mengkodekan data pengguna.

Pencegahan XSS?

Mengkodekan node teks membantu; jangan pernah menggabungkan HTML pengguna mentah. Header CSP menambah pertahanan.

Karakter UTF-8?

Sering kali dibiarkan sebagai UTF-8 dalam HTML5 modern; entitas opsional untuk non-ASCII.

Lokal?

Ya.

Output penurunan harga?

Pasangkan dengan markdownToHtml — enkode terjadi pada lapisan render di saluran yang tepat.