Język bezkontekstowy () – rodzaj języka formalnego, wykorzystujący gramatykę bezkontekstową oraz niedeterministyczny automat ze stosem, decydujący o tym, czy dany łańcuch należy do języka. Pojęcie to jest terminem naukowym z dziedziny teorii języków formalnych, a w ramach Hierarchii Chomskiego jest zdefiniowany jako język typu 2.

Rodzina języków regularnych jest podzbiorem zbioru języków bezkontekstowych, a każdy język bezkontekstowy jest językiem kontekstowym.

Języki bezkontekstowe mają ważne znaczenie w informatyce, m.in. w budowie kompilatorów (vide: analiza składniowa).

Gramatyka bezkontekstowa Każdy język bezkontekstowy jest generowany przez pewną gramatykę bezkontekstową. Nazwa ta bierze się od tego, że wszystkie jej reguły są postaci gdzie jest dowolnym symbolem nieterminalnym, i którego znaczenie nie zależy od kontekstu w jakim występuje, a to dowolny (być może pusty) ciąg symboli terminalnych i nieterminalnych.

Do zapisu reguł można stosować notację Backusa-Naura.

Przykład Język słów postaci jest generowany przez:

Słowo możemy wyprowadzić: