DataSwap Convertitori di file e dati veloci, senza registrazione

Convertitore da Markdown a HTML

Incolla il tuo Markdown qui sotto e ottieni HTML pulito all'istante, più un'anteprima dal vivo — nulla di ciò che incolli esce dal tuo browser.

Un parser scritto a mano per il Markdown che le persone scrivono davvero

Questo strumento elabora il tuo testo blocco per blocco — una riga di titolo, un blocco di codice delimitato, una serie di elementi di elenco, un paragrafo — e poi applica la formattazione inline (grassetto, corsivo, link, codice inline) all'interno di ogni blocco. Ogni carattere di testo semplice viene sottoposto a escaping (&, <, >) prima di costruire qualsiasi tag, quindi HTML o tag script incollati appaiono sempre come testo inerte invece che markup vivo — importante perché l'HTML generato da questo strumento viene spesso incorporato direttamente in un'altra pagina. È un sottoinsieme deliberatamente onesto, non un motore CommonMark completo: consulta le domande frequenti per sapere esattamente cosa è incluso e cosa no.

Esempio pratico

Input:

# Note del Progetto

Questo è **importante** e *vale la pena leggerlo*.

- Primo punto
- Secondo punto

> Ricorda di controllare il file `config.json`.

Output:

<h1>Note del Progetto</h1>
<p>Questo è <strong>importante</strong> e <em>vale la pena leggerlo</em>.</p>
<ul><li>Primo punto</li><li>Secondo punto</li></ul>
<blockquote><p>Ricorda di controllare il file <code>config.json</code>.</p></blockquote>

Domande frequenti

Questo strumento rispetta pienamente la specifica CommonMark?

No, e non pretende di farlo. Questo strumento copre il Markdown che le persone scrivono davvero ogni giorno — titoli, grassetto e corsivo, link e immagini, elenchi puntati e numerati, blocchi di codice delimitati, codice inline, citazioni e linee orizzontali. Non tenta di rispettare l'intera specifica CommonMark per i casi limite più esotici: elenchi annidati, link in stile riferimento ("[testo][rif]" con una riga di definizione separata), tabelle, note a piè di pagina, HTML incorporato direttamente e titoli in stile setext (sottolineare una riga con === o ---) restano tutti fuori da ciò che questo parser scritto a mano gestisce. Per un README, un commento o una bozza di blog, questo è sufficiente; per un documento che si affida molto a quelle funzionalità avanzate, aspettati che parte di quella sintassi compaia così com'è, senza conversione.

Cosa succede se il mio Markdown contiene HTML letterale, come un tag <script> scritto a mano?

Viene mostrato, mai eseguito. Ogni carattere del tuo testo semplice — compreso qualsiasi tag HTML scritto direttamente invece che prodotto tramite sintassi Markdown — viene sottoposto a escaping nella sua forma di testo letterale (< diventa &lt;, e così via) prima che questo strumento costruisca qualsiasi markup reale. È una scelta di sicurezza deliberata, non solo un limite di ambito: questo parser non ha alcuna funzione di HTML incorporato diretto, quindi non esiste alcun percorso perché qualcosa che hai incollato diventi un tag <script> o <img onerror=...> vivo nell'output. Gli unici tag che compaiono come HTML reale e attivo sono quelli che questo convertitore genera da vera sintassi Markdown — titoli, grassetto, link e così via — cosa che conta particolarmente perché l'HTML generato viene spesso incorporato direttamente nella pagina di qualcun altro.

Il mio Markdown viene caricato da qualche parte?

No. L'intera conversione — analizzare il tuo Markdown e costruire l'HTML — avviene nel tuo browser con puro elaborazione di stringhe in JavaScript; nulla di ciò che digiti o incolli viene inviato o salvato su un server. Questo conta particolarmente qui perché le bozze in Markdown sono spesso post non pubblicati, documentazione interna o appunti che qualcuno preferirebbe non far uscire dal proprio computer.

Perché lo strumento mostra sia un'anteprima dal vivo sia l'HTML grezzo?

Hanno funzioni diverse. L'anteprima viene renderizzata dentro un iframe isolato (script disabilitati, separato dal resto di questa pagina) così puoi vedere come apparirà davvero la formattazione — titoli, grassetto, elenchi — senza che nulla del tuo contenuto incollato possa influenzare questo sito. Il riquadro dell'HTML sotto è il markup letterale generato da questo strumento, pronto da copiare in un template, un campo CMS o un sito statico.

Come gestisce qualcosa come ***grassetto e corsivo insieme***?

In modo imperfetto, per come è progettato onestamente il sottoinsieme che implementa. Il grassetto (** o __) e il corsivo (* o _) sono ciascuno un passaggio a espressione regolare separato invece di un unico parser ricorsivo dell'enfasi, quindi esattamente al confine dove si incontrano tre asterischi, il risultato può uscire come solo grassetto o solo corsivo invece che entrambi annidati insieme. Il **grassetto** e il *corsivo* normali, usati separatamente anche nella stessa frase, si convertono in modo corretto e prevedibile — è specificamente il caso combinato del triplo marcatore ai bordi che questo parser non risolve del tutto.