HTML Encoder

HTML Encoder / Decoder

Escape `& < > " '` menjadi entitas HTML yang aman, atau decode teks ber-entitas kembali menjadi teks biasa. Empat level encoding — Minimal, Bernama, Numerik, Semua non-ASCII. Aman UTF-8 + emoji + CJK, di browser Anda.

Default-nya Minimal — escape hanya & < > " ', lima karakter yang merusak konteks body / atribut HTML. Itulah yang dilakukan setiap mesin templating modern. Gunakan Entitas bernama jika Anda ingin copyright / nbsp / panah dll. sebagai kode yang mudah dibaca (&copy; alih-alih &#169;). Gunakan Numerik saat mengirim HTML melalui pipeline yang mungkin tidak memahami entitas bernama. Gunakan Semua non-ASCII saat menargetkan sistem yang ketat hanya-ASCII (server email lawas, API yang rusak).

&apos; valid di XML dan HTML5, tetapi tidak di HTML 4.01 — peramban lama akan merender-nya sebagai teks literal '. Referensi numerik &#39; berfungsi di mana saja. Decoder menerima &apos; sebagai input demi kompatibilitas.

Input
Output

Dibuat untuk output HTML yang aman

Escape konten pengguna untuk template, decode data ber-entitas — plus beberapa sentuhan kecil yang membuatnya benar-benar menyenangkan digunakan.

Empat mode encoding

Minimal hanya meng-escape lima karakter HTML yang tidak aman (& < > " ') — default yang tepat untuk konten buatan pengguna pada umumnya. Bernama menggunakan entitas HTML5 yang mudah dibaca seperti &copy; / &nbsp; / &hearts; jika tersedia. Numerik meng-encode setiap codepoint non-ASCII sebagai &#NN;. Semua non-ASCII meng-encode setiap codepoint di luar ASCII yang dapat dicetak untuk pipeline legacy / hanya-ASCII.

Decode entitas apa pun

Decoder menangani entitas bernama (&copy;), numerik desimal (&#169;), dan numerik heksadesimal (&#xA9;). Codepoint surrogate-pair (emoji, aksara kuno) dapat di-round-trip dengan benar melalui UTF-16.

Pratinjau langsung

Output diperbarui pada setiap penekanan tombol — tanpa tombol Encode / Decode untuk ditekan. Ganti arah dengan satu klik; tombol Tukar memindahkan output kembali ke input agar Anda dapat merangkai transformasi.

Aman UTF-8 + emoji + CJK

Setiap codepoint Unicode dapat di-round-trip: 中文, العربية, русский, हिंदी, 🎉, Þorgeir. Encoder menggunakan iterasi per-codepoint (bukan charAt) sehingga surrogate pair tetap utuh.

Privasi sejak awal

Teks Anda tetap di perangkat Anda. Encoder, decoder, dan tabel entitas bernama semuanya berjalan sebagai JavaScript secara lokal. Buka DevTools → Network dan verifikasi tidak ada permintaan keluar.

Mungil + cepat

JavaScript murni, tanpa runtime framework. Cold load di bawah 25 KB ter-gzip. Dokumen HTML 100 KB di-encode dalam waktu kurang dari 5 ms.

Cara meng-encode atau decode entitas HTML

Empat langkah dari teks mentah hingga output yang aman dari entitas.

  1. 1

    Tempel teks Anda

    Letakkan teks biasa atau HTML ke panel Input. Apa pun bisa — komentar pengguna, posting blog, emoji, CJK, aksara RTL. Encoder mengiterasi per codepoint sehingga rangkaian multi-byte tetap utuh.

  2. 2

    Pilih arah + mode

    Atur Arah ke Encode (teks → entitas) atau Decode (entitas → teks). Untuk Encode, pilih mode-nya: Minimal untuk template, Bernama untuk entitas yang mudah dibaca, Numerik untuk non-ASCII sebagai &#NN;, Semua non-ASCII untuk output hanya-ASCII.

  3. 3

    Lihat pratinjau langsung

    Output diperbarui pada setiap penekanan tombol. Bandingkan mode secara langsung dengan mengubah dropdown. Gunakan Tukar untuk memindahkan output kembali ke input — berguna untuk verifikasi round-trip (encode lalu decode = asli).

  4. 4

    Salin atau unduh

    Gunakan ikon salin untuk mengirim hasil ke clipboard, atau ikon unduh untuk menyimpannya sebagai output.encode.html / output.decode.txt. Selisih ukuran (karakter / byte masuk → keluar) menunjukkan persis seberapa banyak encoding mengembang atau menyusutkan teks.

Dibuat untuk pekerjaan web-dev sehari-hari

Empat skenario umum di mana alat browser yang mengutamakan privasi mengalahkan menempelkan kode ke encoder online sembarangan.

Menyematkan konten pengguna ke template dengan aman

Komentar pengguna, respons formulir, kueri pencarian — apa pun yang berasal dari luar yang berakhir di dalam <p>, <li>, atau atribut. Jalankan melalui encode mode Minimal sebelum menggabungkannya menjadi string HTML, dan Anda aman dari markup yang rusak serta payload XSS paling sederhana.

Membaca data ber-entitas dari API

Beberapa API mengembalikan string yang sudah ter-escape dengan entitas (RSS feed, ekspor CMS tertentu, HTML hasil scraping). Tempel, tekan Decode, dapatkan kembali Unicode aslinya. Decoder menangani entitas bernama, desimal, dan heksadesimal termasuk surrogate pair.

Subjek email + meta tag

<title>, <meta name="description">, <meta property="og:title"> — semuanya membutuhkan escape entitas untuk karakter khusus. Encode judul Anda sekali, tempel di ketiganya.

Konten sensitif yang tidak boleh ke layanan pihak ketiga

Konten CMS internal, data pelanggan, template ber-NDA — apa pun yang tidak boleh Anda tempel ke encoder cloud. Alat khusus browser ini menyimpan setiap byte di laptop Anda. Buka DevTools → Network dan verifikasi tidak ada yang keluar.

100% privat — berjalan di browser Anda

Teks Anda tidak pernah meninggalkan perangkat Anda. Buka DevTools → Network dan Anda akan melihat nol permintaan keluar selama encode atau decode.

  • Encoder, decoder, dan tabel pencarian entitas bernama semuanya berjalan sebagai JavaScript di mesin Anda — tanpa konversi sisi server, tanpa API pihak ketiga.
  • Codepoint surrogate-pair (emoji, aksara kuno) ditangani melalui iterasi codepoint, bukan pemetaan byte-level — jadi tempelan 🎉 tetap menjadi 🎉 setelah round-trip.
  • Tanpa login, tanpa telemetri pada konten teks. Kami hanya menggunakan satu cookie untuk status persetujuan cookie dan satu untuk preferensi bahasa.

Panduan terkait

Bacaan pilihan tentang escape HTML, tabel entitas, dan templating yang aman.

Pertanyaan umum

Mode mana yang harus saya pilih?

Default-nya Minimal — escape hanya & < > " ', lima karakter yang merusak konteks body / atribut HTML. Itulah yang dilakukan setiap mesin templating modern. Gunakan Entitas bernama jika Anda ingin copyright / nbsp / panah dll. sebagai kode yang mudah dibaca (&copy; alih-alih &#169;). Gunakan Numerik saat mengirim HTML melalui pipeline yang mungkin tidak memahami entitas bernama. Gunakan Semua non-ASCII saat menargetkan sistem yang ketat hanya-ASCII (server email lawas, API yang rusak).

Mengapa ini meng-escape `'` sebagai `&#39;` alih-alih `&apos;`?

&apos; valid di XML dan HTML5, tetapi tidak di HTML 4.01 — peramban lama akan merender-nya sebagai teks literal '. Referensi numerik &#39; berfungsi di mana saja. Decoder menerima &apos; sebagai input demi kompatibilitas.

Apakah emoji dan karakter CJK akan tetap utuh?

Ya. Encoder mengiterasi codepoint (bukan unit kode UTF-16), sehingga emoji seperti 🎉 (U+1F389) menjadi &#127881; saat encode dan dapat di-round-trip dengan benar saat decode. Hal yang sama berlaku untuk CJK (中文 → &#20013;&#25991; dalam mode numerik).

Apakah aman menyematkan input pengguna langsung ke HTML setelah encoding?

Untuk body dan atribut HTML — ya, dengan mode Minimal. Untuk konteks URL (href="...") Anda juga memerlukan URL encoding. Untuk JavaScript atau CSS inline, baik HTML maupun URL encoding tidak cukup — gunakan mesin templating yang memahami konteks tersebut. Jangan pernah menempel input pengguna yang tidak ter-escape ke dalam blok <script>.

Apakah ada yang dikirim ke server Anda?

Tidak. Encoder, decoder, dan tabel pencarian entitas bernama semuanya berjalan dalam JavaScript di perangkat Anda. Buka DevTools → Network dan Anda akan melihat nol permintaan keluar selama encode atau decode. Tempel rahasia, data pelanggan, template internal — tidak ada yang keluar dari laptop Anda.