DataSwap Convertitori di file e dati veloci, senza registrazione

Convertitore da HTML a Markdown

Incolla l'HTML qui sotto — il Markdown pulito appare all'istante. Nulla di ciò che incolli esce dal tuo browser.

Analisi DOM reale, seguita da un semplice attraversamento dell'albero

Questo strumento passa il tuo HTML a DOMParser — lo stesso parser che il tuo browser usa per ogni pagina che renderizza — invece di provare a scrivere a mano espressioni regolari su testo HTML grezzo, che è esattamente il tipo di approccio che si rompe non appena incontra markup reale con annidamento insolito o tag non chiusi. Una volta ottenuto un albero DOM corretto, lo percorre interamente in modo ricorsivo: i tag di blocco come titoli, elenchi e citazioni diventano il loro equivalente Markdown, i tag inline come grassetto, corsivo, link e codice diventano la loro sintassi Markdown inline, e il testo semplice viene mantenuto con gli spazi bianchi ridotti come farebbe un browser. Consulta le domande frequenti per sapere esattamente quali tag sono coperti e quali restano deliberatamente fuori ambito.

Esempio pratico

Input:

<h2>Lista della Spesa</h2>
<p>Non dimenticare il <strong>latte</strong> e il <em>pane</em>.</p>
<ul>
  <li>Latte</li>
  <li>Pane</li>
  <li>Uova</li>
</ul>
<blockquote>Controlla il coupon prima di pagare.</blockquote>

Output:

## Lista della Spesa

Non dimenticare il **latte** e il *pane*.

- Latte
- Pane
- Uova

> Controlla il coupon prima di pagare.

Domande frequenti

Questo strumento gestisce qualsiasi HTML gli venga passato?

Converte un sottoinsieme documentato e onesto — i tag che le persone usano davvero per i contenuti quotidiani: titoli (h1–h6), grassetto (strong/b), corsivo (em/i), link, immagini, elenchi puntati e numerati a un solo livello, citazioni, linee orizzontali, paragrafi e interruzioni di riga, oltre a codice inline e blocchi di codice delimitati (pre / pre > code). Non tenta di gestire tabelle, elenchi annidati, liste di definizioni o markup di impaginazione come div e span usati solo per lo stile — questi vengono saltati oppure il loro testo viene elaborato ricorsivamente senza aggiungere sintassi Markdown speciale. Per un post di blog, un articolo o un frammento di contenuto formattato, questo sottoinsieme copre la stragrande maggioranza dell'HTML reale; non è un compilatore generico da HTML a Markdown per pagine web arbitrarie.

Perché usa il DOMParser nativo del browser invece di un parser HTML scritto a mano?

Perché l'analisi dell'HTML è un problema genuinamente difficile già risolto correttamente, gratis, da ogni motore di browser. L'HTML del mondo reale è pieno di casi limite — tag non chiusi, regole implicite di chiusura dei tag, attributi senza virgolette, annidamento errato — per cui la specifica HTML definisce un comportamento di recupero preciso, proprio perché i parser scritti a mano tendono a sbagliarli in modo sottile. Questo strumento analizza con new DOMParser().parseFromString(html, "text/html") — lo stesso motore che il tuo browser usa per renderizzare qualsiasi pagina visiti — e poi percorre l'albero DOM risultante, già corretto. È una scelta ingegneristica deliberata: non reinventare qualcosa di notoriamente facile da sbagliare quando un'implementazione corretta è già lì, dentro il browser.

Il mio HTML viene caricato da qualche parte?

No. L'analisi e l'intero attraversamento dell'albero avvengono localmente, nel tuo browser; nulla di ciò che incolli viene trasmesso o salvato su un server. Questo vale per ogni strumento di questo sito, e qui conta particolarmente perché l'HTML che stai convertendo è spesso una bozza non pubblicata o contenuto preso da qualche parte che preferiresti non ricaricare altrove.

Cosa succede con un elenco annidato, come un <ul> dentro un <li>?

Resta onestamente fuori dall'ambito documentato di questo strumento. Questo convertitore gestisce in modo affidabile un livello di annidamento degli elenchi — un semplice ul o ol con figli li. Un elenco annidato dentro un elemento di un altro elenco non viene rilevato in modo specifico, quindi i suoi elementi vengono elaborati ricorsivamente come testo semplice invece di essere riprodotti come un elenco Markdown annidato correttamente indentato. Se ti serve una conversione perfetta degli elenchi annidati, questo non è lo strumento giusto; per gli elenchi piatti a un solo livello che la maggior parte dei contenuti quotidiani usa davvero, converte in modo pulito.

Conserva esattamente gli spazi bianchi e l'indentazione del mio HTML?

Solo dove dovrebbe. Al di fuori di <pre> e dei blocchi di codice, le sequenze di spazi bianchi nel testo — spazi extra, interruzioni di riga da codice sorgente formattato in modo leggibile — vengono ridotte a un singolo spazio, proprio come un browser renderizza il normale testo HTML; questo impedisce che l'indentazione del tuo HTML di origine si infiltri nel Markdown come interruzioni di riga estranee. Dentro <pre> o <pre><code>, il contenuto testuale originale viene letto e riprodotto esattamente, spazi inclusi, perché è proprio quel contenuto che un blocco di codice delimitato deve preservare.