Anteprima Markdown e convertitore HTML

Guarda il tuo Markdown renderizzato affiancato e copia l'HTML — l'anteprima gira in sandbox nel tuo browser.

Come si usa

  1. Scrivi o incolla il tuo Markdown a sinistra — l'anteprima a destra si aggiorna mentre scrivi.
  2. Seleziona «Tratta le interruzioni di riga singole come
    » se stai scrivendo per una chat o un campo commenti, dove ogni Invio inizia una nuova riga.
  3. Clicca su «Converti in HTML» per mostrare il codice HTML, poi copialo o scarica un file .html pronto da aprire.

Informazioni su questo strumento

Il Markdown è testo semplice con qualche convenzione di punteggiatura — un cancelletto per un titolo, gli asterischi per l'enfasi, un trattino per una voce di elenco — che un convertitore trasforma in HTML. Questo strumento lo renderizza con marked in modalità GitHub Flavored Markdown (GFM), così sopravvive ciò che le persone scrivono davvero: tabelle, blocchi di codice delimitati con l'indicazione del linguaggio, elenchi di attività, testo barrato e URL nudi che diventano link. L'anteprima sta accanto all'editor e si ridisegna mentre scrivi, così scopri la tabella rotta o il blocco di codice non chiuso mentre scrivi, non dopo aver pubblicato il README.

Un convertitore Markdown deve prendere una decisione di sicurezza, e questa pagina la dichiara invece di sorvolarci sopra: marked non sanifica nulla. Il Markdown consente HTML grezzo di proposito, quindi un tag script, un'immagine con un gestore onerror o un link che punta a un URL javascript: escono dal parser esattamente come vi sono entrati. Renderizzarli dentro questa pagina sarebbe una falla di cross-site scripting. Invece di scrivere un sanificatore, l'anteprima viene disegnata dentro un iframe il cui attributo sandbox è vuoto — ogni restrizione attiva. Senza allow-scripts non viene eseguito nulla e nessun gestore di eventi scatta; senza allow-same-origin il frame vive in un'origine opaca e non può leggere questa pagina, i suoi cookie o la sua memoria. Una Content-Security-Policy con default-src 'none' dentro il frame è un secondo livello, indipendente. Un sanificatore ti avrebbe mostrato qualcosa di diverso dall'HTML che stai per copiare, e in un'anteprima è esattamente il compromesso sbagliato.

Ciò che deliberatamente non viene sanificato è l'HTML stesso, perché è il prodotto: copia e download ti consegnano esattamente quello che marked ha prodotto. Perciò, quando il tuo Markdown contiene qualcosa che può eseguire codice, lo strumento lo nomina — script, iframe, form, un gestore on…, un URL javascript: — e ti ricorda che l'isolamento si ferma all'anteprima. Se pubblichi quell'HTML e il Markdown veniva da qualcun altro, il rischio viaggia insieme a lui. Tutto gira in JavaScript sul tuo dispositivo e niente di ciò che scrivi viene caricato. L'unica richiesta che l'anteprima fa è una che hai scritto tu, quando un'immagine punta a un URL esterno. I link nell'anteprima non sono cliccabili: è il prezzo della sandbox, e per un'anteprima è un prezzo basso.

Domande frequenti

Il mio Markdown esce dal mio browser?

No. Il testo viene analizzato e renderizzato da JavaScript sul tuo dispositivo: niente viene inviato a nessun server, memorizzato o registrato. Disconnettiti da internet dopo il caricamento della pagina e lo strumento continua a funzionare.

Questo strumento sanifica l'HTML?

No, e non finge di farlo. L'anteprima è isolata in un iframe sandbox, quindi lì dentro non viene eseguito nulla, ma l'HTML che copi è esattamente quello prodotto dal parser. Se il Markdown viene da qualcun altro, sanificalo prima di pubblicarlo.

Perché i link nell'anteprima non sono cliccabili?

Perché il frame dell'anteprima ha tutte le restrizioni sandbox attive, e la navigazione è una di queste — lo stesso interruttore che impedisce a un link javascript: di scattare. Copia l'HTML se ti servono i link attivi.

Quale variante di Markdown è supportata?

GitHub Flavored Markdown (GFM): CommonMark più tabelle, blocchi di codice delimitati con indicazione del linguaggio, elenchi di attività, testo barrato e link automatici. I titoli non ricevono attributi id, quindi mancano le ancore che GitHub crea per un indice.

Che differenza c'è tra l'HTML copiato e il file scaricato?

La copia ti dà il frammento HTML, da incollare in una pagina che hai già. Il download lo racchiude in un documento completo con charset UTF-8 e uno stile leggibile, così si apre correttamente da solo, con gli accenti intatti.

Le mie interruzioni di riga singole sono sparite. Perché?

Perché nel Markdown standard un singolo a capo è solo uno spazio: i paragrafi si separano con una riga vuota. Le chat e i campi commenti vanno a capo a ogni Invio, quindi seleziona «Tratta le interruzioni di riga singole come
» quando scrivi per uno di questi.

Strumenti correlati

Link lunghi? Accorciali gratis

Vai.la trasforma qualsiasi URL in un link breve con statistiche dei clic, QR Code e il tuo biolink personale.

Vai.la non è responsabile dell'uso degli strumenti né delle decisioni prese in base ai loro risultati.