ToolDeck

Convertitore da HTML a Markdown

Converti HTML nel formato Markdown

Prova un esempio

Input HTML

Output Markdown

Esegue in locale · Sicuro per incollare segreti
L'output Markdown apparirà qui…

Cos'è la Conversione da HTML a Markdown?

La conversione da HTML a Markdown trasforma il markup HTML in Markdown, una sintassi di formattazione in testo semplice creata da John Gruber nel 2004. Markdown è stato progettato per essere leggibile senza rendering. Dove HTML richiede tag di apertura e chiusura come <strong> e <a href="">, Markdown usa caratteri abbreviati: **grassetto**, [link](url) e # intestazioni. Convertire HTML in Markdown produce file più facili da leggere, modificare e gestire con il controllo versione rispetto all'HTML grezzo.

Il processo di conversione mappa gli elementi HTML nei loro equivalenti Markdown. Un <h2> diventa ##, un <ul><li> diventa - elemento, e un tag <a> diventa [testo](url). Alcuni elementi HTML non hanno un equivalente diretto in Markdown, come <div>, <span> o attributi dati personalizzati. I convertitori di solito rimuovono questi tag o li passano come HTML grezzo, a seconda della configurazione.

Markdown è diventato il formato di scrittura standard per la documentazione degli sviluppatori (GitHub, GitLab, Bitbucket), i generatori di siti statici (Hugo, Jekyll, Astro), le app per prendere appunti (Obsidian, Notion) e i blog tecnici. Convertire contenuti HTML esistenti in Markdown è un passaggio comune quando si migrano siti web, si importano contenuti da un CMS o si archiviano pagine web in un formato portatile. A differenza dell'HTML, i file Markdown producono diff puliti nel controllo versione, rendendo pratica la revisione delle modifiche alla documentazione.

Perché Usare un Convertitore da HTML a Markdown?

Riscrivere manualmente l'HTML in Markdown è lento e soggetto a errori, specialmente per pagine con elenchi annidati, tabelle o decine di link. Un convertitore automatico gestisce la mappatura strutturale all'istante e in modo coerente.

Converti istantaneamente nel browser
Incolla l'HTML e ottieni l'output Markdown in millisecondi. Nessun viaggio andata e ritorno al server, nessuna attesa per le code di elaborazione. La conversione viene eseguita interamente nel tuo browser usando JavaScript.
🔒
Mantieni i tuoi dati privati
Il tuo HTML non lascia mai la tua macchina. Tutta l'elaborazione avviene lato client, quindi non c'è upload, nessun log e nessun accesso di terze parti ai tuoi contenuti.
📝
Preserva la struttura del documento
Intestazioni, elenchi, link, immagini, blocchi di codice e tabelle vengono mappati nei loro equivalenti Markdown corretti. Le strutture annidate e la formattazione inline vengono gestite ricorsivamente.
🔀
Nessun account o installazione richiesta
Apri lo strumento e inizia a convertire. Non c'è nulla da installare, nessuna chiave API da configurare e nessun modulo di registrazione. Funziona su qualsiasi dispositivo con un browser moderno.

Casi d'Uso da HTML a Markdown

Frontend Developer: Migrazione CMS
Esporta post del blog o pagine da WordPress, Drupal o un CMS headless come HTML, poi convertili in Markdown per l'uso con generatori di siti statici come Next.js, Astro o Hugo.
Backend Engineer: Documentazione API
Converti la documentazione API HTML generata automaticamente in file Markdown che risiedono insieme al codice sorgente. I file Markdown si integrano con il rendering di GitHub e possono essere versionati con il codice che descrivono.
DevOps: Conversione Runbook
Trasforma le pagine wiki interne (Confluence, SharePoint) esportate come HTML in runbook Markdown archiviati nel tuo repository Git insieme al codice infrastrutturale che descrivono.
QA Engineer: Documentazione Casi di Test
Converti report di test HTML o piani di test manuali da strumenti web in file Markdown che possono essere revisionati nelle pull request insieme alle modifiche al codice che verificano.
Data Engineer: Pulizia Web Scraping
Rimuovi il codice HTML di contorno dalle pagine web estratte e produci testo Markdown pulito. Questo elimina navigazione, pubblicità e markup di layout preservando il contenuto e la struttura dell'articolo.
Studente: Appunti di Ricerca
Copia contenuti da risorse web e converti l'HTML in Markdown per importarlo in Obsidian, Notion o qualsiasi sistema di annotazione basato su Markdown. Preserva intestazioni, link e formattazione.

Riferimento agli Elementi da HTML a Markdown

La tabella seguente mostra come gli elementi HTML comuni vengono mappati nei loro equivalenti Markdown. Questa mappatura segue le convenzioni di GitHub Flavored Markdown (GFM), che estende la specifica CommonMark con tabelle, testo barrato ed elenchi di attività. Gli elementi non elencati qui (come <div>, <form> o componenti web personalizzati) non hanno un equivalente Markdown e vengono rimossi o passati come HTML grezzo.

Elemento HTMLSintassi MarkdownNote
<h1>...<h6># ... ######ATX headings, level matches tag number
<p>Blank line separationDouble newline between paragraphs
<strong>, <b>**text**Bold / strong emphasis
<em>, <i>*text*Italic / emphasis
<a href="url">[text](url)Inline link with optional title
<img src="url">![alt](url)Image with alt text
<ul><li>- itemUnordered list with dash or asterisk
<ol><li>1. itemOrdered list, numbers restart per block
<blockquote>> textBlock quote, nestable with >>
<code>`code`Inline code span
<pre><code>```lang\ncode\n```Fenced code block with optional language
<hr>---Horizontal rule (three dashes)
<table>| col | col |GFM table syntax with alignment
<del>, <s>~~text~~Strikethrough (GFM extension)

Varianti Markdown: GFM vs CommonMark vs Originale

Non tutti i Markdown sono uguali. Il formato di output è importante perché le diverse piattaforme analizzano il Markdown in modo diverso. Le tre varianti più comuni sono GitHub Flavored Markdown (GFM), CommonMark e il Markdown originale di Gruber.

GitHub Flavored Markdown (GFM)
La variante più utilizzata. Aggiunge tabelle (sintassi a pipe), testo barrato (~~testo~~), elenchi di attività (- [x]) e URL con collegamento automatico. Usato da GitHub, GitLab e dalla maggior parte degli strumenti per sviluppatori. Questo convertitore produce Markdown compatibile con GFM per impostazione predefinita.
CommonMark
Una specifica rigorosa che risolve le ambiguità nella sintassi Markdown originale. Definisce regole esatte per la continuazione degli elenchi, l'analisi dell'enfasi e l'annidamento a livello di blocco. Usato come base per GFM e molti generatori di siti statici.
Markdown Originale
La specifica del 2004 di John Gruber. Non supporta tabelle, blocchi di codice delimitati o testo barrato. La maggior parte degli strumenti moderni lo tratta come un sottoinsieme di CommonMark. Raramente usato come formato di destinazione oggi.

Esempi di Codice

Esempi funzionanti in JavaScript (Turndown), Python (markdownify e html2text), Go e Pandoc da riga di comando.

JavaScript (Turndown)
import TurndownService from 'turndown'

const turndown = new TurndownService({ headingStyle: 'atx' })
const html = '<h1>Title</h1><p>A <strong>bold</strong> paragraph.</p>'
const md = turndown.turndown(html)
console.log(md)
// → "# Title\n\nA **bold** paragraph."
Python (markdownify)
from markdownify import markdownify

html = '<h2>Section</h2><ul><li>First</li><li>Second</li></ul>'
md = markdownify(html, heading_style='ATX')
print(md)
# → "## Section\n\n- First\n- Second"
Python (html2text)
import html2text

converter = html2text.HTML2Text()
converter.body_width = 0  # disable line wrapping

html = '<p>Visit <a href="https://example.com">Example</a> for details.</p>'
md = converter.handle(html)
print(md)
# → "Visit [Example](https://example.com) for details."
Go (html-to-markdown)
package main

import (
	"fmt"
	md "github.com/JohannesKaufmann/html-to-markdown"
)

func main() {
	converter := md.NewConverter("", true, nil)
	html := `<h3>Go Example</h3><p>Code: <code>fmt.Println()</code></p>`
	markdown, _ := converter.ConvertString(html)
	fmt.Println(markdown)
	// → "### Go Example\n\nCode: `fmt.Println()`"
}
CLI (Pandoc)
# Convert an HTML file to Markdown
pandoc input.html -f html -t markdown -o output.md

# Pipe HTML from stdin
echo '<p>Hello <em>world</em></p>' | pandoc -f html -t markdown
# → Hello *world*

# Use GitHub-Flavored Markdown output
pandoc input.html -f html -t gfm -o output.md

Domande Frequenti

Quali elementi HTML non possono essere convertiti in Markdown?
Markdown non ha equivalenti per <div>, <span>, <form>, <input>, <iframe> o qualsiasi elemento con classi e stili CSS personalizzati. La maggior parte dei convertitori rimuove questi tag mantenendo solo il testo interno. Alcuni convertitori possono passare l'HTML non supportato invariato, il che è valido poiché la specifica Markdown consente esplicitamente l'HTML inline. Se devi preservare quegli elementi, configura il convertitore per mantenere l'HTML grezzo invece di rimuoverlo.
Come vengono convertite le tabelle HTML in Markdown?
Le tabelle HTML vengono mappate nella sintassi GFM a pipe: | Intestazione | Intestazione | con una riga separatore | --- | --- |. Le tabelle GFM non supportano colspan, rowspan o stili a livello di cella. Le tabelle complesse con celle unite vengono appiattite, il che può comportare la perdita di informazioni strutturali. Per le tabelle di dati semplici, la conversione è senza perdite.
La conversione da HTML a Markdown è senza perdite?
No. Markdown è un sottoinsieme di HTML, quindi alcune informazioni vanno sempre perse durante la conversione. Classi CSS, stili inline, attributi dati, elementi di form e tag semantici come <article> o <section> non hanno equivalenti Markdown. Il contenuto testuale e la struttura di base (intestazioni, elenchi, link, enfasi) vengono preservati accuratamente. Per la maggior parte dei flussi di lavoro di documentazione e migrazione dei contenuti, gli elementi preservati sono quelli che contano.
Qual è la differenza tra HTML in Markdown e HTML in testo semplice?
Da HTML a testo semplice si rimuove tutta la formattazione e si produce testo grezzo senza struttura. Da HTML a Markdown si preserva la struttura del documento: le intestazioni rimangono intestazioni, i link mantengono i loro URL, gli elenchi restano come elenchi e l'enfasi viene conservata. L'output Markdown può essere renderizzato nuovamente in HTML con la stessa struttura logica.
Posso convertire Markdown in HTML?
Sì. Ogni processore Markdown (marked, markdown-it, Python-Markdown, goldmark) converte Markdown in HTML. Questo percorso di andata e ritorno è uno dei motivi per cui Markdown è popolare: scrivi in un formato leggibile e renderizzi in HTML per il web. Il percorso di andata e ritorno non è perfettamente simmetrico perché la conversione da HTML a Markdown elimina gli elementi non supportati.
Come gestisce il convertitore l'HTML con CSS inline o JavaScript?
Il CSS inline (attributi style) e i blocchi <style> vengono rimossi durante la conversione poiché Markdown non ha una sintassi di stile. Anche JavaScript (tag <script> e gestori di eventi come onclick) viene rimosso. Il convertitore estrae solo il contenuto e la struttura del documento. Questo rende la conversione da HTML a Markdown un utile passaggio di sanitizzazione quando si importa contenuto HTML non attendibile nella propria documentazione.
Quale variante Markdown dovrei usare per il mio progetto?
Usa GitHub Flavored Markdown (GFM) se il tuo contenuto verrà visualizzato su GitHub, GitLab o sulla maggior parte delle piattaforme di documentazione. Usa CommonMark se hai bisogno di una stretta conformità alle specifiche e di un'analisi prevedibile tra diversi renderer. Il Markdown originale è rilevante solo per i sistemi legacy. GFM è il valore predefinito più sicuro per la maggior parte dei progetti.