How to Prepare Your Files
- Gather all your .dbf table files
- Include associated memo files (.dbt for dBASE III/IV)
- Include index files (.ndx, .mdx) if available (optional)
- Create a ZIP archive containing all files
- Upload the ZIP archive below
dBASE is one of the earliest and most influential database management systems for microcomputers. Originally developed by Ashton-Tate in the late 1970s, dBASE pioneered the DBF file format and became the de facto standard for database applications on DOS and Windows.
What You Can Upload
.DBFtable files (all dBASE versions).DBTmemo files.CATcatalog files (dBASE IV).NDX/.MDXindex files (optional)- ZIP archive with complete file sets
What You Get Out
DataMeans extracts your data into multiple modern formats:
| Output | Description |
|---|---|
csv/{TableName}.csv | One CSV file per table with all row data |
xlsx/{TableName}.xlsx | Excel workbook per table |
xls/{TableName}.xls | Legacy Excel format per table |
json/{TableName}.json | JSON array of records per table |
json/{TableName}.jsonl | Newline-delimited JSON (streaming-friendly) |
postgres.sql | PostgreSQL CREATE TABLE + INSERT statements |
schema/schema-graph.json | Relationship graph for visualization |
schema/er-model.json | ER model for diagram tools |
report.json | Structured extraction report |
report.md | Human-readable extraction summary |
How to Export / Obtain Files
- Locate your dBASE application's data directory
- Copy all
.DBFtable files - Include associated
.DBTmemo files - Include
.CATcatalog if using dBASE IV - Create a ZIP with all files
- Upload the ZIP to DataMeans
Supported Features
- Automatic version detection (III, IV, V)
- All standard field types: Character, Numeric, Logical, Date, Memo
- Extended field types: Float, Binary, Integer, General/OLE
- Language driver detection for character encoding
- Memo field support (DBT format)
Known Limitations
- Index files (
.NDX,.MDX) not parsed (data fully extracted) - Character encoding may need adjustment for non-ASCII
- OLE objects exported as binary references
Last updated: January 2026
Overview
dBase is a classic database management system that pioneered the xBase family of databases. It uses a simple file-based architecture in which .dbf files contain tabular data, with indexes and memos stored in companion files. dBase popularized database concepts in microcomputing and influenced countless database systems, though it has largely been superseded by modern RDBMS.
History and Background
- 1978: Wayne Ratliff writes Vulcan, the database program that becomes dBase.
- 1980: Ashton-Tate licenses Vulcan and re-releases it as dBase II for CP/M.
- 1981: IBM commissions a port of dBase II; it is among the first programs available when the IBM PC ships that fall.
- 1984: dBase III, rewritten in C, is released.
- 1986: dBase III PLUS adds LAN multi-user support and the menu-driven Assist interface.
- 1988: dBase IV major release with SQL support.
- 1990: A U.S. federal court dismisses Ashton-Tate's copyright suit against Fox Software, ruling that dBase derived in part from the public-domain JPLDIS.
- 1991: Borland acquires Ashton-Tate.
- 1993: Borland releases dBASE IV 2.0 for DOS.
- 1994: Borland releases dBase 5.0 for DOS and Windows.
- 1999: Borland sells the dBase product line to KSoft, Inc., later renamed dBASE Inc.
- Present: Legacy systems still in use; the product line continues as dBASE PLUS.
File Format Specifications
dBase uses a simple file-based structure with separate files for data, indexes, and memos.
DBF File (.dbf):
- Binary format with header and data records
- Header: 32-byte structure followed by field descriptors
- Records: Fixed-length with field data
- File extension:
.dbf - Maximum fields: 128 (dBASE III), 255 (dBASE IV and later)
- Maximum record size: 4,000 bytes (dBASE III and IV)
Index Files (.ndx, .mdx):
- B-tree structure for fast lookups
- Single-field indexes (
.ndx) - Multiple indexes (
.mdx) - Support for compound keys
Header Structure:
- First byte indicates dBASE version
- Bytes 1-3: Last update date (YYMMDD)
- Bytes 4-7: Number of records
- Bytes 8-9: Header length
- Bytes 10-11: Record length
- Byte 15: Encryption flag
- Byte 29: Language driver ID
- Field descriptors follow header
- Each descriptor is 32 bytes: name (bytes 0-10), type (byte 11), length (byte 16), decimal count (byte 17)
- Level 7 widens descriptors to 48 bytes with 32-byte field names
- Header ends with 0x0D byte
- Data section ends with a 0x1A end-of-file marker
Associated Files:
.ndx: Single index files.mdx: Multiple index files (dBASE IV and later).dbt: Memo field storage (dBASE III and later).fpt: Memo field storage (FoxPro compatible)- Memo data is stored in 512-byte blocks in dBASE III; dBASE IV makes the block size configurable (default 512)
Data Types and Structures
| Type Code | Type | Size | Description |
|---|---|---|---|
| C | Character | Variable | Text strings, space-padded |
| N | Numeric | Variable | Numbers stored as ASCII text |
| F | Float | Variable | Floating-point numbers stored as ASCII text |
| I | Integer | 4 bytes | Binary long integers (Level 7) |
| D | Date | 8 bytes | Dates in YYYYMMDD format |
| L | Logical | 1 byte | Boolean (T/F/Y/N) |
| M | Memo | 10 bytes | Pointer to memo file block |
| B | Binary | 10 bytes | Binary data in memo file |
| G | OLE | 10 bytes | OLE objects in memo file |
| + | Autoincrement | 4 bytes | Auto-incrementing long integers (Level 7) |
| O | Double | 8 bytes | Binary floating-point numbers (Level 7) |
| @ | Timestamp | 8 bytes | Two long integers storing date and time (Level 7) |
Database Structure:
- Tables consist of fixed-length records
- Fields defined in header with name, type, length, decimal places
- Records contain field data in order
- Deleted records marked with '*' in first byte
- Indexes provide fast lookup and sorting
- Memo fields store large text/binary data externally
Version Differences
| Version | Year | Key Features | File Format Level |
|---|---|---|---|
| dBASE II | 1980 | First widely used microcomputer DBMS | Level 2: 16-bit record count, 32-field limit |
| dBASE III | 1984 | Rewritten in C; memo fields | Transitional format; .dbt memo files |
| dBASE III PLUS | 1986 | LAN multi-user support, Assist menus | Level 3 |
| dBASE IV | 1988 | SQL support, Control Center | Level 4: .mdx indexes, 255-field limit |
| dBASE IV 2.0 | 1993 | Performance-focused Borland release for DOS | Level 4 (no format change) |
| dBASE 5.0 | 1994 | Editions for DOS and Windows | Level 5 |
| Visual dBASE 5.5 | 1995 | Visual designers for Windows 3.1/95 | Level 5 (no format change) |
| Visual dBASE 7 | 1997 | 32-bit release for Windows 95/NT | Level 7: 31-character field names |
Compatibility Notes:
- The dBASE III-era format is the most widely supported by third-party applications
- Level 7 files are incompatible with readers supporting only earlier levels
- Character encoding varies between OEM and ANSI code pages, identified by a language driver ID in the header
- Field count and size limits increased over versions
- Some applications support only subset of data types
- The ESRI shapefile format requires a dBASE-format
.dbffile as its attribute table - LibreOffice Calc and Base open and save
.dbffiles, though formulas and formatting are not preserved
Technical References
- dBASE Table File Format (DBF)
- dBASE .DBF File Structure
- Wikipedia: .dbf
- DBF File Format Description
- Xbase File Format Description
To learn how to use this format with DataMeans, see the User Guide.