HPFS, short for High Performance File System, is a file system created specifically for the OS/2 operating system to improve upon the limitations of the FAT file system. It was written by Gordon Letwin and others at Microsoft and added with OS/2 version 1.2, at that time still a joint undertaking of Microsoft and IBM.

Among its improvements include support for mixed-case file names and long file names (256 characters as opposed to FAT's 11 characters), more efficient use of disk space (files are not stored using multiple-sector clusters but on a per-sector basis), an internal architecture that keeps related items close to each other on the disk volume, less fragmentation of data and a centrally-located root directory. It also can keep 64 KiB of metadata ("Extended attributes") per file.

IBM offers two kind of drivers for this filesystem: the standard one with a cache limited to 2 MiB, and HPFS386 provided with the server versions of OS/2. HPFS386's cache is limited by the available memory. It's highly tuneable by experienced administrators. Thus, HPFS386 is faster, but also IBM has to pay to Microsoft on every copy sold.

Because of the Microsoft dependence and the longer check times after crash, IBM ported the journaling file system JFS to OS/2 as a susbtitute.

After the IBM and Microsoft split, Microsoft created NTFS as an extension of HPFS.

There are also third-party drivers for DOS and Linux and official ones for Windows NT.