A filename extension is a suffix (separated from the base filename by a dot) to the name of a computer file applied to indicate the encoding (file format) of its contents or usage. Examples of filename extensions are .png, .exe, .dmg and .txt. Some file systems limit the length of the extension (such as the FAT file system not allowing more than three characters) while others (such as NTFS) do not. Unix filesystems accept the separator dot as a legal character. Filename extensions can be considered a type of metadata. They are commonly used to imply information about the way data might be stored in the file. The exact definition, giving the criteria for deciding what part of the file name is its extension, belongs to the rules of the specific filesystem used; usually the extension is the substring which follows the last occurrence, if any, of the dot character (example txt is the extension of the filename readme.txt, html the extension of mysite.index.html).
Contributions by Guy Harris, Oli Filth, and Nposs.