DBF files
Open dBase, FoxPro and Clipper tables as CSV or Excel, or make a new DBF from a spreadsheet, on your device.
Conversion desk
On this device
Start with a file
Drop your file here or choose one from your device.
DBF · CSV · TSV · XLSX · 5 files at a time, free
Its new format
Converted on this device. Nothing is uploaded.
Your file's short trip
DBF to CSV
Your file is next.
- Copy records
- Ready
Which conversion do you need?
- DBF to CSV: plain text for databases, scripts and spreadsheets, and for tables too big for one workbook.
- DBF to Excel: a workbook with real dates and numbers, ready to sort and filter.
- CSV to DBF and Excel to DBF: a new dBase table for a map layer or an older program.
The converter above handles all four. Pick a direction, or just drop a file: if it doesn't fit the selected direction, the converter switches to one that does.
What a DBF file is
DBF is the table format of dBase, one of the first database programs for personal computers, sold by Ashton-Tate from the early 1980s. A .dbf file holds a single table: a short header that lists the fields, followed by one fixed-width record after another. That simplicity helped it last. FoxPro, Visual FoxPro and Clipper used the same layout and extended it, and it became a common way to pass data between programs on DOS and Windows.
It never quite went away. Esri's shapefile, still one of the most widely shared GIS formats, keeps its attribute table in a .dbf next to the .shp and .shx files, so map software still writes DBF today. Accounting, stock and membership programs from the dBase, Clipper and FoxPro years have left plenty of data in DBF tables, too.
Inside the file
- Version byte. The very first byte says which program family wrote the file, and often whether a memo file belongs with it.
- Field list. Each field has a short name (10 characters in most versions, longer in dBase 7), a one-letter type and a fixed width.
- Records. Each starts with a flag byte. An asterisk marks a record that was deleted but not yet packed away.
- Language driver byte. It names the code page the text is stored in. Many older files leave it empty, which is why the text encoding sometimes needs choosing by hand.
- Memo file. Long text lives in a companion file with the same name: .dbt for dBase, .fpt for FoxPro. Without it, a memo field holds only pointers.
- Index files. Files ending in .cdx, .mdx, .ndx or .ntx keep a table's sort orders for quick searching. Every record is in the .dbf itself, so you don't need them to convert.
Versions we've tested
Each version below appears among the 29 readable files in the 30 licensed test files we measure our converters against. The reader also accepts a few rarer version bytes, but we list only the ones we've checked on real files.
| Version byte | Written by | Test files |
|---|---|---|
| 0x02 | dBase II | 1 |
| 0x03 | dBase III and later, without a memo file | 14 |
| 0x30 | Visual FoxPro | 7 |
| 0x31 | Visual FoxPro, with an autoincrement field | 1 |
| 0x32 | Visual FoxPro, with varchar or varbinary fields | 1 |
| 0x83 | dBase III Plus, with a .dbt memo file | 1 |
| 0x8B | dBase IV, with a .dbt memo file | 2 |
| 0x8C | dBase 7 | 1 |
| 0xF5 | FoxPro 2 or earlier, with an .fpt memo file | 1 |
Field types
A field's type letter decides what its bytes mean. Here is what each one holds, and what it becomes when you convert:
| Type | Holds | Becomes |
|---|---|---|
| C · Character | Text, padded with spaces to the field's width | Text, without the padding |
| N, F · Numeric, Float | Numbers written out as digits | Numbers, with the declared decimals |
| L · Logical | True, false, or not set | TRUE, FALSE or empty |
| D · Date | A date stored as YYYYMMDD | A date |
| M · Memo | A pointer into the .dbt or .fpt file | The memo text, when you add the memo file |
| I, + · Integer, Autoincrement | Whole numbers in binary | Numbers |
| B, O, Y · Double, Currency | Binary numbers from Visual FoxPro and dBase 7 | Numbers (a dBase B field holds binary data instead, and is left out) |
| T · DateTime | A Visual FoxPro date and time | A date with its time |
| V · Varchar | Visual FoxPro text of varying length | Text |
| G, P · General, Picture | OLE objects and images | Left out, and named in the notes |
Making new DBF files
Going the other way, we write dBase III (version byte 0x03) with C, D, L and N fields only, and no memo file yet. CSV to DBF explains how columns turn into fields and how to choose a code page; Excel to DBF covers what's particular about reading a workbook.
Plans
Free and Pro
The free plan is the real product, not a trial. Pro is for people who convert in bulk, and it isn't open yet.
| Feature | Free | Pro |
|---|---|---|
| Single files | Free, no watermark, no wait | Same |
| Files at a time | Up to 5 | Up to 100 |
| ZIP and folder input | Pick the files instead | Yes |
| Large files | Works; may be slow on some devices | Built for them |
| Account | None needed | Optional |
| Where files go | Nowhere: converted on your device | Nowhere: converted on your device |
| Price | $0 | Week Pass $6 · Pro $7/month or $48/year · coming soon |
Privacy
Check it yourself
You don't have to take our word for it. Your browser can show you exactly what this page sends.
- Open your browser's developer tools (F12, or Option + Command + I on a Mac) and choose the Network tab.
- Convert a file on this page.
- Look through the requests. None of them carries your file: the page loads its code once, then the conversion runs in a Web Worker on your device.
- For a stronger test, turn off Wi-Fi after the page loads, then convert again. It still works.
The conversion worker runs under its own Content Security Policy, which blocks every network request:
default-src 'none'; script-src 'self'The page itself may only talk to this site and our cookieless analytics:
connect-src 'self' https://gateway.umami.is