Cos'è la conversione HTML in Markdown?
HTML è il markup renderizzato che il browser visualizza — <h1>, <ul>, <table>, <a> e il resto. Markdown è un formato di testo semplice leggero che usa una punteggiatura minima (# per le intestazioni, * per l'enfasi, - per gli elementi di elenco) per codificare la stessa struttura. GitHub Flavored Markdown (GFM) estende la specifica CommonMark originale con tabelle, testo barrato, liste di attività e autolink. Convertire HTML in Markdown porta l'HTML renderizzato o esportato in Markdown di testo semplice editabile — esattamente ciò di cui ha bisogno una migrazione di contenuti da un CMS o una pulizia di README.
Quali funzionalità di GitHub Flavored Markdown l'output supporta?
Il motore turndown@7.2.0 incluso con l'estensione turndown-plugin-gfm emette l'intero superset GFM dal tuo HTML: intestazioni in stile ATX # a ###### da <h1>–<h6>, elenchi ordinati e non ordinati con annidamento, grassetto **testo** e corsivo *testo*, barrato ~~testo~~ da <del>, link inline [testo](url) e immagini , blocchi di codice recintati con suggerimenti di linguaggio (```js), span di codice inline `code`, tabelle con pipe da <table>, liste di attività GFM - [ ] / - [x] da input checkbox, citazioni in blocco > e righe orizzontali ---. Il pannello di anteprima ri-renderizza il Markdown emesso con marked@12.0.2 per confermare visivamente la conversione.
Come funziona la conversione HTML in Markdown?
Ogni conversione viene eseguita localmente nel tuo browser utilizzando tre librerie incluse — niente CDN, niente fetch, niente telemetria. I passaggi principali sono:
- Sanitizzare: l'HTML incollato viene prima elaborato da
DOMPurify.sanitize(html, { USE_PROFILES: { html: true } })per rimuovere gli elementi<script>, tutti i gestori di evention*e gli URIjavascript:prima che qualsiasi cosa attraversi il markup. DOMPurify è lo stesso sanitizzatore XSS usato da Mozilla MDN, Atlassian e Microsoft 365. - Convertire:
turndownService.turndownattraversa il DOM ripulito ed emette GitHub Flavored Markdown — le intestazioni diventano prefissi#, gli elenchi diventano elementi-/1.,<table>diventa una tabella con pipe, e così via. Il Markdown viene scritto nel<textarea>di sola lettura tramitevalue(maiinnerHTML), quindi è intrinsecamente sicuro. - Renderizzare: il Markdown emesso viene ri-analizzato da
marked.parse, sanitizzato di nuovo daDOMPurifye assegnato all'innerHTMLdel pannello di anteprima per ottenere una conferma visiva che il Markdown riproduce la struttura attesa. La modalità live applica un debounce di 150 ms all'input affinché l'output si aggiorni durante l'incollaggio senza sovraccaricare il parser.
Perché convertire HTML in Markdown con questo strumento?
- Privacy: ogni passaggio di sanitizzazione, conversione e rendering avviene nel tuo browser. L'HTML — inclusi post esportati da CMS, documentazione interna e codice sorgente di pagine riservate — non raggiunge mai i nostri server.
- Sicuro contro XSS per impostazione predefinita: l'HTML incollato viene elaborato da DOMPurify prima che turndown lo attraversi, e il pannello di anteprima ri-elabora l'HTML ri-renderizzato tramite DOMPurify prima di
innerHTML, quindi incollare markup che contiene tag<script>o gestorionerror=produce un'anteprima inerte e Markdown pulito. - GFM completo: gli elementi
<table>si convertono in tabelle Markdown con pipe,<del>in barrato e le liste di checkbox in liste di attività GFM. La maggior parte dei convertitori online perde le tabelle nel percorso HTML → Markdown — l'estensione inclusaturndown-plugin-gfmle preserva.
Quali sono le applicazioni comuni della conversione HTML in Markdown?
Convertire HTML in Markdown è ricorrente in migrazione di contenuti, documentazione e archiviazione:
- Migrazione di CMS: esportare un post WordPress o Ghost come HTML e convertirlo in Markdown per una ricostruzione con Hugo / Jekyll / 11ty / Astro. La conversione preserva i livelli di intestazione, i link, gli elenchi e l'enfasi inline.
- Pulizia di README: incollare l'HTML renderizzato di una pagina wiki o di un articolo web e riportarlo in Markdown editabile per un README di progetto o un sito di documentazione, invece di riscrivere la struttura a mano.
- Archiviazione e note: catturare un'email HTML o un ritaglio web e convertirlo in Markdown per l'archiviazione in Obsidian, Notion o una base di conoscenza in testo semplice — Markdown rimane compatibile con i diff e sopravvive ai cambiamenti di formato.
Come si presenta un esempio di conversione HTML in Markdown?
Incollando <h2>Intestazione</h2><ul><li>a</li><li>b<ul><li>annidato</li></ul></li></ul> si produce Markdown con ## Intestazione, un elenco puntato annidato e un pannello di anteprima che ri-renderizza la stessa struttura annidata. Incollando un <table> con una riga di intestazione e due righe di dati si produce la tabella con pipe equivalente | col | col | — confermando che la conversione preserva intestazioni, elenchi e tabelle.
Questo convertitore HTML in Markdown viene eseguito interamente nel mio browser?
Sì. Ogni passaggio di sanitizzazione, conversione e rendering viene eseguito localmente come JavaScript all'interno della tua scheda del browser. Le tre librerie incluse — turndown@7.2.0 (con turndown-plugin-gfm@1.0.2), marked@12.0.2 e DOMPurify@3.1.7 — sono servite dalla stessa origine della pagina, quindi nessuna dipendenza da CDN, niente fetch, niente XMLHttpRequest, niente navigator.sendBeacon sull'input. Lo strumento funziona anche offline una volta caricata la pagina, perché è un bundle statico HTML/CSS/JS con le librerie vendor copiate accanto. I post esportati, i documenti interni e il codice sorgente di pagine riservate restano sul tuo dispositivo.
Il pannello di anteprima renderizzata è sicuro contro XSS?
Sì. L'HTML incollato viene elaborato da DOMPurify.sanitize prima che turndown lo attraversi, e ogni stringa HTML assegnata all'innerHTML dell'anteprima passa anche per DOMPurify.sanitize(html, { USE_PROFILES: { html: true } }). DOMPurify è il sanitizzatore XSS open source mantenuto da Cure53; è la stessa libreria utilizzata da Mozilla MDN, Atlassian e Microsoft 365 per irrobustire l'HTML fornito dall'utente. Il profilo html predefinito rimuove gli elementi <script>, ogni attributo gestore di evento on* (onerror, onclick, ecc.) e gli schemi URI javascript:. Incollare <img src=x onerror=alert(1)> produce un'anteprima dove document.querySelector('#output-preview img[onerror]') restituisce null e nessun avviso viene attivato.
Le tabelle GFM sono convertite dall'HTML?
Sì. La direzione HTML → Markdown usa turndown-plugin-gfm, che aggiunge una regola turndown personalizzata che attraversa i nodi <table> ed emette il Markdown di tabella con pipe equivalente — una riga di intestazione, una riga di allineamento |---|---| e poi righe di dati. La maggior parte dei convertitori online perde le tabelle su questo percorso; questo le preserva. Il barrato (<del>testo</del> → ~~testo~~) e le liste di attività (<input type="checkbox"> → - [ ] / - [x]) si convertono allo stesso modo.
Il mio HTML sarà convertito correttamente?
Per l'insieme canonico di funzionalità GFM — intestazioni da h1 a h6, elenchi ordinati e non ordinati con annidamento, grassetto / corsivo / barrato, link inline, immagini inline, blocchi di codice recintati con tag di linguaggio, span di codice inline, tabelle con pipe, liste di attività, citazioni in blocco, righe orizzontali e autolink — la conversione è pulita e prevedibile. Casi limite: i commenti HTML (<!-- ... -->) vengono rimossi (Markdown non ha una sintassi per i commenti); lo stile inline e gli attributi di classe vengono scartati perché Markdown non ha equivalente; e le tag inline poco comuni come <sub> / <sup> vengono convertite in testo puro. Sono comportamenti documentati di turndown, non bug.
L'evidenziazione della sintassi nei blocchi di codice recintati è supportata?
Non in v1. I blocchi di codice recintati vengono renderizzati nell'anteprima con font monospace e uno sfondo discreto, ma senza evidenziazione dei token per linguaggio. Aggiungere l'evidenziazione della sintassi richiederebbe di includere Prism o highlight.js, ciascuno dei quali aggiunge 15–40 KB più un file di grammatica per linguaggio e una matrice di temi che andrebbe allineata con la palette Workshop Terminal. Per ora, il renderer si concentra sulla correttezza e sulla sicurezza XSS; se ci sarà domanda da parte degli utenti per l'evidenziazione inline, un interruttore opt-in è un seguito praticabile.
Questo Convertitore HTML in Markdown viene fornito con turndown@7.2.0 (+ turndown-plugin-gfm@1.0.2), marked@12.0.2 e DOMPurify@3.1.7 incluse dalla stessa origine, emette l'intero insieme di funzionalità GFM e sanitizza ogni stringa HTML renderizzata prima che tocchi il DOM. Nessun upload, nessuna CDN, nessuna telemetria — ogni byte resta nel tuo browser.