ToolDeck

HTML'den Markdown'a Dönüştürücü

HTML'yi Markdown biçimine dönüştürün

Örnek dene

HTML Girişi

Markdown Çıktısı

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
Markdown çıktısı burada görünecek…

HTML'den Markdown'a Dönüşüm Nedir?

HTML'den Markdown'a dönüşüm, HTML biçimlendirmesini John Gruber tarafından 2004 yılında oluşturulan hafif, düz metin biçimlendirme sözdizimi olan Markdown'a dönüştürür. Markdown, render edilmeden de okunabilir olacak şekilde tasarlanmıştır. HTML'nin <strong> ve <a href=""> gibi açılış-kapanış etiketleri gerektirdiği yerde Markdown kısa karakterler kullanır: **kalın**, [bağlantılar](url) ve # başlıklar. HTML'yi Markdown'a dönüştürmek, ham HTML'ye kıyasla okunması, düzenlenmesi ve sürüm kontrolüyle yönetilmesi daha kolay dosyalar üretir.

Dönüşüm süreci HTML öğelerini Markdown karşılıklarıyla eşleştirir. Bir <h2> ## olur, <ul><li> ise - öğe olur ve bir <a> etiketi [metin](url) biçimini alır. <div>, <span> veya özel veri öznitelikleri gibi bazı HTML öğelerinin doğrudan Markdown karşılığı yoktur. Dönüştürücüler, yapılandırmaya bağlı olarak bu etiketleri genellikle ya siler ya da ham HTML olarak geçirir.

Markdown, geliştirici belgeleri (GitHub, GitLab, Bitbucket), statik site oluşturucuları (Hugo, Jekyll, Astro), not alma uygulamaları (Obsidian, Notion) ve teknik bloglar için standart yazma biçimi haline gelmiştir. Mevcut HTML içeriğini Markdown'a dönüştürmek; web sitesi taşırken, CMS içeriği aktarırken veya web sayfalarını taşınabilir bir biçimde arşivlerken yaygın bir adımdır. HTML'nin aksine Markdown dosyaları, sürüm kontrolünde temiz farklar üretir ve bu da belgeleme değişikliklerinin kod incelemesini pratik hale getirir.

Neden HTML'den Markdown'a Dönüştürücü Kullanmalısınız?

HTML'yi Markdown olarak elle yeniden yazmak, özellikle iç içe listeler, tablolar veya onlarca bağlantı içeren sayfalarda yavaş ve hataya açık bir işlemdir. Otomatik bir dönüştürücü, yapısal eşleştirmeyi anında ve tutarlı biçimde gerçekleştirir.

Tarayıcınızda anında dönüştürün
HTML'yi yapıştırın ve milisaniyeler içinde Markdown çıktısını alın. Sunucu gidiş-dönüşü yok, işlem kuyruğu beklentisi yok. Dönüşüm tamamen JavaScript kullanarak tarayıcınızda çalışır.
🔒
Verilerinizi gizli tutun
HTML'niz makinenizden hiç ayrılmaz. Tüm işlem istemci tarafında gerçekleşir; yükleme, kayıt veya içeriğinize üçüncü taraf erişimi söz konusu değildir.
📝
Belge yapısını koruyun
Başlıklar, listeler, bağlantılar, görseller, kod blokları ve tablolar doğru Markdown karşılıklarıyla eşleştirilir. İç içe yapılar ve satır içi biçimlendirme özyinelemeli olarak işlenir.
🔀
Hesap veya kurulum gerekmez
Aracı açın ve dönüştürmeye başlayın. Kurulacak bir şey, yapılandırılacak bir API anahtarı veya doldurulacak bir kayıt formu yoktur. Modern tarayıcısı olan her cihazda çalışır.

HTML'den Markdown'a Kullanım Senaryoları

Frontend Geliştirici: CMS Göçü
WordPress, Drupal veya headless CMS'ten blog yazılarını veya sayfaları HTML olarak dışa aktarın, ardından Next.js, Astro veya Hugo gibi statik site oluşturucularla kullanmak üzere Markdown'a dönüştürün.
Backend Mühendisi: API Belgelendirmesi
Otomatik oluşturulan HTML API belgelerini, kaynak kodunuzun yanında yer alan Markdown dosyalarına dönüştürün. Markdown belgeler, GitHub render'lamasıyla bütünleşir ve açıkladıkları kodla birlikte sürümlenebilir.
DevOps: Çalışma Kitabı Dönüşümü
HTML olarak dışa aktarılan dahili wiki sayfalarını (Confluence, SharePoint) açıkladıkları altyapı koduyla birlikte Git deponuzda saklanan Markdown çalışma kitaplarına dönüştürün.
QA Mühendisi: Test Senaryosu Belgelendirmesi
Web tabanlı araçlardan HTML test raporlarını veya manuel test planlarını, doğruladıkları kod değişiklikleriyle birlikte pull request'lerde incelenebilen Markdown dosyalarına dönüştürün.
Veri Mühendisi: Web Kazıma Temizliği
Kazınan web sayfalarındaki HTML standart kalıplarını soyun ve temiz Markdown metni üretin. Bu işlem gezinme, reklamlar ve düzen biçimlendirmesini kaldırırken makale içeriğini ve yapısını korur.
Öğrenci: Araştırma Notları
Web kaynaklarından içerik kopyalayın ve HTML'yi Obsidian, Notion veya herhangi bir Markdown tabanlı not alma sistemine aktarmak için Markdown'a dönüştürün. Başlıkları, bağlantıları ve biçimlendirmeyi korur.

HTML'den Markdown'a Öğe Başvurusu

Aşağıdaki tablo, yaygın HTML öğelerinin Markdown karşılıklarıyla nasıl eşleştirildiğini göstermektedir. Bu eşleştirme, tablolar, üstü çizili metin ve görev listeleriyle CommonMark belirtimini genişleten GitHub-Flavored Markdown (GFM) kurallarını izler. Burada listelenmeyen öğeler (<div>, <form> veya özel web bileşenleri gibi) Markdown karşılığı olmadığından ya silinir ya da ham HTML olarak geçirilir.

HTML ÖğesiMarkdown SözdizimiNotlar
<h1>...<h6># ... ######ATX headings, level matches tag number
<p>Blank line separationDouble newline between paragraphs
<strong>, <b>**text**Bold / strong emphasis
<em>, <i>*text*Italic / emphasis
<a href="url">[text](url)Inline link with optional title
<img src="url">![alt](url)Image with alt text
<ul><li>- itemUnordered list with dash or asterisk
<ol><li>1. itemOrdered list, numbers restart per block
<blockquote>> textBlock quote, nestable with >>
<code>`code`Inline code span
<pre><code>```lang\ncode\n```Fenced code block with optional language
<hr>---Horizontal rule (three dashes)
<table>| col | col |GFM table syntax with alignment
<del>, <s>~~text~~Strikethrough (GFM extension)

Markdown Çeşitleri: GFM, CommonMark ve Orijinal

Tüm Markdown'lar aynı değildir. Farklı platformlar Markdown'ı farklı şekilde işlediğinden çıktı biçimi önemlidir. En yaygın üç çeşit şunlardır: GitHub-Flavored Markdown (GFM), CommonMark ve Gruber'in orijinal Markdown'ı.

GitHub-Flavored Markdown (GFM)
En yaygın kullanılan çeşit. Tablolar (pipe sözdizimi), üstü çizili metin (~~metin~~), görev listeleri (- [x]) ve otomatik bağlantılı URL'ler ekler. GitHub, GitLab ve çoğu geliştirici aracı tarafından kullanılır. Bu dönüştürücü varsayılan olarak GFM uyumlu Markdown çıktısı üretir.
CommonMark
Orijinal Markdown sözdizimindeki belirsizlikleri gideren katı bir belirtim. Liste devamı, vurgu ayrıştırma ve blok düzeyinde iç içe yapı için kesin kurallar tanımlar. GFM ve pek çok statik site oluşturucunun temeli olarak kullanılır.
Orijinal Markdown
John Gruber'in 2004 tarihli belirtimi. Tablolar, çitlenmiş kod blokları veya üstü çizili metni desteklemez. Modern araçların çoğu bunu CommonMark'ın bir alt kümesi olarak değerlendirir. Bugün hedef biçim olarak nadiren kullanılır.

Kod Örnekleri

JavaScript (Turndown), Python (markdownify ve html2text), Go ve komut satırında Pandoc ile çalışan örnekler.

JavaScript (Turndown)
import TurndownService from 'turndown'

const turndown = new TurndownService({ headingStyle: 'atx' })
const html = '<h1>Title</h1><p>A <strong>bold</strong> paragraph.</p>'
const md = turndown.turndown(html)
console.log(md)
// → "# Title\n\nA **bold** paragraph."
Python (markdownify)
from markdownify import markdownify

html = '<h2>Section</h2><ul><li>First</li><li>Second</li></ul>'
md = markdownify(html, heading_style='ATX')
print(md)
# → "## Section\n\n- First\n- Second"
Python (html2text)
import html2text

converter = html2text.HTML2Text()
converter.body_width = 0  # disable line wrapping

html = '<p>Visit <a href="https://example.com">Example</a> for details.</p>'
md = converter.handle(html)
print(md)
# → "Visit [Example](https://example.com) for details."
Go (html-to-markdown)
package main

import (
	"fmt"
	md "github.com/JohannesKaufmann/html-to-markdown"
)

func main() {
	converter := md.NewConverter("", true, nil)
	html := `<h3>Go Example</h3><p>Code: <code>fmt.Println()</code></p>`
	markdown, _ := converter.ConvertString(html)
	fmt.Println(markdown)
	// → "### Go Example\n\nCode: `fmt.Println()`"
}
CLI (Pandoc)
# Convert an HTML file to Markdown
pandoc input.html -f html -t markdown -o output.md

# Pipe HTML from stdin
echo '<p>Hello <em>world</em></p>' | pandoc -f html -t markdown
# → Hello *world*

# Use GitHub-Flavored Markdown output
pandoc input.html -f html -t gfm -o output.md

Sıkça Sorulan Sorular

Hangi HTML öğeleri Markdown'a dönüştürülemez?
Markdown'da <div>, <span>, <form>, <input>, <iframe> veya özel CSS sınıfları ve stilleri olan herhangi bir öğe için karşılık yoktur. Çoğu dönüştürücü bu etiketleri siler ve yalnızca iç metni korur. Bazı dönüştürücüler, desteklenmeyen HTML'yi değiştirmeden geçirebilir; bu geçerlidir çünkü Markdown belirtimi satır içi HTML'ye açıkça izin verir. Bu öğeleri korumak istiyorsanız dönüştürücünüzü silmek yerine ham HTML'yi tutacak şekilde yapılandırın.
HTML tabloları Markdown'a nasıl dönüştürülür?
HTML tabloları, GFM pipe-tablo sözdizimiyle eşleştirilir: | Başlık | Başlık | biçiminde bir ayırıcı satır | --- | --- | ile birlikte. GFM tabloları colspan, rowspan veya hücre düzeyinde stillendirmeyi desteklemez. Birleştirilmiş hücreli karmaşık tablolar düzleştirilerek yapısal bilgi kaybedilebilir. Basit veri tabloları için dönüşüm kayıpsızdır.
HTML'den Markdown'a dönüşüm kayıpsız mı?
Hayır. Markdown, HTML'nin bir alt kümesidir; dolayısıyla dönüşüm sırasında bazı bilgiler her zaman kaybolur. CSS sınıfları, satır içi stiller, veri öznitelikleri, form öğeleri ve <article> veya <section> gibi anlamsal etiketlerin Markdown karşılığı yoktur. Metin içeriği ve temel yapı (başlıklar, listeler, bağlantılar, vurgu) doğru biçimde korunur. Çoğu belgelendirme ve içerik taşıma iş akışında korunan öğeler zaten önem taşıyanlardır.
HTML'den Markdown'a ile HTML'den düz metne dönüşüm arasındaki fark nedir?
HTML'den düz metne dönüşüm tüm biçimlendirmeyi siler ve yapısız ham metin üretir. HTML'den Markdown'a dönüşüm ise belge yapısını korur: başlıklar başlık olarak kalır, bağlantılar URL'lerini korur, listeler liste olarak kalır ve vurgu korunur. Markdown çıktısı, aynı mantıksal yapıyla tekrar HTML'ye dönüştürülebilir.
Markdown'ı tekrar HTML'ye dönüştürebilir miyim?
Evet. Her Markdown işlemcisi (marked, markdown-it, Python-Markdown, goldmark) Markdown'ı HTML'ye dönüştürür. Bu gidiş-dönüş, Markdown'ın popüler olmasının nedenlerinden biridir: okunabilir bir biçimde yazarsınız ve web için HTML'ye render edersiniz. HTML'den Markdown'a dönüşüm desteklenmeyen öğeleri düşürdüğünden gidiş-dönüş tam olarak simetrik değildir.
Dönüştürücü satır içi CSS veya JavaScript içeren HTML'yi nasıl işler?
Satır içi CSS (style öznitelikleri) ve <style> blokları, Markdown'ın stillendirme sözdizimi olmadığından dönüşüm sırasında silinir. JavaScript (<script> etiketleri ve onclick gibi olay işleyicileri) de kaldırılır. Dönüştürücü yalnızca belge içeriğini ve yapısını çıkarır. Bu, güvenilmeyen HTML içeriğini belgelerinize aktarırken HTML'den Markdown'a dönüşümü yararlı bir temizleme adımı haline getirir.
Projem için hangi Markdown çeşidini kullanmalıyım?
İçeriğiniz GitHub, GitLab veya çoğu belgelendirme platformunda görüntülenecekse GitHub-Flavored Markdown (GFM) kullanın. Farklı render'lar arasında katı belirtim uyumu ve öngörülebilir ayrıştırma gerekiyorsa CommonMark tercih edin. Orijinal Markdown yalnızca eski sistemler için geçerlidir. GFM, çoğu proje için en güvenli varsayılandır.