A metasyntax is a syntax used to describe the syntax of languages, usually in the context of computer programming languages.

Although many different metasyntaxes are possible, Backus-Naur form (BNF) and Extended Backus-Naur form (EBNF), which express syntax as a set of derivation rules, are almost universally used. The variables in these metasyntaxes are properly known as metasyntactic variables, although the term is used informally in other ways.

See also: Attribute grammar, Two-level grammar