HTML Entity Encoder & Decoder

Escape teks agar aman dimasukkan ke dalam HTML, atau ubah entitas seperti & dan € kembali menjadi karakter yang bisa dibaca.

Berjalan di browser AndaTanpa daftarTidak ada yang diunggah

Hasil enkode

Cara menggunakan HTML Entity Encoder / Decoder

  1. Pilih Enkode untuk meng-escape teks, atau Dekode untuk mengubah entitas kembali menjadi karakter.
  2. Saat mengenkode, pilih karakter mana yang di-escape: hanya karakter khusus HTML, ditambah semua karakter non-ASCII, atau semuanya kecuali huruf dan angka.
  3. Pilih entitas bernama (é), desimal (é), atau hex (é).
  4. Salin hasilnya. Saat mendekode, entitas yang tidak dikenal dicantumkan agar Anda bisa menemukan salah ketik.

Mengapa perlu escape HTML?

Lima karakter memiliki arti khusus di HTML: & mengawali entitas, < dan > membatasi tag, serta " dan ' menutup nilai atribut. Jika teks dari pengguna yang berisi karakter ini dimasukkan ke halaman tanpa di-escape, layout bisa rusak atau, lebih buruk lagi, script bisa disisipkan (cross-site scripting, XSS). Escaping mengubahnya menjadi &amp;, &lt;, &gt;, &quot; dan &#x27;, yang ditampilkan browser sebagai teks.

Entitas bernama, desimal, dan hex

Setiap karakter Unicode bisa ditulis sebagai referensi numerik: desimal &#8364; atau hex &#x20AC; untuk €. Banyak karakter umum juga memiliki nama yang mudah dibaca, seperti &euro;, &copy; atau &nbsp;. Referensi numerik berfungsi di mana saja, termasuk XML, yang hanya mendefinisikan lima entitas bernama. Entitas bernama lebih mudah dibaca di kode sumber.

Apakah karakter non-ASCII perlu dienkode?

Tidak, jika halaman Anda disajikan sebagai UTF-8, seperti hampir semua situs modern (<meta charset="utf-8">). Karakter seperti é, ü, atau 日本 bisa ditulis langsung. Mengenkodenya berguna untuk sistem lama, template email, atau ketika pipeline merusak teks non-ASCII.

Escaping bergantung pada konteks

Escaping entitas HTML melindungi teks yang ditempatkan di konten elemen dan atribut berkutip. Ini tidak cukup untuk nilai di dalam blok <script>, event handler inline, CSS, atau URL, yang masing-masing butuh encoding sendiri. Utamakan auto-escaping dari framework Anda (React, Vue, Jinja, Blade) daripada menyusun string secara manual.

Pertanyaan yang sering diajukan

Karakter apa saja yang wajib di-escape di HTML?
Di konten teks, & dan < adalah yang terpenting. Di nilai atribut, escape juga tanda kutip yang Anda pakai. Meng-escape kelimanya (& < > " ') adalah pilihan default yang aman.
Apa itu &amp;nbsp;?
Spasi tak terputus (U+00A0). Terlihat seperti spasi, tetapi mencegah pemenggalan baris dan tidak digabung dengan spasi di sebelahnya.
Mengapa &amp;copy2024 didekode menjadi ©2024?
Demi kompatibilitas mundur, browser mendekode beberapa entitas lama, seperti &copy, &amp dan &lt, bahkan tanpa titik koma di akhir. Decoder ini mengikuti aturan yang sama. Selalu tulis titik koma di HTML Anda sendiri.
Apostrof itu &amp;apos; atau &amp;#39;?
&apos; valid di HTML5 dan XML tetapi tidak di HTML 4, jadi &#39; atau &#x27; numerik adalah pilihan paling kompatibel dan itulah yang dihasilkan encoder ini.

Tools terkait