Uma linguagem de domínio específico, em inglês domain-specific language (DSL), é um tipo de linguagem de programação ou linguagem de especificação em desenvolvimento de software e engenharia de domínio, dedicada a um domínio de problema particular, uma técnica de representação de problema particular e/ou uma técnica de solução particular.
O conceito não é novo - linguagens de programação de propósito especial e todos os tipos de linguagem de modelagem/especificação sempre existiram, mas o termo se tornou mais popular devido a ascensão da modelagem de domínio específico.