In informatica, un linguaggio di specifica è un linguaggio formale (o parzialmente tale) usato per descrivere un sistema software a un livello di astrazione superiore a quello dei linguaggi di programmazione. L'applicazione di un linguaggio di specifica quindi produce delle specifiche formali. A seconda dei casi, un linguaggio di specifica può essere orientato all'analisi (nel qual caso lo si può impiegare per stendere in modo formale la specifica dei requisiti del sistema) o alla progettazione (nel qual caso si otterrebbero specifiche di progetto).
Un linguaggio di specifica può, a seconda dei casi, essere anche un linguaggio di modellazione. In questo caso, la descrizione del sistema può in qualche modo essere considerata un modello, cioè una rappresentazione semplificata del sistema stesso, che ne riproduce i tratti essenziali.
Esempi di linguaggi di specifica