8.3 Filenames vs Long File Names in Windows 95
The release of Windows 95 marked a major shift in PC file management by introducing Long File Names (LFN) on the FAT file system, replacing the rigid MS-DOS 8.3 Short File Name (SFN) standard. This transition fundamentally altered how file extensions operated, expanding them beyond three characters and establishing a dual-namespace aliasing system to ensure legacy software remained functional.
Under the traditional 8.3 standard, file extensions were strictly
limited to a maximum of three alphanumeric characters following a single
period (for example, .TXT, .DOC, or
.HTM). Any attempt to use an extension longer than three
characters was rejected or truncated automatically by MS-DOS and Windows
3.1. Additionally, extensions were case-insensitive and forced into
uppercase.
With Windows 95 and the VFAT (Virtual File Allocation Table)
extension, files could use extensions of virtually any length within the
total 255-character file path limit. This allowed the adoption of
modern, descriptive extensions such as .html instead of
.htm, and .jpeg instead of .jpg.
Windows 95 also preserved case sensitivity for display purposes (such as
.Doc versus .doc), although the underlying
file system remained case-insensitive for file lookups.
To maintain backward compatibility with 16-bit MS-DOS and Windows 3.x applications that could not read LFNs, Windows 95 dynamically generated a matching 8.3 alias for every long file name. The extension of the generated 8.3 alias was created using a specific set of rules:
- Truncation: If a long file name had an extension
longer than three characters, Windows 95 took the first three characters
following the final period to form the 8.3 extension. For example, a
file saved as
webpage.htmlreceived the aliasWEBPAG~1.HTM. - The Final Period Rule: If a file contained multiple
periods (such as
archive.tar.gz), Windows 95 ignored all preceding periods and derived the 8.3 extension strictly from the characters following the last period, resulting inARCHIV~1.GZ. - Character Normalization: Spaces and illegal 8.3
characters (such as
+,,,;,=,[, and]) located within the extension were stripped or replaced with underscores. - Capitalization: The 8.3 alias extension was always fully capitalized, regardless of the case formatting used in the long file name.
If a file was created without an extension in Windows 95, its corresponding 8.3 alias was also generated without an extension. Through this aliasing mechanism, Windows 95 allowed modern software to utilize expanded file extensions while transparently presenting standard three-letter extensions to legacy programs.