Prepare
- Upload .db files
Paradox is a relational database management system originally published by Ansa Software and later by Borland and Corel. It was popular in the DOS and Windows database market.
What You Can Upload
.DBtable files.MBmemo/BLOB files.PXprimary index files.XG0-.XGnsecondary index files.VALvalidity check files- 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 Paradox application's data directory
- Copy all
.DBtable files - Include associated
.MBmemo files - Include
.PXand.XG*index files - Create a ZIP with all files
- Upload the ZIP to DataMeans
Supported Features
- Paradox versions 4.x through 11
- Memo field support (
.MBfiles) - BLOB field extraction (
.MBfiles) - Password-protected table support (password required)
- Validity checks handling
- Table relationship reconstruction
Known Limitations
- Password-protected tables require password during upload
- Some complex validity rules documented but not enforced
Last updated: January 2026
Overview
Borland Paradox was a popular relational database management system for DOS and Windows, known for its intuitive Query By Example (QBE) interface and powerful reporting capabilities. It used a proprietary file format with separate files for data, indexes, and memos. Paradox was widely used in business applications during the 1980s and 1990s, particularly in the DOS era; Borland sold the product to Corel in 1996, and the final major version shipped in 2003.
History and Background
- 1985: Ansa Software releases Paradox 1.0 for DOS, introducing the QBE interface.
- 1986: Paradox 2.0 adds multi-user support with automatic table and record locking on PC networks.
- 1987: Borland acquires Ansa Software in a stock swap worth $29 million.
- 1989: Paradox 3.0 for DOS released, bundling the PAL-based Personal Programmer.
- 1990: Paradox 3.5 released; the separate Paradox SQL Link product adds connectivity to SQL database servers.
- 1992: Paradox 4.0 for DOS, rewritten with the Borland C++ windowing toolkit, adds memo and binary BLOB fields.
- 1993: Paradox for Windows 1.0 ships in January, introducing the ObjectPAL programming language; Paradox for Windows 4.5 follows the same year.
- 1994: Paradox 5.0 for Windows released, adding long integer, time, timestamp, logical, autoincrement, and BCD field types.
- 1995: Borland releases Paradox 7, a 32-bit version for Windows 95 and Windows NT.
- 1996: Borland sells Paradox to Corel in October.
- 1997: Corel Paradox 8 released as part of Corel WordPerfect Suite 8.
- 2003: Paradox 11, the final major version, ships with WordPerfect Office 11 Professional.
- 2009: Paradox receives its last update, a hot fix issued with WordPerfect Office X4.
File Format Specifications
Primary Files:
.db: Data table file with fixed-length records.px: Primary key index file.mb: Memo/BLOB storage for memo, binary, graphic, and OLE fields.val: Field validity checks and referential integrity definitions.tv: Table view settings
Index Files:
.Xnn/.Ynn: Paired single-field secondary index files (nn = field number).XGn/.YGn: Paired secondary index files for composite and case-insensitive indexes, numbered sequentially from 0- Descending secondary indexes were added with format level 7
File Structure:
- Header block with table metadata (record size, record count, block size, file version)
- Fixed-length records stored in data blocks
- Primary index blocks organized as a multi-level tree for fast lookups
- Memo and BLOB values stored in the
.mbfile, referenced by 10-byte pointers in the record - Block size: 1024-4096 bytes, selected per table (header code 1-4 multiplied by 1 KB)
Data Types and Structures
| Field Type | Description | Size |
|---|---|---|
| Alphanumeric | Fixed-length text, up to 255 characters | 1-255 bytes |
| Number | Double-precision floating point | 8 bytes |
| Short | Signed 16-bit integer | 2 bytes |
| Long Integer | Signed 32-bit integer (format level 5+) | 4 bytes |
| Money | Currency, stored as double-precision floating point | 8 bytes |
| Date | Days counted from January 1, 1 AD | 4 bytes |
| Time | Milliseconds since midnight (format level 5+) | 4 bytes |
| Timestamp | Combined date and time (format level 5+) | 8 bytes |
| Logical | Boolean (T/F) (format level 5+) | 1 byte |
| Memo | Text in .mb file; record holds leading text plus 10-byte pointer | 11-250 bytes in record |
| Binary | Binary data in .mb file | 10-250 bytes in record |
| OLE | OLE objects in .mb file | Variable |
| Graphic | Images in .mb file | Variable |
| Formatted Memo | Rich-text memo in .mb file | Variable |
| Autoincrement | Auto-incrementing 32-bit integer (format level 5+) | 4 bytes |
Database Structure:
- Tables as primary data containers
- Referential integrity and validity checks stored in
.valfiles - Optional password protection with table encryption
- Multi-user concurrency through table and record locking
- Saved queries and reports stored in separate files alongside tables
Version Differences
| Version | Year | Key Features | File Format Level |
|---|---|---|---|
| 1.0 (DOS) | 1985 | QBE interface, dBASE data import | Pre-level-3 format |
| 2.0 (DOS) | 1986 | Multi-user network support | Pre-level-3 format |
| 3.0 (DOS) | 1989 | Forms designer, Personal Programmer | Level 3 |
| 3.5 (DOS) | 1990 | SQL Link connectivity | Level 3 (no format change) |
| 4.0 (DOS) | 1992 | Memo/BLOB fields, Borland C++ UI | Level 4 (adds .mb BLOB storage) |
| 1.0 for Windows | 1993 | ObjectPAL, Windows GUI | No new format level |
| 5.0 for Windows | 1994 | Long integer, time, timestamp, BCD, autoincrement types | Level 5 |
| 7 | 1995 | 32-bit, Windows 95/NT support | Level 7 (descending secondary indexes) |
| 8 | 1997 | First Corel release (WordPerfect Suite 8) | Level 7 (no format change) |
| 9 | 1999 | Bundled with WordPerfect Office 2000 Professional | Level 7 (no format change) |
| 10 | 2001 | Bundled with WordPerfect Office 2002 Professional | Level 7 (no format change) |
| 11 | 2003 | Final major version (WordPerfect Office 11 Professional) | Level 7 (no format change) |
Compatibility Notes:
- Later versions read tables created at earlier format levels
- The Borland Database Engine (BDE) can create tables at level 3, 4, 5, or 7
- Field types introduced at level 5 require a level 5 or level 7 table
- Tables can be password-protected and encrypted
- Open-source libraries such as pxlib read all table versions from 3.0 onward
Technical References
- Wikipedia: Paradox (database)
- Paradox Table File Format Specifications (Randy Beck)
- pxlib: Library to Read and Write Paradox Databases
- DOS Days: Borland Paradox
- Corel Paradox (WordPerfect)
To learn how to use this format with DataMeans, see the User Guide.