Convertitore da HTML a Markdown
Converti HTML in Markdown pulito nel tuo browser — tabelle GFM, elenchi di attività e link. Scegli titoli ATX/Setext e link inline o di riferimento. Ottimo per migrare contenuti o alimentare gli LLM. 100% privato.
CSS personalizzato
Cos'è la conversione da HTML a Markdown?
La conversione da HTML a Markdown prende un documento HTML renderizzato — i tag, gli attributi e il nesting che un browser mostra — e lo riscrive come Markdown, il formato leggero di solo testo costruito per la scrittura e il controllo di versione. Dove la conversione da Markdown a HTML espande testo compatto in markup per la visualizzazione, questa è la direzione inversa e riduttiva: parti da HTML ricco e prolisso e lo distilli fino al piccolo insieme leggibile di convenzioni che il Markdown offre.
Dietro le quinte il convertitore analizza il tuo HTML in un albero DOM — la stessa struttura di nodi che un browser costruisce — poi percorre quell'albero ed emette l'equivalente Markdown per ogni nodo che riconosce. Un <h2> diventa ## , un <strong> diventa **testo**, un <ul> diventa un elenco puntato, un diventa un link, una <table> diventa una tabella GFM con pipe. Attraversare un DOM reale, anziché eseguire espressioni regolari sulla stringa grezza, è ciò che gli permette di gestire correttamente elenchi annidati, formattazione inline mista e tabelle invece di rompersi sui casi limite.
Ricorri a questa conversione quando stai migrando fuori dall'HTML, non dentro. I contenuti intrappolati in un CMS, in un editor WYSIWYG, in una vecchia pagina web o in un campo rich-text sono difficili da confrontare, difficili da revisionare e difficili da spostare. Convertirli in Markdown li libera in un formato che vive felicemente in un repository Git, in un generatore di siti statici o in un'app per appunti — e, sempre più, in un formato che i grandi modelli linguistici leggono in modo efficiente. Il problema, che gli strumenti onesti dichiarano chiaramente, è che la conversione è con perdite: l'HTML può esprimere cose che il Markdown non può, quindi una parte della struttura e ogni dettaglio di stile vengono deliberatamente scartati in cambio di testo pulito e portabile.
L'operazione inversa — da Markdown di nuovo a HTML, per quando sei pronto a pubblicare o visualizzare in anteprima — è altrettanto utile. Passa alla scheda Markdown → HTML o apri il convertitore da Markdown a HTML dedicato.
HTML in:
<h2>Pricing</h2>
<p>Plans start at <strong>$9/mo</strong>. See the <a href="https://example.com/pricing">details</a>.</p>
<table>
<thead><tr><th>Plan</th><th>Price</th></tr></thead>
<tbody><tr><td>Pro</td><td>$9</td></tr></tbody>
</table>
Markdown out:
## Pricing
Plans start at **$9/mo**. See the [details](https://example.com/pricing).
| Plan | Price |
| ---- | ----- |
| Pro | $9 |
<!-- <div>, classes, and inline styles in the source are dropped — Markdown can't represent them. --> Caratteristiche principali
Output consapevole del GFM
Punta al GitHub Flavored Markdown, non solo al CommonMark puro: le tabelle HTML diventano tabelle con pipe, gli <li> con casella di spunta diventano elenchi di attività (`- [x]`) e <del>/<s> diventano ~~barrato~~. Il Markdown si inserisce direttamente in un README, in un'issue GitHub o in un sito di documentazione e viene renderizzato allo stesso modo.
Titoli ATX o Setext
Scegli titoli ATX con prefisso cancelletto (# H1) o titoli Setext sottolineati (=== per H1, --- per H2). Il Setext copre solo i due livelli superiori, quindi il convertitore ricade su ATX per H3 e oltre automaticamente — non ottieni mai un titolo non valido.
Link inline o di riferimento
Passa tra link inline — [testo](url) accanto alla prosa — e link di riferimento, che raccolgono ogni URL in un elenco numerato in fondo al documento. Lo stile di riferimento mantiene leggibili i paragrafi ricchi di link e ti permette di riutilizzare un URL tramite etichetta.
Blocchi di codice recintati
Un blocco <pre><code> diventa un blocco di codice recintato con tre backtick, e una classe language- sull'elemento <code> viene riportata come stringa informativa del blocco. Il <code> inline diventa span con backtick, così gli snippet sopravvivono al viaggio intatti.
Gestisce elenchi e tabelle annidati
Percorre il DOM reale, così le strutture <ul>/<ol> annidate si convertono in elenchi Markdown correttamente indentati e gli elenchi ordinati vengono rinumerati da 1. Le tabelle semplici si appiattiscono in tabelle con pipe; quelle davvero complesse ricadono su HTML grezzo anziché perdere dati.
100% privato, nel browser
Ogni conversione gira localmente con JavaScript — il tuo HTML e il Markdown risultante non lasciano mai il tuo dispositivo, non raggiungono mai un server e funzionano senza connessione dopo il caricamento della pagina. Sicuro per esportazioni CMS interne, contenuti dei clienti e pagine non pubblicate.
Esempi
Una <table> web in una tabella GFM con pipe
<table>
<thead><tr><th>Regione</th><th>Vendite</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1.204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Regione | Vendite | | ------- | ------- | | EMEA | 1.204 | | APAC | 980 |
Una <table> HTML copiata o estratta collassa in una tabella con pipe del GitHub Flavored Markdown. La riga <thead> diventa l'intestazione, la riga delimitatrice di trattini viene generata per te e ogni <tr> diventa una riga delimitata da pipe — pronta da inserire in un README o in una pagina di documentazione.
Link: stile inline vs di riferimento
<p>Leggi la <a href="https://example.com/guide">guida all'installazione</a> e il <a href="https://example.com/api">riferimento API</a>.</p>
Inline: Leggi la [guida all'installazione](https://example.com/guide) e il [riferimento API](https://example.com/api). Riferimento: Leggi la [guida all'installazione][1] e il [riferimento API][2]. [1]: https://example.com/guide [2]: https://example.com/api
Gli stessi anchor vengono resi in due modi. Lo stile inline tiene l'URL accanto al testo; lo stile di riferimento sposta ogni URL in un elenco numerato in fondo, il che mantiene leggibili i paragrafi lunghi quando una frase contiene diversi link. Scegli lo stile con il selettore Link.
<ul>/<ol> annidati in elenchi Markdown indentati
<ul>
<li>Build
<ol>
<li>Compila</li>
<li>Impacchetta</li>
</ol>
</li>
<li>Rilascia</li>
</ul> - Build 1. Compila 2. Impacchetta - Rilascia
Il nesting è preservato dall'indentazione: l'<ol> interno si colloca due spazi sotto il suo <li> genitore e passa da un punto elenco `-` alla numerazione `1.`. Il Markdown rinumera automaticamente gli elenchi ordinati, così il sorgente resta pulito anche se l'HTML usava attributi value espliciti.
Un pezzo di HTML di una pagina web in Markdown pulito
<article> <h1>Changelog</h1> <p>Abbiamo rilasciato la <strong>modalità scura</strong> e corretto <code>parseDate()</code>.</p> <blockquote><p>Grazie a tutti quelli che l'hanno segnalato.</p></blockquote> </article>
# Changelog Abbiamo rilasciato la **modalità scura** e corretto `parseDate()`. > Grazie a tutti quelli che l'hanno segnalato.
Incolla una porzione di una pagina reale — il contenitore <article> viene eliminato (il Markdown non ha elemento contenitore), l'<h1> diventa `#`, <strong> diventa `**`, il <code> inline diventa backtick e il <blockquote> diventa una riga `>`. I contenitori strutturali senza equivalente Markdown semplicemente cadono.
Come convertire HTML in Markdown
- 1
Incolla il tuo HTML
Inserisci una pagina web copiata, un'esportazione CMS o WYSIWYG, o uno snippet HTML estratto. Il DOM viene analizzato e serializzato in Markdown nel tuo browser mentre incolli — nessun upload, nessun limite di dimensione oltre alla memoria del tuo browser.
- 2
Scegli lo stile di titoli e link
Scegli titoli ATX (#) o Setext (===) e link inline o di riferimento. Il Markdown si ri-renderizza dal vivo, così puoi confrontare gli stili all'istante. L'output punta al GitHub Flavored Markdown — tabelle, elenchi di attività e barrato inclusi.
- 3
Copia o scarica
Clicca Copia per prendere il Markdown, o Scarica per salvare un file .md. Per andare nella direzione opposta, passa alla scheda Markdown → HTML e incolla il tuo Markdown per riottenere HTML renderizzato.
Insidie comuni
Aspettarsi che la struttura <div>/<span> sopravviva
I contenitori generici non portano alcun equivalente Markdown, quindi vengono rimossi mantenendone il contenuto — il loro contenuto resta ma il tag, e qualsiasi classe o stile su di esso, svanisce. Se il tuo layout dipendeva da un <div> avvolgente o da uno <span> stilizzato, quello stile è andato nel Markdown. Questo è atteso, non un bug; il Markdown semplicemente non ha modo di esprimerlo.
<div class="callout warning"><span style="color:red">Attenzione!</span></div> <!-- aspettandosi che il riquadro callout e il colore rosso sopravvivano -->
Attenzione! <!-- contenitore e stili scartati; nel Markdown resta solo il testo -->
Interruzioni di riga <br> perse dentro i paragrafi
Un <br> dentro un paragrafo è un'interruzione di riga morbida, che il Markdown rappresenta con due spazi finali prima dell'a capo (o una barra rovesciata). Incollare HTML e aspettarsi che le interruzioni di riga visibili sopravvivano può sorprenderti quando righe adiacenti si fondono in una. Il convertitore emette la forma a interruzione netta, ma se modifichi a mano dopo, non rimuovere gli spazi finali.
Riga uno<br>Riga due <!-- se la forma dell'interruzione viene rimossa, queste si fondono in una riga -->
Riga uno Riga due <!-- due spazi finali preservano il <br> come interruzione netta -->
Tabelle profondamente annidate che degradano
Le tabelle GFM con pipe non possono annidarsi né contenere contenuto a blocco. Un layout legacy che mette una tabella (o un elenco, o più paragrafi) dentro una cella di tabella non può diventare una tabella con pipe pulita — il convertitore appiattisce ciò che può e lascia il resto come HTML grezzo così nulla va perso. La soluzione è semplificare il sorgente, non l'output.
<table><tr><td><table><tr><td>interna</td></tr></table></td></tr></table> <!-- una tabella annidata non può diventare una tabella con pipe piatta -->
<!-- Appiattiscila prima in una tabella a un solo livello: --> <table><tr><td>interna</td></tr></table> → | interna | | ------- |
Aspettarsi che <script> o gli stili sopravvivano
<script>, <style> e gli elementi di livello head sono codice e presentazione, non contenuto del documento, quindi vengono rimossi del tutto — non convertiti, non preservati come HTML grezzo. Incollare una pagina intera e aspettarsi che il comportamento o il CSS si riportino nel Markdown deluderà. Il Markdown è un formato di contenuto; se ti serve il codice o lo stile, mantieni l'HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Corpo</p>
<!-- aspettandosi che lo stile e lo script passino --> Corpo <!-- sopravvive solo il contenuto; <script>/<style> vengono scartati -->
Casi d'uso comuni
- Migra contenuti web o CMS in Notion, Obsidian o un sito statico
- Estrai pagine da un CMS, un'esportazione WordPress o un vecchio sito HTML e convertile in Markdown che si inserisce direttamente in Notion, Obsidian, Hugo o Jekyll. Scambi markup prolisso con testo portabile che vive in modo pulito in un repository Git e si confronta sensatamente in revisione.
- Esporta da un editor WYSIWYG
- Gli editor rich-text emettono HTML denso e carico di attributi. Incolla qui quell'output per recuperare il Markdown pulito che sta sotto — titoli, elenchi, link ed enfasi — così il contenuto può spostarsi in una pipeline di documentazione o in una base di conoscenza basata su Markdown invece di restare bloccato nell'editor.
- Pulisci l'HTML in Markdown per alimentare LLM e pipeline RAG
- L'HTML grezzo brucia token su tag, script e stile di cui un modello non ha mai bisogno. Convertire una pagina estratta in Markdown elimina quel rumore mantenendo la struttura che un LLM legge bene, così fai stare più contenuto reale nella finestra di contesto e ottieni embedding più puliti per il recupero.
- Converti un incollaggio rich-text in Markdown
- Copia testo formattato da una pagina web, un'email o un documento e arriva come HTML negli appunti. Incollalo qui per trasformare quel rich text in Markdown che puoi committare, inviare in una pull request o scrivere nei tuoi appunti — formattazione preservata, disordine eliminato.
- Archivia una pagina come Markdown
- Salva il contenuto significativo di una pagina web come un piccolo file .md a prova di futuro invece di un pesante snapshot HTML pieno di script e tracciamento. Il Markdown resta leggibile in qualsiasi editor di testo tra decenni e occupa una frazione dello spazio.
- Trasforma documenti HTML legacy in Markdown
- La vecchia documentazione scritta come HTML codificato a mano è dolorosa da mantenere. Convertila in Markdown per portarla in un moderno flusso di lavoro docs-as-code — dove può essere validata da un linter, revisionata in pull request e renderizzata da un generatore di siti statici.
Dettagli tecnici
- Output CommonMark vs GitHub Flavored Markdown
- Il convertitore può puntare al CommonMark puro o, per impostazione predefinita, al superset GitHub Flavored Markdown. Il CommonMark definisce titoli, enfasi, elenchi, link, immagini, codice e blockquote in modo preciso. Il GFM aggiunge quattro costrutti che si mappano direttamente dall'HTML comune: <table> → tabella con pipe, elementi di elenco con casella di spunta → elenchi di attività, <del>/<s> → barrato e URL nudi → autolink. Poiché la maggior parte dei contenuti web usa tabelle e simili, l'output GFM è il valore predefinito pratico; scegli il CommonMark solo quando il renderer di destinazione non comprende le estensioni GFM, nel qual caso le tabelle ricadono su HTML grezzo.
- Conversione con perdite e irreversibile — detto chiaramente
- L'HTML è strettamente più espressivo del Markdown, quindi la conversione non può essere senza perdite, ed è bene dirlo apertamente. Il Markdown non ha sintassi per <div>, <span> o altri contenitori generici; non ha modo di trasportare nomi di classi, id, style inline, colspan/rowspan o attributi data-* arbitrari; e non ha rappresentazione per la maggior parte degli elementi semantici o di layout. Quelli vengono rimossi mantenendone il contenuto (contenuto conservato, tag scartato), scartati (attributi) o — quando rimuoverli perderebbe significato — preservati come HTML grezzo inline. Un round-trip HTML → Markdown → HTML non riprodurrà l'originale. Questo è un compromesso deliberato: il Markdown esiste per essere pulito, confrontabile e modificabile da un essere umano, non per rispecchiare l'HTML. La maggior parte dei concorrenti glissa su questo punto; dichiararlo ti permette di decidere a occhi aperti se il Markdown sia la destinazione giusta.
- Compromessi di stile: ATX/Setext, inline/riferimento, recintato/indentato
- Tre scelte di output hanno compromessi reali. I titoli ATX (#) coprono tutti e sei i livelli e si cercano bene con grep; il Setext (sottolineato) esiste solo per H1/H2, quindi lo strumento lo emette per i due livelli superiori e ricade su ATX sotto. I link inline tengono l'URL accanto al testo — meglio per i link radi; i link di riferimento spostano gli URL in fondo al documento — meglio per la prosa densa di link e il riutilizzo tramite etichetta. Per il codice, i blocchi recintati (tre backtick) portano una stringa informativa di linguaggio e si annidano in sicurezza, mentre i blocchi di codice indentati (quattro spazi) non possono esprimere un linguaggio e si rompono dentro gli elenchi — quindi questo convertitore emette sempre blocchi recintati da <pre><code>.
Buone pratiche
- Formatta l'HTML prima di convertire
- L'HTML minificato o profondamente aggrovigliato — specialmente tabelle di layout annidate ed elementi inline sparsi — si converte in modo più pulito quando è prima ben formato. Passa il sorgente disordinato attraverso il nostro Formattatore HTML per abbellirlo e normalizzarlo, poi converti. Un input pulito produce Markdown pulito con meno ricadute su HTML grezzo.
- Aspettati e revisiona le perdite
- Tratta la conversione come con perdite per design. Classi, stili inline, contenitori <div>/<span> e attributi esotici spariscono nell'output, e di solito è ciò che vuoi per un Markdown portabile — ma scorri il risultato in cerca di qualcosa di semanticamente importante che viveva solo in un attributo (un aria-label, una cella unita con colspan) e riaggiungilo a mano se conta.
- Scegli lo stile dei link in base alla densità del documento
- Usa i link inline per la prosa con un link qua e là — l'URL resta accanto al suo testo e il sorgente si legge naturalmente. Passa ai link di riferimento quando una sezione è ricca di link o riutilizza gli stessi URL: spostarli in un elenco numerato in fondo mantiene i paragrafi scorrevoli ed evita di ripetere URL lunghi.
- Converti in Markdown prima di inviare pagine a un LLM
- Quando alimenti contenuti web a un modello — per un prompt, un embedding o un archivio RAG — converti prima l'HTML in Markdown. Elimini tag, script e stile che sprecano token e aggiungono rumore, mantieni la struttura che il modello usa davvero e fai stare molto più contenuto reale dentro la finestra di contesto.
- Verifica le tabelle complesse dopo la conversione
- Le tabelle GFM con pipe sono piatte — niente tabelle annidate, niente contenuto a blocco nelle celle, niente celle unite. Dopo aver convertito una tabella ricca di dati o di layout, controlla il Markdown: le griglie semplici si convertono perfettamente, ma qualsiasi cosa con colspan o blocchi annidati degrada e può apparire come HTML grezzo. Semplifica prima la tabella sorgente se ti serve una tabella con pipe pulita.
Domande frequenti
Come vengono gestiti i link inline e di riferimento?
Titoli ATX o Setext — quale dovrei usare?
Cosa succede all'HTML che il Markdown non può rappresentare, come <div> e <span>?
Rimuove <script> e gli stili?
Come vengono gestiti tabelle ed elenchi annidati?
La conversione da HTML a Markdown è senza perdite?
Posso dare il Markdown in pasto a un LLM o a ChatGPT?
I miei file vengono caricati su un server?
Funziona senza connessione?
Posso riconvertire il Markdown in HTML?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore da Base64 a immagine
Codifica e formattazione
Decodifica una stringa Base64 o un data URI in un'immagine nel tuo browser. Anteprima, dimensioni e MIME, poi scarica come PNG, JPG, GIF, SVG. Nessun upload.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
Convertitore da immagine a Base64
Codifica e formattazione
Converti immagini in data URI Base64 nel tuo browser — PNG, JPG, GIF, WebP, SVG, ICO. Copia l'output HTML, CSS, Markdown e JSON. 100% privato, nessun upload.
JSON Diff (Confronta)
Codifica e formattazione
Confronta due file JSON istantaneamente nel browser. Evidenziazione affiancata, output JSON Patch RFC 6902, ignora campi rumorosi come timestamp e ID. 100% privato, nessun upload.
Formattatore e Validatore JSON
Codifica e formattazione
Formatta, valida e abbellisci JSON direttamente nel browser. Strumento online gratuito con controllo sintassi, rilevamento errori, minifica e copia in un clic. 100% privato.