Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле.
Расширение обычно отделяется от основной части имени файла точкой. В операционных системах CP/M и MS-DOS длина расширения была ограничена тремя символами, в современных операционных системах это ограничение отсутствует. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».
В файловой системе FAT16 имя файла и расширение являлись отдельными сущностями, а точка, разделявшая их, реально не являлась частью полного имени файла и служила лишь для визуального отделения имени файла от расширения. В файловых системах FAT32 и NTFS точка стала обычным разрешённым символом в имени файла, поэтому ограничения на количество точек в имени файла в этих системах и их местоположения были сняты (за некоторыми исключениями, например, все конечные точки в именах файлов просто отбрасываются). Поэтому стандартный шаблон поиска *.* не имеет больше практического смысла, достаточно задать *, так как символ точки теперь подпадает под понятие любого символа.
Некоторые операционные системы или менеджеры файлов могут устанавливать соответствия между расширениями файлов и приложениями. Когда пользователь открывает файл с зарегистрированным расширением, автоматически запускается соответствующая этому расширению программа. Некоторые расширения показывают, что файл сам является программой.
Иногда расширение указывает формат лишь в общем (например, расширение .doc использовалось для множества различных форматов текста — как простого, так и форматированного; а расширение «txt» не даёт никакой информации о том, в какой кодировке текст в файле), из‑за чего необходимо использовать и другие способы определения формата.
Иногда расширение указывает только один из используемых в файле форматов (например, расширение «.ogg» первоначально использовалось для всех файлов в формате Ogg, независимо от кодеков, которыми закодированы содержащиеся в контейнере Ogg данные). Также расширение обычно не указывает версию формата (например, файлы в разных версиях XHTML могут использовать одни и те же расширения).
В некоторых операционных системах и файловых системах (например, HFS) информация о формате файла хранится в самой файловой системе. Магические числа — последовательности байтов внутри самих файлов. Shebang — в Unix‐подобных ОС ставится в начале исполняемого файла для указания интерпретатора, который должен вызываться при запуске этого файла. Состоит из символа комментария (#) и восклицательного знака (!), после которого указывается команда, которую требуется выполнить с данным файлом в качестве аргумента.