Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».
Eninformatique, uneextension de nom de fichier (ou simplementextension de fichier, voireextension) est un suffixe de nom defichier fait pour identifier sonformat. Ainsi, on dira qu'un fichier nomméexemple.txt a l'extension.txt (ou simplementtxt). Ainsi la notion d'extension se spécifie-t-elle au moins par l'adoption conventionnelle d'un caractère dit séparateur (le point dans l'exemple précédent), suivi d'une chaîne (éventuellement vide) libre composée de caractères tirés d'une liste excluant le séparateur d'extension lui-même et les caractères interdits par le système de fichiers (et éventuellement de leur position dans la chaîne, comme l'antislash interdit partout et l'espace interdit en début et fin dans Windows). Le séparateur fait partie de l'extension. L'extension fait partie du nom de fichier. Le caractère retenu comme pouvant jouer le rôle de séparateur d'extension peut être présent plusieurs fois (éventuellement successives) dans le nom de fichier, seule sa dernière occurrence est le séparateur.
Un suffixe est séparé du nom par unpoint (.) enMS/DOS etCP/M.
C'est aussi le cas surMicrosoft Windows, où l'usage des extensions de fichier est généralisé. Leslogiciels ainsi que le système d'exploitation et les usagers utilisent l'extension pour appréhender leformat de chaque fichier et l'associer avec un logiciel capable de le manipuler. Toutes les extensions étaient visiblespar défaut dans les listes de fichiers depuis les premiers temps du DOS[1]. Certaines extensions (dites « ... dont le type est connu. », voir explication plus loin) sont maintenant masquées par défaut depuis la version Windows 95 de l'explorateur de fichiers. En contrepartie, l'explorateur affiche à côté du nom de fichier stricto sensu uneicône dont le graphisme est censé donner à l'utilisateur humain la même information (partielle, car plusieurs extensions peuvent correspondre à la même icône). Via une option de l'explorateur, l'utilisateur a cependant la possibilité de ré- «afficher les extensions de fichiers dont le type est connu » (sous-entendu « ... connu par le système d'exploitation. », ce qui signifie que diverses actions susceptibles d'être effectuées sur les fichiers affublés de l'extension en question sont enregistrées dans la configuration de Windows, soit pour un utilisateur particulier, soit au niveau global pour tous les utilisateurs : Ouvrir, Modifier, Imprimer, Jouer, ... , les principales étant directement visibles et accessibles via la touche demenu contextuel du clavier ou un clic droit de souris sur le fichier, l'action par défaut, correspondant audouble-clic gauche ou à la touche Entrée figurant en gras dans ce menu). Cette décision de masquer certaines extensions est toujours contestée car elle est utilisable à des fins malignes pour induire les utilisateurs inexpérimentés en erreur, ce qui n'a pas manqué de se produire avec la dissémination de virus attachés en pièces-jointes à des messages électroniques et portant des noms tels que blague.doc.exe : l'extension proprement dite, c'est-à-dire les caractères situés après ledernier point (inclus) étant masquée, l'utilisateur croit ouvrir un fichier texte (.doc) alors qu'il lance le programme (.exe) inconnu blague.doc.exe
EnVM/CMS, le suffixe, appeléfiletype, est séparé du nom par une espace.
SurUnix, conformément à la normeFilesystem Hierarchy Standard, les fichiers nécessaires au système d'exploitation sont placés dans différentsrépertoires en fonction de l'utilisation qui en est faite – utilisation qui dépend directement de leur format ; le système d'exploitation utilise rarement les extensions. Les extensions sont utilisées par souci de clarté par leslogiciels applicatifs. Avec lesenvironnements de bureau tels queKDE etGNOME, les suffixes sont aussi utilisés pour appréhender leformat de chaque fichier. La première analyse du fichier lors de l'affichage se base sur l'extension, puis une seconde analyse se base sur l'utilitairefile qui inspecte le contenu d'un fichier pour détermine letype MIME du fichier.
Sur les versions 1 à 9 deMac OS chaque fichier est équipé demétadonnéescode de type etcode du logiciel créateur. Ces métadonnées renseignent sur le format de fichier et le logiciel utilisé pour créer ce fichier. Le système d'exploitation et leslogiciels applicatifs n'utilisent pas les extensions. Les extensions au nom du fichier sont parfois utilisées pour faciliter l'échange de documents avec les autressystèmes d'exploitation. Depuis la version 10 de Mac OS, les documents comportent systématiquement une extension au nom du fichier (que l'on peut ou non visualiser).
L'extension d'un fichier peut être modifiée par l'utilisateur de la même manière que le nom de fichier. Cependant,ceci peut provoquer la confusion des logiciels qui appréhendent leformat de fichier d'après l'extension.
C'est la raison pour laquelleMicrosoft Windows masque par défaut l'extension. Ceci peut être modifié dans les paramètres d'affichage des "options de dossiers", et le changement d'extension devient alors possible. Cependant Windows avertit l'utilisateur que le fichier risquera "d'être inutilisable" avec une demande de confirmation avant de faire le changement. Malgré ça, certaines extensions restent invisibles. C'est le cas de.lnk, extension des raccourcis.
Dans Windows, il est difficile de déterminer le type d'un fichier dont l'extension est erronée (ceci peut être exploité par certains utilisateurs pour camoufler certains fichiers sous une apparence trompeuse).
Au contraire, avec Unix, la simplecommandefile permet de reconnaître le format d'un fichier, par une reconnaissance heuristique du contenu.
Windows et Unix diffèrent sur la stratégie pour connaître l'intérpréteur nécessaire à l'exécution d'un script : Windows se base sur la notion d'extension, alors qu'Unix et Linux se basent sur la notion deshebang.
SousMac OS, le type de fichier n'est pas enregistré dans l'extension ni dans le fichier, mais dans une métadonnée stockée avec le nom, dans les partitionsHFS, sous forme d'untype et d'uncreator (indication du logiciel devant ouvrir le fichier), deux champs de quatre caractères chacun. Cela pose des problèmes lors d'échanges avec des systèmes nonMac, qui ne reconnaissent pas cette information.
.sh : fichier texte contenant une ou plusieurs commandes qui seront exécutées de manière séquentielle. Unscript shell permet d'automatiser une série de commandes sur les systèmes Linux et Unix.
les exécutables n'ont traditionnellement pas d'extension dans les dérivés d'Unix.
SousIBM CMS, repris dans les premières versions de Windows, lesystème de fichiers historique était limité pour les noms de fichier à 8 caractères pour le nom et à 3 caractères pour l'extension (on parle de "système 8+3"). Ceci explique que les extensions originaires d'autres systèmes sont souvent tronquées à 3 lettres :