Using Filename Extensions

Filename extensions should always describe a file type. Your installation program should not rename old or backup files by giving them filename extensions like .001, .BAK, or .XX1. If the file type does not change, the program should give the file a new name. For example, it can use long filenames to change the old version of a filename, such as SAMPLE.DLL being changed to Copyof SAMPLE.DLL.

The following table lists filename extensions currently used in Windows. You should not use these filename extensions, unless your file fits the given type description.

Extension Type description
386 Windows virtual device driver
3GR Screen grabber for Microsoft® MS-DOS® – based applications
GR3 Windows version 3.0 screen grabber
ACM Audio Compression Manager driver
ADF Administration configuration files
ANI Animated mouse cursor
AVI Video clip
AWD Fax viewer document
AWP Fax key viewer
AWS Fax signature viewer
BAK Backed-up file
BAT MS-DOS batch file
BFC Briefcase
BIN Binary data file
BMP Picture (Windows bitmap)
CAB Windows setup file
CAL Windows Calendar file
CDA CD audio track
CFG Configuration file
CNT Help contents
COM MS-DOS –based program
CPD Fax cover page
CPE Fax cover page
CPI International code page
CPL Control Panel application
CRD Windows Cardfile document
CSV Command-separated data file
CUR Cursor (pointer)
DAT System data file
DCX Fax viewer document
DLL Application extension (dynamic-link library)
DOC WordPad document
DOS MS-DOS – based file (also extension for NDIS2 net card and protocol drivers)
DRV Device driver
EXE Application
FND Saved search results
FON Font file
FOT Shortcut to font
GR3 Windows version 3.0 screen grabber
GRP Program group file
HLP Help file
HT HyperTerminal file
ICM Image color matching (ICM) profile
ICO Icon
IDF MIDI instrument definition
INF Setup information
INI Configuration settings
KBD Keyboard layout
LGO Windows logo driver
LIB Static-link library
LNK Shortcut
LOG Log file
MCI MCI command set
MDB File viewer extension
MID MIDI sequence
MIF MIDI instrument file
MMF Microsoft Mail message file
MMM Animation
MPD Mini-port driver
MSG Microsoft Exchange mail document
MSN The Microsoft Network home base
MSP Windows Paintbrush picture
NLS Natural language services driver
PAB Microsoft Exchange personal address book
PCX Picture (PCX format)
PDR Port driver
PF ICM profile
PIF Shortcut to MS-DOS – based application
PPD PostScript® printer description file
PRT Printer formatted file (result of Print to File option)
PST Microsoft Exchange personal information store
PWL Password list
QIC Backup set for Microsoft Backup
REC Windows Recorder file
REG Application registration file
RLE Picture (RLE format)
RMI MIDI sequence
RTF Document (rich text format)
SCR Screen saver
SET File set for Microsoft Backup
SHB Shortcut into a document
SHS Scrap
SPD PostScript printer description file
SWP Virtual memory storage
SYS System file
TIF Picture (TIFF format)
TMP Temporary file
TRN Translation file
TSP Windows telephony service provider
TTF TrueType font
TXT Text document
VBX Visual Basic control file
VER Version description file
VXD Virtual device driver
WAV Sound wave
WPC WordPad file converter
WRI Windows Write document
XAB Microsoft Mail address book

You should also investigate filename extensions commonly used by popular applications so that you can avoid creating a new extension that might conflict with them, unless you intend to replace or supersede the functionality of those applications.