Markdown Cheat Sheet
Ultimo aggiornamento
Titoli
Metti uno spazio dopo i segni #. Il numero di segni stabilisce il livello, da 1 a 6.
| Elemento | Markdown | Risultato |
|---|---|---|
| Titolo 1 | # Page title | Titolo di primo livello, <h1> |
| Titolo 2 | ## Section | Titolo di sezione, <h2> |
| Titolo 3 | ### Subsection | Titolo di sottosezione, <h3> |
| Titoli da 4 a 6 | #### Level 4
##### Level 5
###### Level 6 | <h4>, <h5> e <h6> |
| Titolo 1, forma alternativa | Page title
========== | <h1>, come # Page title |
| Titolo 2, forma alternativa | Section
------- | <h2>, come ## Section |
| Cancelletti di chiusura | ## Section ## | <h2>Section</h2>; i # finali vengono ignorati |
| Spazio mancante | #Not a heading | Un normale paragrafo. Lo spazio dopo # è obbligatorio |
Grassetto, corsivo e barrato
Gli asterischi funzionano ovunque, anche dentro una parola. I trattini bassi funzionano solo ai confini delle parole, quindi snake_case resta com'è.
| Elemento | Markdown | Risultato |
|---|---|---|
| Grassetto | **bold text** | Grassetto, <strong>bold text</strong> |
| Grassetto, trattini bassi | __bold text__ | Grassetto, come sopra |
| Corsivo | *italic text* | Corsivo, <em>italic text</em> |
| Corsivo, trattini bassi | _italic text_ | Corsivo, come sopra |
| Grassetto e corsivo | ***bold and italic*** | <em><strong>bold and italic</strong></em> |
| Grassetto dentro una parola | un**believ**able | Solo la parte centrale della parola è in grassetto |
| Trattini bassi in una parola | snake_case_name | Testo normale, niente corsivo |
| Barrato (GFM) | ~~no longer true~~ | Testo barrato, <del>no longer true</del> |
| Sottolineato | <ins>underlined</ins> | Testo sottolineato. Markdown non ha una sintassi per sottolineare, quindi questo è HTML |
| Evidenziato | <mark>highlighted</mark> | Testo evidenziato dove il sito permette il tag <mark>. Markdown non ha una sintassi per evidenziare |
A capo e paragrafi
Premere Invio una volta dentro un paragrafo non crea una nuova riga nel risultato. Usa invece uno di questi metodi.
| Elemento | Markdown | Risultato |
|---|---|---|
| Nuovo paragrafo | First paragraph.
Second paragraph. | Due paragrafi. Li separa una riga vuota |
| A capo: due spazi | Roses are red,
Violets are blue. | Un paragrafo con un <br> dopo red,. La prima riga finisce con due spazi, che non si vedono |
| A capo: barra rovesciata | Roses are red,\
Violets are blue. | Lo stesso <br>, con un segno visibile. Funziona in CommonMark e su GitHub |
| A capo: HTML | Roses are red,<br>Violets are blue. | Lo stesso <br>. Funziona anche dentro una cella di tabella |
| Singolo a capo | Roses are red,
Violets are blue. | Una sola riga: Roses are red, Violets are blue. Le issue e i commenti di GitHub mantengono l'a capo; i file .md no |
| Righe vuote in più | One.
Two. | Come una sola riga vuota. Per più spazio, metti <br> su una riga a parte |
Liste
Rientra un elemento annidato in modo che sia allineato al testo dell'elemento sopra: 2 spazi sotto - , 3 spazi sotto 1. .
| Elemento | Markdown | Risultato |
|---|---|---|
| Lista puntata | - Apples
- Pears
- Plums | Una lista puntata, <ul> con tre <li> |
| Altri punti elenco | * Apples
+ Pears | Anche * e + creano punti elenco. Cambiare carattere fa iniziare una nuova lista |
| Lista numerata | 1. Install
2. Configure
3. Run | Una lista numerata, <ol> |
| Numerazione pigra | 1. Install
1. Configure
1. Run | Resta numerata 1, 2, 3. Conta solo il primo numero |
| Partire da un numero | 7. Seventh
8. Eighth | <ol start="7">, numerata a partire da 7 |
| Lista annidata | - Fruit
- Apple
- Pear
- Vegetables | Una lista dentro il primo elemento |
| Annidata, numerata | 1. Download
- Windows
- macOS
2. Install | Punti elenco dentro il passo 1, rientrati di 3 spazi |
| Paragrafo in un elemento | - First item
More about the first item.
- Second item | Due paragrafi dentro il primo elemento |
| Codice in un elemento | 1. Run this:
```bash
npm install
```
2. Start the app | Un blocco di codice dentro il passo 1, rientrato fino al testo dell'elemento |
Liste di attività (checkbox)
Un'estensione di GitHub Flavored Markdown: un elemento di lista che inizia con [ ] o [x] diventa una checkbox.
| Elemento | Markdown | Risultato |
|---|---|---|
| Checkbox vuota | - [ ] Write tests | Una checkbox non spuntata |
| Checkbox spuntata | - [x] Write tests | Una checkbox spuntata. Funziona anche [X] |
| Checklist | - [x] Draft
- [ ] Review
- [ ] Publish | Una casella spuntata e due vuote. Nelle issue e nelle pull request di GitHub puoi spuntarle con un clic |
| Attività annidate | - [ ] Release
- [x] Tag the commit
- [ ] Write the notes | Due sotto-attività sotto la prima casella |
| Spazio mancante | - [] Write tests | Un normale punto elenco che mostra [] Write tests. Le parentesi quadre richiedono uno spazio o una x |
Link
Il testo del link va tra parentesi quadre e l'indirizzo tra parentesi tonde subito dopo, senza spazi in mezzo.
| Elemento | Markdown | Risultato |
|---|---|---|
| Link inline | [Coddy](https://coddy.tech) | <a href="https://coddy.tech">Coddy</a> |
| Link con titolo | [Coddy](https://coddy.tech "Learn to code") | Lo stesso link. Il titolo appare come tooltip al passaggio del mouse |
| URL tra parentesi angolari | <https://coddy.tech> | L'URL stesso, come link |
| URL semplice (GFM) | https://coddy.tech | Un link su GitHub e sugli altri siti GFM, che rendono link anche gli indirizzi www.. Testo normale in CommonMark stretto |
| Link email | <hello@example.com> | Un link mailto: |
| Link per riferimento | Read the [docs][1].
[1]: https://example.com/docs | docs porta all'URL. La riga [1]: non viene mostrata |
| Riferimento abbreviato | See [GitHub].
[GitHub]: https://github.com | GitHub porta all'URL |
| Link relativo | [Install guide](docs/install.md) | Un link a un file relativo a questo. Su GitHub apre il file nel repository |
| Link a un titolo | [Jump to setup](#getting-started) | Scorre fino a ## Getting Started nella stessa pagina |
| ID dei titoli | ## Getting Started! | Su GitHub riceve l'ID getting-started: minuscole, spazi trasformati in trattini, punteggiatura diversa da - e _ eliminata |
| Titolo in un altro file | [Requirements](docs/install.md#requirements) | Apre il file in corrispondenza di quel titolo |
| Spazi nell'URL | [Report](my%20report.pdf) | Scrivi ogni spazio come %20, oppure racchiudi l'URL tra parentesi angolari: [Report](<my report.pdf>) |
| Aprire in una nuova scheda | <a href="https://coddy.tech" target="_blank">Coddy</a> | Markdown non ha una sintassi per farlo. L'HTML funziona dove il sito mantiene l'attributo target |
Immagini
Un'immagine è un link con ! davanti. Il testo tra parentesi quadre diventa il testo alternativo, che gli screen reader leggono ad alta voce.
| Elemento | Markdown | Risultato |
|---|---|---|
| Immagine |  | <img src="cat.png" alt="A cat asleep on a sofa"> |
| Immagine con titolo |  | La stessa immagine con un tooltip al passaggio del mouse |
| Immagine da un URL |  | Carica l'immagine dal web |
| Immagine con link | [](https://coddy.tech) | Un'immagine che apre il link quando la clicchi |
| Immagine per riferimento | ![Logo][logo]
[logo]: images/logo.png | Come un'immagine inline, con l'URL definito una sola volta più sotto |
| Dimensione dell'immagine | <img src="logo.png" alt="Logo" width="200"> | L'immagine, larga 200 pixel. Il Markdown semplice non ha una sintassi per le dimensioni, quindi questo è un tag HTML <img> |
| Immagine centrata | <p align="center">
<img src="logo.png" alt="Logo" width="200">
</p> | Un'immagine centrata, come si vede in molti file README di GitHub |
Codice e blocchi di codice
I backtick segnano il codice dentro una riga; tre backtick come delimitatore segnano un blocco. Niente di ciò che sta dentro il codice viene formattato.
| Elemento | Markdown | Risultato |
|---|---|---|
| Codice inline | Run `npm install` first. | npm install in carattere monospazio, come <code> |
| Backtick dentro il codice | ``Use `git` here`` | Il codice Use `git` here. Racchiudilo tra più backtick di quanti ne contenga |
| Blocco di codice | ```
npm install
npm run dev
``` | Un blocco, <pre><code>, con gli a capo mantenuti |
| Evidenziazione della sintassi | ```python
def greet(name):
return f"Hello, {name}"
``` | Un blocco Python con la sintassi colorata. Nomi comuni: js, ts, python, bash, json, html, css, sql |
| Delimitatore con tilde | ~~~js
console.log("hi");
~~~ | Come un delimitatore di backtick |
| Codice rientrato | const total = 42; | Un blocco di codice creato con 4 spazi di rientro, dopo una riga vuota |
| Blocco diff | ```diff
- const x = 1;
+ const x = 2;
``` | Su GitHub le righe rimosse in rosso e quelle aggiunte in verde |
| Delimitatore dentro un blocco | ````markdown
```js
let a = 1;
```
```` | Un blocco che mostra il delimitatore interno come testo. Il delimitatore esterno richiede più backtick di quello interno |
Tabelle
Un'estensione di GitHub Flavored Markdown. La seconda riga, quella dei delimitatori, trasforma la prima in intestazione. Deve avere lo stesso numero di celle dell'intestazione, altrimenti la tabella non viene creata.
| Elemento | Markdown | Risultato |
|---|---|---|
| Tabella | | Name | Role |
| ----- | ------ |
| Ada | Admin |
| Linus | Editor | | Una tabella con una riga di intestazione e due righe |
| Allineamento delle colonne | | Left | Center | Right |
| :--- | :----: | ----: |
| a | b | c | | I due punti stabiliscono l'allineamento: sinistra, centro, destra |
| Senza barre esterne | Name | Role
--- | ---
Ada | Admin | La stessa tabella. Le barre verticali a inizio e fine riga sono facoltative |
| Larghezza delle colonne | | a | b |
|---|---|
| 1 | 2 | | Le larghezze dipendono dal contenuto. Il numero di trattini non conta e le barre verticali non devono essere allineate |
| Formattazione nelle celle | | Command | Does |
| --- | --- |
| `git status` | Shows **changed** files | | Codice, grassetto, link e immagini funzionano tutti dentro le celle |
| Barra verticale in una cella | | Operator | Meaning |
| --- | --- |
| `a \| b` | a or b | | La cella mostra a | b. Fai l'escape della barra come \|, anche dentro il codice |
| A capo in una cella | | Step | Notes |
| --- | --- |
| 1 | First line<br>Second line | | Due righe in una cella. Un vero a capo chiuderebbe la riga della tabella |
| Celle unite | <td colspan="2">Both columns</td> | Le tabelle Markdown non possono unire celle. Scrivi la tabella in HTML con colspan o rowspan |
Citazioni
Inizia ogni riga con >. Una citazione può contenere qualsiasi altro elemento Markdown.
| Elemento | Markdown | Risultato |
|---|---|---|
| Citazione | > Simple is better than complex. | Una citazione rientrata, <blockquote> |
| Più paragrafi | > First paragraph.
>
> Second paragraph. | Una citazione con due paragrafi. La riga con il solo > li tiene uniti |
| Citazione annidata | > The reply
>> The original message | Una citazione dentro una citazione |
| Altri elementi all'interno | > #### Note
> - Back up first
> - Then upgrade | Un titolo e una lista dentro la citazione |
| Avviso (GitHub) | > [!NOTE]
> Requires Node 20 or later. | Un riquadro Note colorato su GitHub. Gli altri tipi sono [!TIP], [!IMPORTANT], [!WARNING] e [!CAUTION] |
Linee orizzontali
Tre o più trattini, asterischi o trattini bassi da soli su una riga tracciano una linea da un lato all'altro della pagina.
| Elemento | Markdown | Risultato |
|---|---|---|
| Linea | --- | Una linea orizzontale, <hr> |
| Altre forme | ***
___ | Altre due linee |
| Linea dopo il testo | Some text
--- | Un paragrafo, poi una linea. Mantieni la riga vuota |
| Riga vuota mancante | Some text
--- | Un titolo di livello 2, non una linea: --- sotto una riga di testo la sottolinea |
Note a piè di pagina
Supportate su GitHub, GitLab e molti generatori di siti statici. Il CommonMark stretto non ha note a piè di pagina.
| Elemento | Markdown | Risultato |
|---|---|---|
| Nota a piè di pagina | Markdown dates from 2004.[^1]
[^1]: John Gruber created it, with Aaron Swartz. | Un 1 in apice che porta alla nota, elencata in fondo alla pagina |
| Nota con nome | See the spec.[^spec]
[^spec]: https://spec.commonmark.org | Le etichette possono essere parole, ma le note vengono comunque numerate 1, 2, 3 nell'ordine d'uso |
| Dove definirla | [^1]: The text of the note. | La definizione può stare ovunque nel file. Viene sempre mostrata alla fine |
Escape dei caratteri
Una barra rovesciata prima di un segno di punteggiatura stampa il carattere stesso invece di applicare la formattazione.
| Elemento | Markdown | Risultato |
|---|---|---|
| Asterischi letterali | \*not italic\* | Testo normale con gli asterischi: *not italic* |
| Cancelletto letterale | \# Not a heading | Un paragrafo che inizia con # |
| Numero e punto | 2024\. A good year. | Un paragrafo, non una lista che parte da 2024 |
| Parentesi letterali | \[not a link\](page.md) | Le parentesi quadre e tonde così come le hai scritte |
| Backtick letterale | \` | Un backtick |
| Barra rovesciata letterale | \\ | Una barra rovesciata |
| Cosa si può proteggere con l'escape | \ ` * _ {} [] () <> # + - . ! | | Qualsiasi segno di punteggiatura ASCII. Una barra rovesciata prima di una lettera o di una cifra resta una barra rovesciata |
| Entità HTML | © 2026 & <div> | © 2026 & <div>, come testo |
| Nessun escape nel codice | `*stars*` | Il codice *stars* così come scritto. Dentro il codice una barra rovesciata è un carattere normale |
HTML dentro Markdown
La maggior parte dei renderer lascia passare l'HTML, quindi un tag copre ciò per cui Markdown non ha una sintassi. GitHub rimuove l'HTML non sicuro come <script>, <style>, <iframe> e gli attributi style.
| Elemento | Markdown | Risultato |
|---|---|---|
| Tasti della tastiera | Press <kbd>Ctrl</kbd> + <kbd>C</kbd> | Ctrl e C disegnati come tasti |
| Pedice e apice | H<sub>2</sub>O and x<sup>2</sup> | H₂O e x² |
| Sezione comprimibile | <details>
<summary>Show the answer</summary>
The answer is **42**.
</details> | Una sezione che si apre con un clic. Le righe vuote permettono di renderizzare il Markdown al suo interno |
| Markdown in un blocco HTML | <div>
**not bold**
</div> | **not bold** così come scritto. Il Markdown non viene letto dentro un blocco HTML finché una riga vuota non chiude il blocco |
| Testo colorato | <span style="color: red">red</span> | Testo rosso sui siti che permettono gli stili inline. GitHub rimuove l'attributo style |
Commenti
Markdown non ha una sintassi per i commenti. Due trucchi tengono il testo fuori dalla pagina renderizzata.
| Elemento | Markdown | Risultato |
|---|---|---|
| Commento nascosto | [//]: # (This line is never shown) | Niente. La riga è una definizione di link che nessun link usa, quindi non arriva mai all'HTML |
| Forma alternativa | [comment]: <> (Also hidden) | Niente, con lo stesso trucco |
| Commento HTML | <!-- TODO: add screenshots --> | Niente nella pagina, ma il commento resta nel sorgente HTML |
| Commento su più righe | <!--
This whole block
is hidden
--> | Niente nella pagina |
| Posizionamento | Some text.
[//]: # (comment)
More text. | Due paragrafi. La riga del commento ha bisogno di una riga vuota prima, altrimenti appare come testo |
GitHub Flavored Markdown ed extra di GitHub
GitHub Flavored Markdown (GFM) è CommonMark più tabelle, liste di attività, testo barrato e link da URL semplici. GitHub aggiunge altro in più.
| Funzionalità | Markdown | Dove funziona |
|---|---|---|
| Tabelle | | a | b |
| --- | --- |
| 1 | 2 | | GFM: GitHub, GitLab e la maggior parte degli strumenti di documentazione |
| Liste di attività | - [x] Done | GFM |
| Barrato | ~~text~~ | GFM |
| Link da URL semplici | www.coddy.tech | GFM |
| Codice con linguaggio | ```js
let a = 1;
``` | CommonMark e GFM. I colori dipendono dal sito |
| Note a piè di pagina | Text.[^1]
[^1]: Note. | GitHub e GitLab, anche se non fanno parte della specifica GFM |
| Emoji | :rocket: :tada: | GitHub e GitLab trasformano gli shortcode in emoji |
| Menzioni | @octocat | GitHub: crea un link all'utente e gli invia una notifica |
| Link alle issue | #123 | GitHub: crea un link alla issue o alla pull request 123 dello stesso repository |
| Diagrammi | ```mermaid
graph LR
A --> B
``` | GitHub e GitLab disegnano un diagramma Mermaid |
| Matematica | $E = mc^2$
$$
\sum_{i=1}^{n} i
$$ | GitHub renderizza la matematica LaTeX, inline tra segni $ e come blocco tra righe $$ |
Tutta la sintassi Markdown in una sola pagina, accanto al risultato che produce. Questa cheat sheet di Markdown copre la sintassi di base (titoli, enfasi, a capo, liste, link, immagini, codice, citazioni) e le aggiunte di GitHub Flavored Markdown: tabelle con allineamento, liste di attività, testo barrato, link da URL semplici e note a piè di pagina, più escape, HTML e commenti.
Gli esempi seguono CommonMark e GitHub Flavored Markdown, le regole su cui si basano GitHub, GitLab e la maggior parte degli strumenti di documentazione. Dove un sito si comporta diversamente, la riga lo segnala. Per vedere un esempio renderizzato mentre scrivi, incollalo nell'editor Markdown.
Domande frequenti sulla cheat sheet di Markdown
Come si crea una tabella in Markdown?
| Name | Role |, | --- | --- |, | Ada | Admin |. I due punti nella riga dei delimitatori allineano una colonna: :--- a sinistra, :---: al centro, ---: a destra. Le tabelle sono una funzionalità di GitHub Flavored Markdown, quindi funzionano su GitHub, GitLab e nella maggior parte degli strumenti di documentazione, ma non in CommonMark stretto.Come si va a capo in Markdown?
\), oppure scrivi <br>. Per iniziare un nuovo paragrafo, lascia una riga vuota. Le issue e i commenti di GitHub sono l'eccezione: lì un singolo a capo viene già mostrato come interruzione di riga.Come si scrive un commento in Markdown?
[//]: # (your comment) su una riga a sé, con una riga vuota prima, è una definizione di link che nessuno usa, quindi non arriva mai né alla pagina né all'HTML. Un commento HTML, <!-- your comment -->, è anch'esso nascosto nella pagina ma resta nel sorgente HTML, dove chiunque guardi il sorgente può leggerlo.Come si crea un blocco di codice in Markdown?
```python, per avere l'evidenziazione della sintassi. Per il codice dentro una frase, racchiudilo tra singoli backtick: `npm install`.Come si aggiunge una checkbox in Markdown?
[ ] per una casella vuota o con [x] per una spuntata: - [ ] Review oppure - [x] Draft. Mantieni lo spazio dentro le parentesi vuote. Le checkbox fanno parte di GitHub Flavored Markdown, e nelle issue e nelle pull request di GitHub puoi spuntarle con un clic.Come si cambia la dimensione di un'immagine in Markdown?
 mostra sempre l'immagine alla sua dimensione originale. Usa invece un tag HTML, come <img src="image.png" alt="alt text" width="300">, che GitHub e la maggior parte dei renderer accettano. Imposta solo la larghezza o solo l'altezza per mantenere le proporzioni.Come si crea un link a un titolo in Markdown?
#: [Setup](#getting-started) salta a ## Getting Started. GitHub costruisce l'ID dal testo del titolo in minuscolo, con gli spazi trasformati in trattini e la punteggiatura diversa da trattini e trattini bassi rimossa. Per un titolo in un altro file, metti l'ID dopo il nome del file: [Setup](docs/install.md#getting-started).Cos'è un file .md?
.md e .markdown sono le estensioni più comuni, e README.md è il file che GitHub mostra nella pagina principale di un repository. Qualsiasi editor di testo lo apre; GitHub, i siti di documentazione e i visualizzatori Markdown lo mostrano come testo formattato. Per vedere un file renderizzato mentre lo modifichi, incollalo nell'editor Markdown.