What is the FPT file format?
An .fpt file is a binary sidecar file paired with a FoxPro database table (.dbf). It stores the content of memo and binary fields that are too large or variable in length to fit within the fixed-width record structure of a .dbf file. Every .fpt shares the same base name as its parent .dbf - for example, customers.dbf and customers.fpt - and the two files must always reside in the same directory.
The format was introduced with FoxPro 1.0 in 1989 by Fox Software and later standardized under Microsoft's Visual FoxPro line. .fpt uses a fixed block structure: a 512-byte header records the block size and the pointer to the next available block, followed by a chain of fixed-size blocks (default 512 bytes) holding individual field values. Each memo entry begins with a 4-byte type flag and a 4-byte length, then the raw data. Text memos end with two 0x1A EOF markers.
Unlike the older .dbt format used by dBASE III/IV, .fpt can store binary objects such as images, OLE objects, and other blobs in addition to plain text. Block size is configurable via the SET BLOCKSIZE command.
Visual FoxPro 9.0 SP2 (2007) was the last version of the platform; Microsoft ended support in January 2015. Legacy .fpt data is typically migrated to modern databases such as SQL Server, SQLite, or PostgreSQL using FoxPro's COPY TO command or third-party conversion tools.
Security & safety
RISK: LOWBinary data file, not executable. Historical FPT files may contain sensitive legacy business data (customer records, documents). No known malware vector.
Format details
in a nutshell- FileMaker Pro Database Memo File - FileMaker Pro also uses .fpt for its legacy flat-file database memo/container field storage, unrelated to the xBase/FoxPro format.
Programs that open FPT files
Technical details
deep spec| File type | Binary sidecar memo and BLOB storage file for dBASE/FoxPro tables |
| MIME type | application/octet-stream |
| Byte order | big-endian |
| Block structure | Fixed-size blocks; default 512 bytes (block size value 64 × 8); configurable via SET BLOCKSIZE |
| Block size range | 33-65,535 bytes per block; default is 512 bytes in Visual FoxPro |
| Header layout | 512-byte block 0: bytes 0-3 = next-free-block number; bytes 6-7 = block size (both big-endian) |
| Memo entry layout | 4-byte type flag (0 = picture/binary, 1 = text memo) + 4-byte data length + raw data bytes |
| Text memo terminator | Two 0x1A (Ctrl-Z) bytes at the end of each text memo entry |
| Binary data support | Stores images, OLE objects, and arbitrary binary BLOBs - unlike dBASE .dbt which is text-only |
| Pairing requirement | Always paired with a .dbf of the same base name; the .fpt file is never standalone |
| DBF linkage | .dbf stores the FPT block number as a text offset in each memo field slot |
| Typical file size | 4 KB - 500 MB (grows with accumulated memo content; reduced by running PACK command) |
| dBASE equivalent | .dbt (dBASE III/IV); FPT and .dbt are not interchangeable despite similar purpose |
| Last supported platform | Visual FoxPro 9.0 SP2; Microsoft ended VFP support in January 2015 |
| Released | 1989 (FoxPro 1.0 by Fox Software) |
| Latest version | Visual FoxPro 9.0 SP2 format (2007, last VFP release) |
| Open standard | Yes · royalty-free |
| Specification | learn.microsoft.com |
FPT conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about FPT files.