Lepaskan tag dari HTML dan sisakan teks yang dibaca orang
Penghapus Tag HTML membuang tag seperti <p> dan <span>, atribut, skrip, serta komentar, lalu menyisakan teks yang benar-benar dibaca orang. Sumber HTML ditafsirkan dengan aturan yang sama seperti di browser, sehingga paragraf dan daftar tetap dipisah per baris, sedangkan sel tabel dipisah dengan tab. Pindah baris dan indentasi yang hanya dipakai untuk merapikan kode digabung menjadi satu spasi, sama seperti tampilannya di layar.
Di kolom sumber, teks yang tersisa ditampilkan dengan warna gelap (warna teks biasa), sedangkan tag, atribut, komentar, dan skrip yang dilepas diberi warna berbeda. Bilah komposisi HTML di bawahnya menunjukkan berapa banyak byte sumber yang berupa teks terbaca dan apa saja sisanya. Selain mengambil teksnya saja, Anda juga bisa menerima HTML yang hanya mempertahankan tag pilihan seperti p dan a, atau HTML yang hanya membuang tag pilihan seperti span dan font.
Kapan tag perlu dilepas
- Memindahkan isi buletin atau email HTML ke dokumen: Email HTML penuh dengan tabel tata letak, gaya inline, dan teks tersembunyi untuk pratinjau di kotak masuk. Jika hanya kalimat yang tampak di layar yang disisakan, hasilnya bisa langsung ditempel ke laporan atau catatan.
- Merapikan deskripsi produk toko online: Deskripsi produk yang diunduh dari dasbor toko atau marketplace sering dibungkus
fontdanspanberlapis-lapis. Anda bisa mengambil teksnya untuk dikoreksi, atau sebaliknya hanya melepasspandanfontagar HTML-nya lebih ringan. - Menghitung jumlah karakter tulisan blog atau CMS: Kode editor blok WordPress bercampur dengan komentar seperti
<!-- wp:paragraph -->dan berbagai tag, sehingga jumlah karakter terlihat lebih besar jika kode dihitung apa adanya. Di atas kolom hasil tertera jumlah karakter dengan dan tanpa spasi. - Sebelum memasukkan teks ke alat AI atau penerjemah: Tag dan atribut ikut memakan batas input. Dengan teks saja, lebih banyak isi yang muat dalam batas yang sama, dan penerjemah tidak akan merusak tag.
- Merapikan HTML di sel Excel atau CSV: Saat daftar produk diekspor, kolom deskripsi sering masih berisi HTML mentah. Teks tanpa tag blok mempertahankan baris barunya, dan tabel dipisah dengan tab, sehingga hasilnya bisa langsung ditempel ke spreadsheet.
Cara memakai
- Tempel kode ke kolom sumber HTML. Jika Anda menyalin tampilan halaman web atau email, browser ikut menyertakan format HTML-nya. Anda bisa kembali ke teks biasa lewat “Tempel sebagai teks biasa” di baris status. Berkas .html, .xml, dan .svg dimasukkan lewat “Buka berkas” atau diseret ke area ini.
- Hasilnya langsung muncul di kolom teks bersih. Tidak ada tombol yang perlu ditekan.
- Pilih bentuk baris (paragraf, per baris, atau satu baris), lalu atur alamat tautan dan penanganan gambar. Untuk HTML dengan teks tersembunyi seperti email, periksa apakah “Buang elemen tersembunyi” aktif.
- Untuk mempertahankan sebagian tag, pilih “Pertahankan tag terpilih” atau “Hapus tag terpilih” pada bagian “Yang dipertahankan”, lalu klik tag di daftar tag dokumen ini.
- Tekan “Salin”, atau tekan Ctrl+Enter (⌘+Enter) di kolom hasil untuk menyalin. Berkas bisa disimpan lewat “Simpan TXT” (atau “Simpan HTML” jika tag dipertahankan).
Pindah baris mengikuti tampilan di layar
Di HTML, yang memisahkan baris adalah tag, bukan pindah baris di kode sumber. Alat ini mengikuti aturan innerText di browser: satu baris kosong di antara p, pindah baris di antara blok seperti div, di br, dan di antara baris tabel, serta tab di antara sel tabel. Judul, daftar, dan tabel juga diberi baris kosong sebelum dan sesudahnya agar mudah dibaca. Hasil pada tabel di bawah adalah keluaran asli alat ini (⇥ menandakan tab).
| Isi | HTML | Hasil |
|---|---|---|
p paragraf | <p>Paragraf pertama</p><p>Paragraf kedua</p> | Paragraf pertama |
Blok seperti div | <div>Baris 1</div><div>Baris 2</div> | Baris 1 |
br pindah baris | <p>Baris 1<br>Baris 2</p> | Baris 1 |
ul daftar berpoin | <ul><li>Pisang</li><li>Jambu</li></ul> | • Pisang |
ol daftar bernomor (start diperhitungkan) | <ol start="3"><li>Mangga</li><li>Jeruk</li></ol> | 3. Mangga |
table tabel | <table><tr><th>Item</th><th>Jumlah</th></tr><tr><td>Earphone</td><td>1 pasang</td></tr></table> | Item ⇥ Jumlah |
| Pindah baris dan indentasi di dalam kode | <p>Pindah baris | Pindah baris dan indentasi di dalam kode |
pre teks berformat | <pre> Indentasi | Indentasi |
| Teks tanpa tag blok | Nama: <b>Budi Santoso</b> | Nama: Budi Santoso |
Bentuk baris pada hasil bisa dipilih dari tiga macam. Paragraf memberi satu baris kosong di antara paragraf seperti pada tabel di atas, cocok untuk dibaca sebagai tulisan. Per baris hanya pindah baris di setiap blok tanpa baris kosong, cocok untuk daftar atau tempel ke spreadsheet. Satu baris mengubah semua pergantian baris dan tab menjadi spasi, berguna untuk membuat meta deskripsi atau teks yang muat dalam satu sel.
Apa yang terjadi jika tag dihapus dengan regex
Cara termudah menghapus tag adalah regex <[^>]+>, yaitu menghapus “dari < sampai > berikutnya”. Untuk potongan pendek cara ini berhasil, tetapi karena memotong tidak sesuai tata bahasa HTML, hasilnya bisa menghilangkan teks atau meninggalkan sampah seperti di bawah. Browser membaca < sebagai teks biasa jika karakter berikutnya bukan huruf, !, /, atau ?. Tanda > di dalam tanda kutip dianggap bagian dari nilai atribut, dan isi script serta style dibaca apa adanya sampai tag penutupnya muncul. Alat ini membaca dengan aturan yang sama.
| Sumber | Hasil regex | Alat ini |
|---|---|---|
<p>Stok kurang dari 3 (a < b), kirim notifikasi</p> | Stok kurang dari 3 (a Teks setelah < ikut terhapus | Stok kurang dari 3 (a < b), kirim notifikasi |
<div data-note="a>b">Isi</div> | b">IsiTag berakhir di > dalam nilai atribut | Isi |
<!--[if mso]><p>Info untuk Outlook</p><![endif]-->Teks yang terlihat | Info untuk OutlookTeks yang terlihatTeks di dalam komentar masih tersisa | Teks yang terlihat |
<script>if (n < 3) alert(n)</script>Isi | if (n IsiPotongan kode skrip tertinggal | Isi |
<p>Harga & ongkir</p> | Harga & ongkirReferensi karakter tetap apa adanya | Harga & ongkir |
<p>Paragraf pertama</p><p>Paragraf kedua</p> | Paragraf pertamaParagraf keduaParagraf menempel jadi satu baris | Paragraf pertama |
Cara menangani tautan, gambar, dan teks tersembunyi
Pengaturan bawaan hanya menyisakan teks yang tampak di layar. Pada tautan hanya teksnya yang tersisa dan alamatnya dibuang. Gambar dibuang, dan elemen yang disembunyikan dengan atribut hidden, display:none, atau visibility:hidden juga dibuang. Jika perlu, Anda dapat mengubahnya seperti di bawah. Jika teks tautan sama dengan alamatnya, alamat tidak ditulis dua kali, dan tautan dalam halaman yang diawali # serta tautan javascript: tidak diberi alamat.
| Pengaturan | HTML | Hasil |
|---|---|---|
| Alamat tautan ▸ Setelah teks | <p><a href="https://example.com/promo">Lihat promo</a></p> | Lihat promo (https://example.com/promo) |
| Alamat tautan ▸ Kumpulkan di akhir | <p><a href="https://example.com/promo">Lihat promo</a> dan <a href="https://example.com/faq">tanya jawab</a></p> | Lihat promo[1] dan tanya jawab[2] |
| Gambar ▸ Teks alternatif | <p><img src="logo.png" alt="Logo"> Roberin</p> | [Gambar: Logo] Roberin |
| Buang elemen tersembunyi (bawaan) | <div style="display:none">Teks pratinjau</div><p>Isi</p> | Isi |
Pada buletin email, teks pratinjau yang muncul di daftar kotak masuk biasanya disembunyikan di bagian paling atas isi, lalu diikuti deretan ‌ sebagai pengisi. Jika elemen tersembunyi dibuang, teks pratinjau dan karakter pengisi itu ikut hilang. Jumlah elemen tersembunyi yang dibuang ditampilkan di samping sakelarnya.
Pertahankan atau hapus tag terpilih
Mode ini memberi hasil berupa HTML, bukan teks. Pertahankan tag terpilih mempertahankan tag yang Anda klik di daftar tag dokumen ini dan hanya melepas tag lainnya. Pada awalnya yang terpilih adalah tag format tulisan seperti paragraf, judul, daftar, tabel, tautan, dan huruf tebal. Hapus tag terpilih adalah kebalikannya: hanya tag yang Anda klik yang dilepas dan sisanya dibiarkan. Pada awalnya yang terpilih adalah span dan font. Kedua mode hanya melepas tag dan menyisakan teks di dalamnya. Baris yang hanya berisi tag yang dilepas ikut dihapus, dan jika melepas tag blok membuat dua teks menempel, di tempat itu disisipkan pindah baris. Selain itu, pindah baris, indentasi, maupun referensi karakter seperti & tidak diubah. Khusus title dan textarea, isinya ikut dibuang saat tagnya dilepas.
- Atribut tag yang dipertahankan: “Apa adanya” membiarkan atribut sumber, “Hanya yang perlu” hanya menyisakan
href,src,alt,colspan, danrowspan, sedangkan “Hapus semua” menghapus seluruh atribut. Nilai awal pada mode pertahankan tag adalah “Hanya yang perlu”. - HTML yang disalin dari Google Docs: Seluruh isinya dibungkus
<b style="font-weight:normal" id="docs-internal-guid-…">. Pembungkus yang sebenarnya bukan huruf tebal ini tetap dilepas meskipunbdipilih untuk dipertahankan, sehingga seluruh hasil tidak menjadi tebal. Namun Google Docs menulis huruf tebal sebagai nilai style padaspan, jadi jikaspandilepas, huruf tebalnya ikut hilang. Untuk memindahkan format, pengonversi HTML ke Markdown lebih cocok. - Ini bukan alat sanitasi keamanan: Jangan menempelkan HTML hasil mode ini ke situs web sebagai tulisan orang lain. Jika atribut dibiarkan, atribut seperti
onclicktetap ada, dan “Hanya yang perlu” pun tidak menyaring alamatjavascript:dihref. Melepas tag juga bisa menyambung teks yang sengaja dipecah menjadi tag baru (<<b>script>menjadi<script>), jadi “Hapus semua” atribut pun belum tentu aman. HTML yang akan dimasukkan ke situs sebaiknya diproses dengan pustaka sanitasi yang teruji seperti DOMPurify.
dan karakter tak terlihat
di HTML menjadi spasi yang tidak memutus baris (U+00A0) dan tetap ada di hasil. Tampilannya seperti spasi biasa, tetapi fitur cari-ganti di editor dan rumus Excel sering memperlakukannya berbeda dari spasi biasa, sehingga mudah menimbulkan masalah. Jika “Rapikan dan karakter tak terlihat” aktif, spasi tanpa pemutus baris (U+00A0, U+2007, U+202F) diganti dengan spasi biasa, sedangkan spasi tanpa lebar (U+200B), word joiner (U+2060), BOM (U+FEFF), soft hyphen (U+00AD), dan combining grapheme joiner (U+034F) dihapus. Zero width non-joiner (U+200C) yang menempel di samping spasi juga dihapus karena dianggap pengisi email. Zero width joiner (U+200D) yang merangkai emoji dan non-joiner di antara huruf tidak dihapus.
Kesalahan yang sering terjadi
- Teks yang terlihat di halaman tidak ada di hasil: Teks yang digambar JavaScript belakangan tidak ada di HTML pada “Lihat sumber halaman”. Salin area yang tampak di layar lalu tempel, atau salin elemennya dari alat pengembang.
- Isi tabel terpecah per baris: Tabel yang dipakai untuk tata letak, seperti pada email (
role="presentation", tabel di dalam tabel, atau tabel satu kolom), tidak disambung dengan tab, tetapi tiap selnya dipisah per baris. Pindah baris di dalam sel tabel data diganti spasi agar baris tidak bergeser saat ditempel ke spreadsheet. - Teks yang disembunyikan lewat kelas CSS masih muncul: Alat ini tidak menghitung stylesheet. Elemen tersembunyi hanya dikenali dari atribut
hiddendan nilaistyleyang ditulis langsung pada elemen. - Jumlah karakter berbeda dari hitungan di kode: Pindah baris dan indentasi di sumber digabung menjadi satu spasi, dan
&menjadi satu karakter&. Jumlah karakter di atas kolom hasil lebih mendekati jumlah karakter teks yang tampak di layar. - Judul di bagian kepala hilang:
<title>di dalam<head>adalah nama untuk tab browser, jadi tidak dihitung sebagai teks isi. Di kolom sumber, bagian ini tampil abu-abu. - Format hilang setelah teks bersih ditempel: Jika hanya teks yang diambil, format seperti huruf tebal dan tautan tidak tersisa. Untuk mempertahankan format sebagai struktur dokumen, gunakan mode pertahankan tag terpilih atau ubah ke Markdown.
Batasan: yang tidak diketahui alat ini
- Nilai
displaydanwhite-spacepada CSS, serta teks yang ditambahkan lewat::before, tidak dihitung. Pemisahan baris ditentukan oleh jenis tag, sehingga halaman yang tata letaknya diubah dengan CSS bisa tampak berbeda dari layar. - Alamat relatif (
/promo) ditempelkan apa adanya dan tidak diubah menjadi alamat lengkap dengan domain situs asal. - Sumber hingga 2 MB bisa diproses. Jika sumber melebihi 200.000 karakter, pewarnaan dimatikan dan hanya pembersihan yang berjalan.
- Mode pertahankan atau hapus tag terpilih hanya melihat nama tag. Alat ini tidak memperbaiki HTML yang tag pembuka dan penutupnya tidak berpasangan, dan bukan alat sanitasi keamanan.
- Berkas yang bisa dibuka hanya .html, .htm, .xhtml, .xml, .svg, dan .txt yang berisi teks. Teks di dokumen Word atau PDF tidak bisa dibaca.
Sumber
Acuan: Aturan penafsiran HTML diperiksa pada dokumen WHATWG HTML Living Standard dan MDN pada 22 Oktober 2026. Hasil pada tabel adalah keluaran alat ini, sedangkan hasil regex adalah nilai yang didapat dengan mengganti <[^>]+> menjadi teks kosong pada sumber yang sama.
- 01WHATWG HTML — innerText dan outerTextrendered text collection steps: p = 2 baris baru, blok = 1, br = baris baru, antar sel tabel = tab, antar baris = baris baru
- 02WHATWG HTML — 13.1.2 ElementsElemen raw text (script, style) dan elemen escapable raw text (textarea, title)
- 03WHATWG HTML — 13.2.5.6 Tag open stateJika karakter setelah < bukan huruf, !, / atau ?, maka < dikeluarkan sebagai teks
- 04MDN — DOMParser.parseFromString()Script pada dokumen yang dibaca sebagai text/html tidak dijalankan
- 05DOMPurify (cure53)Pustaka sanitasi XSS berbasis DOM untuk HTML, SVG, dan MathML
Pertanyaan yang sering diajukan
Bagaimana cara memakai Penghapus Tag HTML?
Tempel kode ke kolom sumber HTML, atau tempel hasil salinan dari halaman web, maka hasilnya langsung muncul di kolom teks bersih. Tidak ada tombol yang perlu ditekan. Setelah memeriksa hasilnya, salin atau simpan sebagai berkas TXT.
Apa bedanya dengan menghapus memakai regex <[^>]+> ?
Regex menganggap semua yang ada dari '<' sampai '>' berikutnya sebagai tag. Akibatnya, teks dari 'a < b' di tengah kalimat hingga akhir tag berikutnya ikut terhapus, bagian setelah '>' di dalam nilai atribut tersisa sebagai teks, dan isi komentar bersyarat untuk Outlook ikut tertinggal. Alat ini membaca HTML dengan aturan yang sama seperti browser sehingga kasus-kasus tersebut dibedakan.
Bagaimana pindah baris ditentukan?
Pembagiannya mengikuti tampilan di layar. Satu baris kosong diberikan di antara paragraf, judul, daftar, dan tabel, sedangkan pindah baris diberikan di antara div, item daftar, baris tabel, dan di posisi br. Pindah baris dan indentasi di kode sumber digabung menjadi satu spasi. Teks yang sama sekali tanpa tag blok mempertahankan pindah baris aslinya.
Apakah alamat tautan bisa dipertahankan?
Bisa. Pada alamat tautan, pilih 'Setelah teks' agar alamat ditaruh tepat setelah teks tautan, seperti 'Lihat produk diskon (https://…)'. Pilih 'Kumpulkan di akhir' agar teks diberi nomor seperti [1] dan alamatnya dikumpulkan di bagian paling akhir. Jika teks tautan sama dengan alamatnya, alamat tidak ditulis dua kali.
Mengapa teks yang tidak terlihat di email HTML ikut hilang?
Pada buletin email, teks pratinjau untuk kotak masuk sering disembunyikan dengan gaya seperti display:none. Pengaturan bawaan membuang elemen tersembunyi itu dan hanya menyisakan teks yang tampak di layar. Jika ingin melihat teks tersembunyi juga, matikan 'Buang elemen tersembunyi'.
Bisakah hanya tag tertentu yang dipertahankan atau dihapus?
Bisa. Pada bagian 'Yang dipertahankan', pilih 'Pertahankan tag terpilih' atau 'Hapus tag terpilih', lalu klik tag di daftar tag dokumen ini. Hasilnya berupa HTML, dan atribut seperti class dan style pada tag yang dipertahankan bisa dihapus, atau Anda bisa menyisakan hanya alamat dan teks alternatif.
Amankah HTML hasil mode pertahankan tag langsung dimasukkan ke situs web?
Jangan jadikan alat ini sebagai sanitasi keamanan. Jika atribut dibiarkan, atribut seperti onclick tetap ada, dan opsi 'Hanya yang perlu' pun tidak menyaring alamat javascript: di href. Untuk HTML tulisan orang lain yang akan dimasukkan ke situs, gunakan pustaka sanitasi yang teruji seperti DOMPurify.
Apakah HTML atau berkas yang ditempel dikirim ke server?
Tidak. Isi yang ditempel dan berkas hanya dibaca di dalam browser, serta tidak disimpan di alamat maupun penyimpanan. Skrip pada sumber tidak dijalankan, dan alamat gambar juga tidak dimuat.