A recursive acronym is an acronym which refers to itself in the expression for which it stands, similar to a recursive abbreviation.

The earliest example is perhaps the credit card VISA, which was named in 1976 as a recursive acronym for VISA International Service Association.

In computing, it soon became a hackish (and especially MIT) tradition to choose acronyms and abbreviations which referred humorously to themselves or to other abbreviations. Perhaps the earliest example in this context, from about 1977 or 1978, is TINT ("TINT Is Not Teco"), an editor for MagicSix. This inspired the two MIT Lisp Machine editors called EINE ("EINE Is Not EMACS") and ZWEI ("ZWEI Was EINE Initially").

More recent efforts include:

  • LIAR, a Scheme compiler (LIAR Imitates Apply Recursively)
  • GNU stands for "GNU's Not Unix!"
  • PHP stands for "PHP: Hypertext Preprocessor"
  • PINE ("Pine is not Elm")
  • a company with the name Cygnus, which expands to "Cygnus, Your GNU Support" (though Cygnus people say this is a backronym)
  • PNG file format unofficially stands for "PNG's Not GIF"
  • WINE - WINE Is Not an Emulator
  • YAML - YAML Ain't Markup Language
  • NiL - NiL Isn't Liero

The GNU Hurd project is named with a mutually-recursive acronym: "Hurd" stands for "Hird of Unix-Replacing Daemons", and "Hird" stands for "Hurd of Interfaces Representing Depth".

This article is based in part on the "Recursive acronym" section of the Jargon File. The Jargon File is in the public domain.