Konverter HTML ke Markdown
Konversi HTML menjadi Markdown bersih di browser Anda — tabel GFM, daftar tugas, tautan. Pilih heading ATX/Setext serta tautan inline atau reference. Cocok untuk migrasi konten web atau memberi makan LLM. 100% privat.
Custom CSS
Apa Itu Konversi HTML ke Markdown?
Konversi HTML ke Markdown mengambil dokumen HTML yang dirender — tag, atribut, dan nesting yang ditampilkan browser — dan menulisnya ulang sebagai Markdown, format teks-biasa ringan yang dibangun untuk menulis dan kontrol versi. Bila Markdown ke HTML memperluas teks ringkas menjadi markup untuk ditampilkan, ini adalah arah sebaliknya dan reduktif: Anda mulai dengan HTML yang kaya dan bertele-tele lalu menyulingnya menjadi himpunan kecil konvensi yang ditawarkan Markdown.
Di balik layar, konverter mengurai HTML Anda menjadi pohon DOM — struktur node yang sama yang dibangun browser — lalu menelusuri pohon itu dan memancarkan padanan Markdown untuk setiap node yang dikenalinya. <h2> menjadi ## , <strong> menjadi **text**, <ul> menjadi daftar berpeluru, menjadi tautan, <table> menjadi tabel pipa GFM. Menelusuri DOM nyata, alih-alih menjalankan regular expression atas string mentah, itulah yang membuatnya menangani daftar bertingkat, pemformatan inline campuran, dan tabel dengan benar alih-alih patah pada kasus tepi.
Anda meraih konversi ini ketika Anda bermigrasi keluar dari HTML, bukan ke dalamnya. Konten yang terjebak di CMS, editor WYSIWYG, halaman web lama, atau field rich-text sulit di-diff, sulit di-review, dan sulit dipindahkan. Mengonversinya menjadi Markdown membebaskannya ke format yang hidup nyaman di repo Git, generator static-site, atau aplikasi catatan — dan, kian sering, ke format yang dibaca model bahasa besar secara efisien. Tangkapannya, yang dinyatakan terus terang oleh alat yang jujur, adalah konversi ini lossy: HTML dapat mengekspresikan hal yang tidak bisa Markdown, sehingga sebagian struktur dan setiap detail styling sengaja dibuang demi teks yang bersih dan portabel.
Operasi sebaliknya — Markdown kembali ke HTML, untuk saat Anda siap memublikasikan atau mempratinjau — sama bergunanya. Beralihlah ke tab Markdown → HTML atau buka konverter Markdown ke HTML khusus.
HTML in:
<h2>Pricing</h2>
<p>Plans start at <strong>$9/mo</strong>. See the <a href="https://example.com/pricing">details</a>.</p>
<table>
<thead><tr><th>Plan</th><th>Price</th></tr></thead>
<tbody><tr><td>Pro</td><td>$9</td></tr></tbody>
</table>
Markdown out:
## Pricing
Plans start at **$9/mo**. See the [details](https://example.com/pricing).
| Plan | Price |
| ---- | ----- |
| Pro | $9 |
<!-- <div>, classes, and inline styles in the source are dropped — Markdown can't represent them. --> Fitur Utama
Output Sadar-GFM
Menyasar GitHub Flavored Markdown, bukan sekadar CommonMark biasa: tabel HTML menjadi tabel pipa, <li> checkbox menjadi daftar tugas (`- [x]`), dan <del>/<s> menjadi ~~strikethrough~~. Markdown jatuh langsung ke README, isu GitHub, atau situs dokumentasi dan dirender dengan cara yang sama.
Heading ATX atau Setext
Pilih heading ATX berawalan pagar (# H1) atau heading Setext yang digarisbawahi (=== untuk H1, --- untuk H2). Setext hanya mencakup dua level teratas, sehingga konverter otomatis jatuh kembali ke ATX untuk H3 dan lebih dalam — Anda tidak pernah mendapat heading yang tidak valid.
Tautan Inline atau Reference
Beralih antara tautan inline — [text](url) di samping prosa — dan tautan reference, yang mengumpulkan setiap URL ke daftar bernomor di kaki dokumen. Gaya reference menjaga paragraf padat tautan tetap terbaca dan memungkinkan Anda memakai ulang URL berdasarkan label.
Blok Kode Berpagar
Blok <pre><code> menjadi blok kode berpagar dengan tiga backtick, dan kelas language- pada elemen <code> diteruskan sebagai info string pagar. <code> inline menjadi span backtick, sehingga cuplikan bertahan utuh dalam perjalanan.
Menangani Daftar dan Tabel Bertingkat
Menelusuri DOM nyata, sehingga struktur <ul>/<ol> bertingkat dikonversi menjadi daftar Markdown yang berindentasi benar dan daftar terurut dinomori ulang dari 1. Tabel sederhana diratakan menjadi tabel pipa; yang benar-benar rumit jatuh kembali ke HTML mentah alih-alih kehilangan data.
100% Privat, di Browser
Setiap konversi berjalan secara lokal dengan JavaScript — HTML Anda dan Markdown yang dihasilkan tidak pernah meninggalkan perangkat Anda, tidak pernah menyentuh server, dan bekerja offline setelah halaman dimuat. Aman untuk ekspor CMS internal, konten pelanggan, dan halaman yang belum dipublikasikan.
Contoh
<table> web menjadi tabel pipa GFM
<table>
<thead><tr><th>Region</th><th>Sales</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1,204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Region | Sales | | ------ | ----- | | EMEA | 1,204 | | APAC | 980 |
<table> HTML yang di-scrape atau disalin diciutkan menjadi tabel pipa GitHub Flavored Markdown. Baris <thead> menjadi header, baris pembatas bertanda hubung dibuatkan untuk Anda, dan setiap <tr> menjadi satu baris berpembatas pipa — siap dijatuhkan ke README atau halaman dokumentasi.
Tautan: gaya inline vs reference
<p>Read the <a href="https://example.com/guide">setup guide</a> and the <a href="https://example.com/api">API reference</a>.</p>
Inline: Read the [setup guide](https://example.com/guide) and the [API reference](https://example.com/api). Reference: Read the [setup guide][1] and the [API reference][2]. [1]: https://example.com/guide [2]: https://example.com/api
Anchor yang sama dirender dua cara. Inline menjaga URL di samping teks; gaya reference memindahkan setiap URL ke daftar bernomor di bagian bawah, yang menjaga paragraf panjang tetap terbaca ketika satu kalimat membawa beberapa tautan. Pilih gaya dengan radio Tautan.
<ul>/<ol> bertingkat menjadi daftar Markdown berindentasi
<ul>
<li>Build
<ol>
<li>Compile</li>
<li>Bundle</li>
</ol>
</li>
<li>Ship</li>
</ul> - Build 1. Compile 2. Bundle - Ship
Nesting dipertahankan oleh indentasi: <ol> dalam duduk dua spasi di bawah <li> induknya dan beralih dari peluru `-` ke penomoran `1.`. Markdown menomori ulang daftar terurut secara otomatis, sehingga sumber tetap bersih bahkan jika HTML menggunakan atribut value eksplisit.
Sepotong HTML halaman web menjadi Markdown bersih
<article> <h1>Changelog</h1> <p>We shipped <strong>dark mode</strong> and fixed <code>parseDate()</code>.</p> <blockquote><p>Thanks to everyone who reported it.</p></blockquote> </article>
# Changelog We shipped **dark mode** and fixed `parseDate()`. > Thanks to everyone who reported it.
Tempel sepotong halaman nyata — pembungkus <article> dibuang (Markdown tidak punya elemen kontainer), <h1> menjadi `#`, <strong> menjadi `**`, <code> inline menjadi backtick, dan <blockquote> menjadi baris `>`. Pembungkus struktural tanpa padanan Markdown begitu saja luruh.
Cara Mengonversi HTML ke Markdown
- 1
Tempel HTML Anda
Jatuhkan halaman web yang disalin, ekspor CMS atau WYSIWYG, atau cuplikan HTML yang di-scrape. DOM diurai dan diserialisasi menjadi Markdown di browser Anda saat Anda menempel — tanpa upload, tanpa batas ukuran selain memori browser Anda.
- 2
Pilih gaya heading dan tautan
Pilih heading ATX (#) atau Setext (===) dan tautan inline atau reference. Markdown dirender ulang secara langsung, sehingga Anda dapat membandingkan gaya seketika. Output menyasar GitHub Flavored Markdown — tabel, daftar tugas, dan strikethrough termasuk.
- 3
Salin atau unduh
Klik Salin untuk mengambil Markdown, atau Unduh untuk menyimpan file .md. Untuk arah sebaliknya, beralihlah ke tab Markdown → HTML dan tempel Markdown Anda untuk mendapatkan HTML yang dirender kembali.
Kesalahan Umum
Mengharapkan Struktur <div>/<span> Bertahan
Kontainer generik tidak membawa padanan Markdown, sehingga dilepas — kontennya tetap tetapi tag, beserta kelas atau style apa pun padanya, lenyap. Jika tata letak Anda bergantung pada <div> pembungkus atau <span> berstyle, styling itu hilang di Markdown. Ini diharapkan, bukan bug; Markdown sekadar tidak punya cara untuk mengekspresikannya.
<div class="callout warning"><span style="color:red">Heads up!</span></div> <!-- expecting the callout box and red colour to survive -->
Heads up! <!-- container and styles dropped; only the text remains in Markdown -->
Jeda Baris <br> Hilang di Dalam Paragraf
<br> di dalam paragraf adalah soft line break, yang direpresentasikan Markdown dengan dua spasi di akhir sebelum baris baru (atau backslash). Menempel HTML dan mengharapkan jeda baris terlihat bertahan dapat mengejutkan Anda ketika baris bersebelahan mengalir kembali menjadi satu. Konverter memancarkan bentuk hard-break, tetapi jika Anda mengedit manual sesudahnya, jangan hapus spasi di akhir.
Line one<br>Line two <!-- if the break form is removed, these merge into one line -->
Line one Line two <!-- two trailing spaces preserve the <br> as a hard break -->
Tabel Bertingkat Dalam Terdegradasi
Tabel pipa GFM tidak dapat bersarang atau menampung konten blok. Tata letak lawas yang menaruh tabel (atau daftar, atau beberapa paragraf) di dalam sel tabel tidak dapat menjadi tabel pipa bersih — konverter meratakan apa yang bisa dan membiarkan sisanya sebagai HTML mentah agar tidak ada yang hilang. Perbaikannya adalah menyederhanakan sumber, bukan output.
<table><tr><td><table><tr><td>inner</td></tr></table></td></tr></table> <!-- nested table can't become a flat pipe table -->
<!-- Flatten to a single-level table first: --> <table><tr><td>inner</td></tr></table> → | inner | | ----- |
Mengharapkan <script> atau Style Bertahan
<script>, <style>, dan elemen level-head adalah kode dan presentasi, bukan konten dokumen, sehingga dihapus seluruhnya — tidak dikonversi, tidak dipertahankan sebagai HTML mentah. Menempel halaman penuh dan mengharapkan perilaku atau CSS terbawa ke Markdown akan mengecewakan. Markdown adalah format konten; jika Anda butuh kode atau styling, pertahankan HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Body</p>
<!-- expecting the style and script to come through --> Body <!-- only the content survives; <script>/<style> are dropped -->
Kasus Penggunaan Umum
- Migrasikan konten web atau CMS ke Notion, Obsidian, atau static site
- Tarik halaman keluar dari CMS, ekspor WordPress, atau situs HTML lama dan konversikan menjadi Markdown yang jatuh langsung ke Notion, Obsidian, Hugo, atau Jekyll. Anda menukar markup bertele-tele dengan teks portabel yang hidup bersih di repo Git dan di-diff secara masuk akal saat review.
- Ekspor dari editor WYSIWYG
- Editor rich-text memancarkan HTML yang padat dan sarat atribut. Tempel output itu di sini untuk memulihkan Markdown bersih di baliknya — heading, daftar, tautan, dan emphasis — sehingga konten dapat berpindah ke pipeline dokumentasi atau basis pengetahuan berbasis Markdown alih-alih tetap terkunci di editor.
- Bersihkan HTML menjadi Markdown untuk memberi makan LLM dan pipeline RAG
- HTML mentah membakar token pada tag, skrip, dan styling yang tidak pernah dibutuhkan model. Mengonversi halaman yang di-scrape menjadi Markdown menghilangkan kebisingan itu sembari menjaga struktur yang dibaca LLM dengan baik, sehingga Anda memuat lebih banyak konten nyata di jendela konteks dan mendapat embedding lebih bersih untuk retrieval.
- Konversi tempelan rich-text menjadi Markdown
- Salin teks berformat dari halaman web, email, atau dokumen dan ia tiba sebagai HTML di clipboard. Tempel di sini untuk mengubah rich text itu menjadi Markdown yang dapat Anda commit, kirim dalam pull request, atau tulis ke catatan Anda — pemformatan dipertahankan, kekacauan hilang.
- Arsipkan halaman sebagai Markdown
- Simpan konten bermakna dari halaman web sebagai file .md kecil dan tahan masa depan alih-alih snapshot HTML berat penuh skrip dan pelacakan. Markdown tetap terbaca di editor teks mana pun puluhan tahun dari sekarang dan memakan ruang sepersekian.
- Ubah dokumen HTML lawas menjadi Markdown
- Dokumentasi lama yang ditulis sebagai HTML tangan menyakitkan untuk dipelihara. Konversikan menjadi Markdown untuk membawanya ke alur kerja docs-as-code modern — tempat ia dapat di-lint, di-review dalam pull request, dan dirender oleh generator static-site.
Detail Teknis
- Output CommonMark vs GitHub Flavored Markdown
- Konverter dapat menyasar CommonMark biasa atau, secara default, superset GitHub Flavored Markdown. CommonMark mendefinisikan heading, emphasis, daftar, tautan, gambar, kode, dan blockquote secara presisi. GFM menambah empat konstruksi yang memetakan langsung dari HTML umum: <table> → tabel pipa, item daftar checkbox → daftar tugas, <del>/<s> → strikethrough, dan URL telanjang → autolink. Karena sebagian besar konten web memakai tabel dan sejenisnya, output GFM adalah default praktis; pilih CommonMark hanya ketika renderer tujuan tidak memahami ekstensi GFM, yang dalam hal itu tabel jatuh kembali ke HTML mentah.
- Konversi Lossy, Tak Terbalik — Dinyatakan Terus Terang
- HTML jelas lebih ekspresif daripada Markdown, sehingga konversi tidak mungkin lossless, dan layak dinyatakan secara jujur. Markdown tidak punya sintaks untuk <div>, <span>, atau kontainer generik lain; tidak punya cara membawa nama kelas, id, style inline, colspan/rowspan, atau atribut data-* sembarang; dan tidak punya representasi untuk sebagian besar elemen semantik atau tata letak. Itu dilepas (konten dipertahankan, tag dibuang), dibuang (atribut), atau — ketika membuang akan menghilangkan makna — dipertahankan sebagai HTML inline mentah. Perjalanan bolak-balik HTML → Markdown → HTML tidak akan mereproduksi aslinya. Ini pertukaran yang disengaja: Markdown ada untuk menjadi bersih, dapat di-diff, dan dapat diedit manusia, bukan untuk mencerminkan HTML. Sebagian besar pesaing menutupi hal ini; menyatakannya membuat Anda memutuskan dengan mata terbuka apakah Markdown adalah tujuan yang tepat.
- Pertukaran Gaya: ATX/Setext, Inline/Reference, Berpagar/Berindentasi
- Tiga pilihan output punya pertukaran nyata. Heading ATX (#) mencakup keenam level dan di-grep dengan bersih; Setext (digarisbawahi) hanya ada untuk H1/H2, sehingga alat memancarkannya untuk dua level teratas dan jatuh kembali ke ATX di bawahnya. Tautan inline menjaga URL di samping teks — terbaik untuk tautan jarang; tautan reference menarik URL ke kaki dokumen — terbaik untuk prosa padat tautan dan pemakaian ulang berdasarkan label. Untuk kode, blok berpagar (tiga backtick) membawa info string bahasa dan bersarang dengan aman, sedangkan blok kode berindentasi (empat spasi) tidak dapat mengekspresikan bahasa dan patah di dalam daftar — sehingga konverter ini selalu memancarkan blok berpagar dari <pre><code>.
Praktik Terbaik
- Format HTML Sebelum Anda Konversi
- HTML yang diminify atau kusut bertingkat dalam — terutama tabel tata letak bertingkat dan elemen inline tersesat — dikonversi lebih bersih ketika well-formed terlebih dahulu. Jalankan sumber berantakan melalui HTML Formatter kami untuk mem-pretty-print dan menormalkannya, lalu konversi. Input bersih menghasilkan Markdown bersih dengan lebih sedikit fallback HTML mentah.
- Antisipasi dan Tinjau Hal yang Dibuang Lossy
- Perlakukan konversi sebagai lossy secara desain. Kelas, style inline, pembungkus <div>/<span>, dan atribut eksotis hilang di output, dan itu biasanya yang Anda inginkan untuk Markdown portabel — tetapi periksa sekilas hasilnya untuk apa pun yang penting secara semantik yang hanya hidup dalam atribut (aria-label, sel yang digabung colspan) dan tambahkan kembali secara manual jika penting.
- Pilih Gaya Tautan Sesuai Kepadatan Dokumen
- Gunakan tautan inline untuk prosa dengan satu-dua tautan di sana-sini — URL tetap di samping teksnya dan sumber terbaca alami. Beralih ke tautan reference ketika sebuah bagian padat tautan atau memakai ulang URL yang sama: menariknya ke daftar bernomor di kaki menjaga paragraf tetap mudah dipindai dan menghindari pengulangan URL panjang.
- Konversi ke Markdown Sebelum Mengirim Halaman ke LLM
- Ketika Anda memberi konten web ke model — untuk prompt, embedding, atau penyimpanan RAG — konversikan HTML ke Markdown terlebih dahulu. Anda menghilangkan tag, skrip, dan styling yang memboroskan token dan menambah kebisingan, menjaga struktur yang benar-benar dipakai model, dan memuat jauh lebih banyak konten nyata di dalam jendela konteks.
- Verifikasi Tabel Rumit Setelah Konversi
- Tabel pipa GFM bersifat datar — tanpa tabel bertingkat, tanpa konten blok dalam sel, tanpa sel gabungan. Setelah mengonversi tabel padat data atau tata letak, periksa Markdown-nya: kisi sederhana dikonversi sempurna, tetapi apa pun dengan colspan atau blok bertingkat terdegradasi dan mungkin muncul sebagai HTML mentah. Sederhanakan tabel sumber terlebih dahulu jika tabel pipa bersih itu penting.
Pertanyaan yang Sering Diajukan
Bagaimana tautan inline vs reference ditangani?
Heading ATX vs Setext — mana yang sebaiknya saya pakai?
Apa yang terjadi pada HTML yang tidak bisa direpresentasikan Markdown, seperti <div> dan <span>?
Apakah alat ini menghapus <script> dan style?
Bagaimana tabel dan daftar bertingkat ditangani?
Apakah HTML ke Markdown bersifat lossless?
Bisakah saya memberi Markdown ke LLM atau ChatGPT?
Apakah file saya diunggah ke server?
Apakah alat ini bekerja offline?
Bisakah saya mengonversi Markdown kembali ke HTML?
Alat Terkait
Lihat semua alat →Decode & Encode Base64 Online — Konversi Instan di Browser
Encoding & Pemformatan
Decode dan encode Base64 online gratis. Konversi real-time dengan dukungan UTF-8 dan emoji. 100% privat di browser Anda. Tanpa pendaftaran.
Konverter Base64 ke Gambar
Encoding & Pemformatan
Decode string Base64 atau data URI kembali menjadi gambar di browser. Pratinjau, baca dimensi & MIME, lalu unduh sebagai PNG, JPG, GIF, SVG. Tanpa upload.
Konverter CSV ke JSON
Encoding & Pemformatan
Konversi CSV ke JSON di browser. RFC 4180, infer tipe, baris header, aman big-int. 100% privat, tanpa unggah.
Konverter Gambar ke Base64
Encoding & Pemformatan
Konversi gambar ke data URI Base64 di browser — PNG, JPG, GIF, WebP, SVG, ICO. Salin output HTML, CSS, Markdown & JSON. 100% privat, tanpa upload.
JSON Diff (Bandingkan)
Encoding & Pemformatan
Bandingkan dua file JSON langsung di browser Anda. Sorotan side-by-side, output RFC 6902 JSON Patch, abaikan field seperti timestamp dan ID. 100% privat, tanpa upload.
Format & Validasi JSON Online — Gratis, Cepat, Privat
Encoding & Pemformatan
Format, validasi, dan rapikan JSON langsung di browser Anda. Alat online gratis dengan deteksi error, minifikasi, dan salin sekali klik. 100% privat.