All systems

Clipper

Clipper 5.x / dBASE DBF
Supported

How to Prepare Your Archive

  1. Gather all your .dbf table files
  2. Include associated memo files (.dbt for dBASE III/IV format)
  3. Include index files (.ntx, .ndx) if available (optional)
  4. Create a ZIP archive containing all files
  5. Upload the ZIP file below
Guide

Clipper is a powerful xBase compiler that became the de facto standard for dBASE application development in the DOS era. Created by Nantucket Corporation in 1985, Clipper extended dBASE III with advanced programming features and compilation capabilities.

What You Can Upload

  • .DBF table files (dBASE III format)
  • .DBT memo files
  • .NTX Clipper native index files (optional)
  • .NDX index files (optional)
  • ZIP archive with complete file sets

What You Get Out

DataMeans extracts your data into multiple modern formats:

OutputDescription
csv/{TableName}.csvOne CSV file per table with all row data
xlsx/{TableName}.xlsxExcel workbook per table
xls/{TableName}.xlsLegacy Excel format per table
json/{TableName}.jsonJSON array of records per table
json/{TableName}.jsonlNewline-delimited JSON (streaming-friendly)
postgres.sqlPostgreSQL CREATE TABLE + INSERT statements
schema/schema-graph.jsonRelationship graph for visualization
schema/er-model.jsonER model for diagram tools
report.jsonStructured extraction report
report.mdHuman-readable extraction summary

How to Export / Obtain Files

  1. Locate your Clipper application's data directory
  2. Copy all .DBF table files
  3. Include associated .DBT memo files
  4. Create a ZIP with all files
  5. Upload the ZIP to DataMeans

Supported Features

  • Clipper 5.x, Summer '87, CA-Clipper 5.3
  • Full DBF table extraction
  • Memo field support (DBT format)
  • Automatic field type conversion
  • Character encoding detection (CP437 and modern)
  • Complete record extraction

Known Limitations

  • Index files (.NTX, .NDX) not parsed (data fully extracted)
  • Some legacy custom field extensions may not be recognized
  • Report format files (.FRM) not extracted

Last updated: January 2026

Technical reference

Overview

Clipper is an xBase compiler that implements a variant of the xBase programming language, primarily used for developing database business applications. It compiles dBase-compatible code into executable programs, using standard DBF file formats with some proprietary extensions. Clipper was widely used in the 1980s and 1990s for DOS-based business software and remains influential through open-source successors like Harbour and xHarbour.

History and Background

  • 1984: Nantucket Corporation founded by Barry ReBell and Brian Russell.
  • 1985: Clipper Winter '84, the first release, ships in May 1985 as a compiler for dBase III programs.
  • 1986: Clipper Winter '85 ships on 29 January.
  • 1986: Clipper Autumn '86 adds multi-user networking support with record and file locking.
  • 1987: Clipper Summer '87 released in December with major speed improvements and becomes widely popular.
  • 1990: Clipper 5.0 released with code blocks, multidimensional arrays, a preprocessor, and the Replaceable Database Driver (RDD) layer.
  • 1991: Clipper 5.01 released.
  • 1992: Clipper 5.01 Rev.129, the final Nantucket release, ships in March.
  • 1992: Computer Associates acquires Nantucket, renames the product CA-Clipper.
  • 1993: CA-Clipper 5.2 ships with additional RDDs for dBase, FoxPro, and Paradox file formats.
  • 1995: CA-Clipper 5.3 released, final major version; the last update, 5.3b, follows in 1997.
  • 1999: Open-source Harbour project started as Clipper successor.
  • 2001: xHarbour forked from Harbour with extended features.

File Format Specifications

Clipper primarily uses dBase-compatible file formats with proprietary extensions.

DBF (DataBase File) Format:

  • Compatible with dBase III+ file format
  • Binary structure with header and fixed-length records
  • File extension: .dbf
  • Version byte at offset 0: 0x03 without memo fields, 0x83 when a .dbt memo file is attached
  • Header stores the record count (32-bit little-endian), header length, and record length
  • Each field is defined by a 32-byte descriptor (11-byte null-terminated name field, type code, length, decimal count); the descriptor array ends with a 0x0D byte
  • A 0x1A end-of-file marker follows the last record
  • Character fields longer than 255 bytes use a Clipper-specific length encoding (up to 64 KB)
  • File size limited to 2 GB under DOS; the default record-locking scheme limits shared tables to about 1 GB

Index Files:

  • .ntx: Clipper native index format, a modified B+ tree with 1,024-byte pages
  • .ndx: dBase compatible index format
  • .cdx: FoxPro 2 compatible compound index format via the DBFCDX driver
  • .ntx headers record the root page offset, next free page offset, key size, keys per page, and a null-terminated key expression of up to 256 bytes
  • A flag byte at offset 278 of the .ntx header marks unique indexes
  • Index drivers are selectable through the RDD architecture; alternative drivers ship with CA-Clipper 5.2 and later

Memo Files:

  • .dbt: dBase III compatible memo storage with 512-byte blocks
  • .fpt: FoxPro compatible memo storage with 64-byte default blocks
  • Stores variable-length text; .fpt files also store binary data
  • Referenced by 10-byte pointers in DBF records
  • .dbt headers open with a 4-byte pointer to the next free block; memo text ends with two 0x1A marks
  • .dbt files grow append-only, so space from edited memos is reclaimed only by copying the table
  • .fpt files use big-endian byte order; each memo block opens with a record type (0x01 for text) and a 4-byte data length

Data Types and Structures

TypeSizeDescription
Character (C)VariableText strings, space-padded
Numeric (N)VariableNumbers with decimal precision
Float (F)20 bytesFloating-point numeric, added in dBase IV
Date (D)8 bytesDates in YYYYMMDD format
Logical (L)1 byteBoolean (T/F/.T./.F.)
Memo (M)10 bytesPointer to memo file

Database Structure:

  • Tables consist of DBF files with associated indexes and memos
  • Records are fixed-length with field data in order
  • Numeric fields extend to 20 characters in Clipper and FoxPro, including sign and decimal point
  • Deleted records marked with '*' in first position
  • Multi-user access through record and file locking (RLOCK()/FLOCK())
  • Relational operations through index relationships
  • Extend system allows functions written in C or assembly language to be called from Clipper code

Version Differences

VersionYearKey ChangesCompatibility
Winter '841985First releasedBase III .dbf files
Autumn '861986Multi-user networking, record lockingNo DBF format change
Summer '871987Speed enhancements, new commands.ntx header version 0x0003
5.01990Code blocks, preprocessor, arrays.ntx header version 0x0006
5.011991Bug fixes, refined virtual memory managementNo format change
5.21993Bundled RDDs for dBase, FoxPro, ParadoxAdds .ndx, .mdx, .cdx, .fpt support via RDDs
5.2e1995Final maintenance revision of the 5.2 lineNo format change
5.31995Mouse support, text-mode GUI controlsNo DBF format change
5.3a1996Maintenance release; Windows 95 supportNo format change
5.3b1997Final release; fixes issues found in 5.3aNo format change

Compatibility Notes:

  • Clipper uses dBase III+ compatible DBF files
  • NTX indexes are Clipper-specific but supported by Harbour, xHarbour, and other xBase tools
  • The RDD layer supports dBase, FoxPro, and Paradox file formats through drivers bundled with CA-Clipper 5.2 and later
  • Clipper's extended character and numeric field lengths exceed dBase III+ limits and are not portable to dBase tools
  • dBase IV .dbt memo files store a configurable block length in their header and differ from the dBase III+ layout Clipper writes
  • Harbour/xHarbour maintain backward compatibility
  • Modern tools support Clipper DBF files through xBase libraries

Technical References


To learn how to use this format with DataMeans, see the User Guide.