M4 on makrokieli, jonka Brian W. Kernighan ja Dennis M. Ritchie kehittivät Bell Labsissa 1970-luvulla.[1] Kieli oli saatavilla UNIX- ja GCOS-käyttöjärjestelmille.[1] Tekijöiden mukaan kieli on erityisen sopiva Fortran, PL/I ja C-kielien kanssa.[1] Kieli on laajennus Ritchien aiemmin AP-3 minitietokoneelle kehittämästä M3-kielestä.[1]
Kieltä on sanottu myös "mallinekieleksi" ja "esikääntäjäkieleksi".[2]
Kielestä on myös GNU-projektin avoimen lähdekoodin toteutus GNU M4, jossa on myös joitakin laajennuksia.[3] Yksi suurista kielen käyttökohteista on GNU Autoconf -projekti.[3]