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.

Inserisci questo strumento nel tuo sito

Uso libero, senza altra attribuzione oltre al link già presente nel widget. Gira interamente nel browser di chi visita, quindi non aggiunge carico al tuo server.

Anteprima del widget