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ć: