Un linguaggio di markup o linguaggio di contrassegno è un linguaggio che permette di aggiungere mediante marcatori (tag) informazioni a un documento; il documento risulta costituito da contenuto e da sistema di contrassegno.
Un linguaggio di markup può dare:
-
informazioni sulla struttura del documento (il linguaggio in tal caso è detto dichiarativo, analitico, descrittivo o generico), come nel caso del linguaggio HTML;
-
informazioni sulla formattazione da applicare (il linguaggio in tal caso è detto procedurale o di presentazione).
Utilizzando un sistema di markup per descrivere la struttura del documento si può separare la presentazione dal contenuto.
Per esempio si può dire quali elementi del testo sono titoli e poi assegnare un formato ai titoli.
Un requisito importante di un linguaggio di markup è la possibilità di estendere il linguaggio definendo nuovi tag. Questa possibilità è offerta dal linguaggio XML.