IT
OmnvertGörsel • Belge • Ağ

Markdown ↔ HTML Dönüştürücü

Convert Markdown to HTML and HTML back to Markdown with a sandboxed live preview — entirely in your browser.
Developer Tools →
Markdown
540 chars
HTML
// Output appears here
0 chars
Live previewsandboxed
Input lines
27
Output bytes
0
Headings
0
100% client-side: your content never leaves your browser. The preview runs in a sandboxed iframe with no script execution.
About this tool

Markdown ve HTML, neredeyse her metin tabanlı ürünün arasında oynadığı iki formattır. Markdown insanların yazdığıdır — README'ler, blog yazıları, GitHub yorumları, Slack mesajları, dokümantasyon, uygulama içi notlar — çünkü hızlı yazılır, ham haliyle okunabilir görünür ve birkaç kuralı öğrendikten sonra kas hafızası ödüllendirir. HTML tarayıcıların, e-posta istemcilerinin ve render motorlarının asıl tükettiğidir; Markdown belgesinin görüntülemeden önce derlendiği kanonik formdur. Bu dönüşüm günde yüz milyonlarca kez gerçekleşir, çoğunlukla görünmez şekilde, ve sürtüşme yalnızca bir şey ters gittiğinde fark edilir.

Bu dönüştürücü o iki yönü tek arayüzde yönetir. Markdown'ı sola yapıştırın, HTML'i sağda alın, tam tersi de geçerli. Markdown tarafı CommonMark (standartlaştırılmış varyant) artı GitHub Flavored Markdown uzantılarını anlar: tablolar, görev listeleri ([ ] ve [x] kutucuklarıyla), dil etiketli kod blokları, otolinklenmiş URL'ler, ~~üzeri çizili~~, ve dipnotlar. HTML tarafı GitHub'ın yorum render motorunun temelindeki toleranslı parser'ı kullanır: kapatılmamış tag, eşleşmeyen tırnak, garip boşluk gibi gerçek dünyada karşılaşılan eksik biçimli HTML'i affedici işler.

Markdown-to-HTML yönü daha basit ve çoğu kullanıcının istediği. Başlıklar (# H1) <h1> olur. Boş satırla ayrılmış paragraflar <p>. Kalın (**) <strong>, italik (*) <em>. Linkler <a> tag, kod (`) <code>, üç-tırnaklı (```language) <pre><code class="language-...">. Listeler <ul>/<ol>, alıntı <blockquote>. Dönüşümler determinististir, çıktı HTML5 standardındadır. Kod blokları çoğu syntax highlighter (Prism, highlight.js) ile uyumlu sınıf adı taşır; renklendirme render katmanında gerçekleşir.

GFM tabloları Markdown'ı dokümantasyon için gerçekten kullanışlı yapan özelliktir. Pipe-tire sözdizimi <table>, <thead>, <tbody> ve hizalanmış kolonlar üretir. Header satırı olan tablolar ekran okuyucuların iyi yorumladığı semantik markup üretir. Birleştirilmiş hücreler GFM spec'inde yoktur — onlara ihtiyaç duyuyorsanız Markdown'dan büyümüşsünüz demektir, HTML elle yazılmalı.

Görev listeleri ürün işi için ergonomik kılan ikinci uzantıdır. `- [ ] yapılmadı` ve `- [x] yapıldı` <li> içine yerleştirilmiş <input type="checkbox"> üretir. Çıktı checkbox'ları varsayılanda devre dışıdır (interaktif değil); GitHub yorumlarında render edildiği gibi görünürler. Wiki veya not uygulaması için interaktif istiyorsanız output'tan disabled attribute'unu çıkarabilirsiniz.

Sanitize edilmesi güvenilmeyen kullanıcı içeriği için önemlidir. Düz Markdown ham HTML'e izin verir — Markdown kaynağındaki `<script>alert(1)</script>` gerçek <script> tag'i üretir; render edilmiş çıktı başka kullanıcılara gösteriliyorsa XSS açığıdır. Sanitize toggle'ı tehlikeli tag ve attribute'ları siler (<script>, on* event handler, javascript: URL'ler). Birinci taraf içerik için kapalı bırakılabilir; kullanıcı üretimi içerik için açılmalı.

HTML-to-Markdown yönü daha zorludur çünkü HTML üst kümedir — bazı HTML yapıları temiz Markdown karşılığı yoktur. Araç dengeli mod kullanır: Markdown karşılığı yoksa güvenli HTML'i inline koru (örn. <details><summary>); varsa yaklaştır (<span style='font-weight:bold'> bold olur). Inline stiller atılır çünkü Markdown yapısaldır, sunum değil.

Akıllı tırnaklar yazarları yakalayan bir ayardır. Markdown kaynak dosyaları genellikle düz tırnak (" ve ') kullanır çünkü klavyelerde o vardır, ama render edilmiş HTML genellikle tipografik doğruluk için kıvrık tırnak (“ ”) ister. Akıllı tırnak toggle'ı düzü kıvrığa çevirir. Teknik yazımda (kod parçacıkları) kapalı bırakın; nesir yazımı için açın.

Gizlilik aynı modeldir: yükleme yok, log yok, tamamen tarayıcıda çalışır. Dönüşümü güçlendiren kütüphaneler (marked, turndown) sayfayla beraber paketlenmiştir; uzak API çağrısı yapılmaz. İçerik hassasken — yayınlanmamış makale taslakları, dahili dokümantasyon — bu önemlidir.

Bu araç Omnvert'in yazma utiliti'leriyle eşleşir. Word Counter her iki yönün dilbilimsel şeklini gösterir, JSON Viewer Markdown belgelerinin yanındaki yapısal veriyi yönetir, HTML Formatter HTML tarafının CMS'e yapıştırmadan önce temizlenmesi gereken durumlarda faydalıdır.

Kullanım senaryoları
  • Markdown'dan HTML'e dönüştürerek statik site veya e-posta digest oluşturun.
  • Eski HTML dokümantasyonu Markdown tabanlı doc platformuna import edin.
  • Bir blog yazısını Markdown editör ve HTML export eden CMS arasında round-trip yapın.
  • Paylaşımlı yorum thread'inde render etmeden önce güvenilmeyen Markdown'ı sanitize edin.
  • GitHub-flavored görev listelerini GitHub-dışı render için HTML'e çevirin.
  • Yapısal Markdown kaynağını geri kazanmak için sunum HTML'ini sıyırın.
  • Markdown taslaklardan temiz HTML e-posta gövdeleri üretin.
  • Junior yazarlara Markdown sözdizimi ile HTML element eşlemesini öğretin.
Nasıl çalışır
  1. 1Yön seçin: Markdown → HTML veya HTML → Markdown.
  2. 2Kaynağı sola yapıştırın.
  3. 3Hedefe göre GFM uzantıları, sanitize, akıllı tırnak, link stili ayarlayın.
  4. 4Dönüştürülmüş çıktı sağda canlı güncellenir.
  5. 5Kaynağı düzenleyin, her iki taraf gerçek zamanlı güncellensin.
  6. 6Kopyala'ya tıklayın veya .html / .md indirin.
SSS
Hangi Markdown lehçesini destekliyor?
CommonMark (standartlaştırılmış varyant) artı GitHub Flavored Markdown uzantıları: tablolar, görev listeleri, otolinklenmiş URL'ler, üzeri çizili, dil etiketli kod blokları ve dipnotlar. Diğer lehçeler (MultiMarkdown, Pandoc) bu kümenin dışındaki özelliklere sahip olabilir.
Markdown'ımdaki tehlikeli HTML render edilir mi?
Yalnızca sanitize kapalıysa. Sanitize açıkken tehlikeli tag ve attribute'lar (<script>, on* handler, javascript: URL) silinir, güvenli Markdown markup'ı korunur. Kullanıcı üretimi içerik için açık tutun.
HTML→Markdown çıktım neden bir kısım HTML'i inline saklıyor?
HTML, Markdown'ın ifade edebildiğinin üst kümesidir. Temiz Markdown karşılığı olmayan yapılar (<details>, <kbd>, <sup>) anlamı yitirmemek için inline HTML olarak korunur. Saf Markdown istiyorsanız o blokları elle düzenleyin.
Birleştirilmiş hücreli tablolar destekleniyor mu?
Hayır — GFM tabloları satır/sütun span'ı desteklemez. Kaynağınız birleştirilmiş hücreliyse dönüştürücü yassılaştırılmış yaklaşım üretir; bu durumlarda HTML'i elle yazın.
Kod bloklarını syntax highlighter ile renklendirir mi?
Hayır. Çıktı dil etiketini `language-*` sınıfı olarak korur; çoğu highlighter kütüphanesi (Prism, highlight.js) onu okuyup render zamanında renk uygular.
Bir belgeyi her iki yönde kayıpsız round-trip edebilir miyim?
Yalnızca CommonMark + GFM özellikleri kullanan Markdown için evet. Sunum stilli HTML veya HTML-only yapılar round-trip'te kaybolur. Round-trip sadakati önemliyse örnekle test edin.
Yapıştırdıklarım sunucuya gidiyor mu?
Hayır. Her iki dönüşüm tamamen tarayıcınızda çalışır. Kütüphaneler (marked, turndown) sayfayla beraber gelir.
Akıllı tırnak — kullanmalı mıyım?
Nesir için evet (kıvrık tırnak tipografik olarak doğru). Teknik yazımda (kod, komut satırı, API doc) düz tırnak kullanın.