Document tool

DBF to CSV Converter

Convert a dBASE .dbf table to CSV. Reads the code page from the file header so legacy text decodes correctly, and honours deleted rows.

DBF CSV
PrivConvert
Privacy-first conversion
No files stored
In-memory processing
Deleted instantly
No sign-up needed

Complete the security check to begin

A format from 1983 that you still run into

dBASE gave the world the .dbf table, and the format proved far more durable than the software. FoxPro and Clipper adopted it, thousands of accounting, inventory, payroll and point-of-sale systems wrote their data in it, and it is still the container every GIS shapefile uses for its attribute table. Forty years on, a fixed-width header declaring each column’s name, type and width followed by fixed-width rows turns out to be an unusually good way to make data outlive the program that produced it.

Which is why people still arrive with one. Either something exported it — because .dbf was the natural choice when that software was written — or a shapefile lost its companion files and the attribute table is what survived. CSV is what you want next: readable in anything, importable everywhere, and no longer dependent on a format only legacy tools speak.

The code page problem, which is where most converters fail

A .dbf predates the idea that a file should declare its text encoding. What it has instead is a single byte in the header — the language driver identifier — naming the code page the text was written in. Ignore that byte, assume everything is one encoding, and every Hebrew, Cyrillic, Greek or accented name in the file comes out as mojibake. That is the single most common complaint about DBF exports, and it is entirely avoidable.

This reads the byte and decodes accordingly, across the Windows, DOS and Mac code pages that dBASE and FoxPro actually used in practice — Hebrew, Cyrillic, Greek, Turkish, Baltic, Central European, Thai, Chinese, Japanese and Korean among them. When the header names nothing, UTF-8 is tried first and a legacy fallback that maps every possible byte second, so the conversion can never die two-thirds of the way through on a single awkward character. The CSV is then written with a byte-order mark, because Excel reads unmarked UTF-8 as mojibake and undoing correct decoding at the last step would be a strange way to finish.

Deleted rows, and why they are still in your file

dBASE never actually removed a deleted record. It set a flag on the row and moved on, leaving the data in place — which means a table that has been in use for twenty years may still contain records deleted a decade ago. Every database and GIS tool hides them, and this converter does too: exporting them would hand back data whose owner deliberately deleted it, which is not a conversion, it is a recovery no one asked for.

Types are carried across as far as CSV permits. Numbers stay numbers instead of becoming space-padded text, logical columns become True and False, and dates are rewritten as ISO 2024-01-31 so they sort correctly and cannot be misread as one date order or the other. Cells that dBASE filled with asterisks because the value overflowed the column are treated as missing rather than exported literally.

Where to go from here

For a spreadsheet with typed cells rather than text, DBF to XLSX writes a real worksheet, though with a lower row ceiling since building one costs considerably more. If you want to query the data instead of browse it, run this CSV through CSV to SQLite and you have a database you can put SQL against. And the whole conversion is on the API at /api/convert/dbf-to-csv if you have an archive of tables to work through.

About Converting DBF to CSV

DBF is the table format dBASE introduced in the early 1980s, and it outlived the program by decades: FoxPro, Clipper, countless accounting and inventory systems and every GIS shapefile store their records in it. A fixed-width header declares each column’s name, type and width, and the rows follow as fixed-width text — simple enough that the files are still readable forty years on. When you need to move away from DBF, the usual reason is simple: column names are capped at ten characters.

Converting your DBF data file to CSV solves that. CSV is a plain-text table format where each line is a row and commas separate columns. Its simplicity makes it the universal exchange format for data between spreadsheets, databases and code. In practice you gain readable by virtually every tool and tiny, plain-text files. PrivConvert runs the whole DBF-to-CSV conversion in server memory and deletes your file the instant the CSV is ready — nothing is stored, logged or reused.

When this conversion helps

  • You need readable by virtually every tool
  • You need tiny, plain-text files
  • You need ideal for data import/export
  • Escaping a proprietary DBF file for the open CSV standard
  • Sharing a DBF data file with someone whose software expects CSV

Tips for best results

  • After converting, open the CSV and skim the formatting — complex layouts occasionally need a small touch-up.
  • Files up to 250 MB are supported, and you can batch-convert several DBF files at once; each is processed privately and deleted immediately.

How to Convert DBF to CSV Online

Turning a DBF file into CSV is straightforward here — upload, convert, download. The key change: you move from the proprietary DBF format to the open CSV standard.

1
Upload your DBF file

Drag and drop your file into the upload area, click to browse your device, or paste a URL to a file hosted online. You can upload files up to 250 MB and batch convert up to 20 files at once.

2
Automatic conversion

Once uploaded, the conversion from DBF to CSV starts automatically. The process runs entirely in an isolated environment - your data never leaves the secure pipeline.

3
Download your CSV file

Your converted file is ready instantly. Click the download button to save it to your device. The file is deleted from memory immediately after download.

What makes this DBF-to-CSV converter different

Privacy here is not a checkbox. Every DBF-to-CSV conversion is engineered so your data never lingers, leaks or gets reused.

Isolated sandbox

Every conversion runs in its own locked-down process with no network access, so files can never leak or interfere with one another.

No human ever sees it

Your files are handled entirely by automated code. No staff, partner or AI model ever reads, stores or trains on your data.

Zero data retention

Files are processed in volatile memory (RAM) and purged the instant your download is ready — nothing is ever written to disk, cached or backed up.

Encrypted transfers

Every upload and download is protected with TLS 1.3, so your data file cannot be intercepted on the way to the server or back to you.

DBF vs CSV - Format Comparison

FeatureDBFCSV
File extension.dbf.csv
Full namedBASE TableComma-Separated Values
Introduced1983
EncodingBinaryText
EditableYes
Open standardNoYes
Supported by PrivConvertYes (as input)Yes (as output)
Privacy-safe conversionIn-memory, zero storage
Max file size250 MB per file
Batch supportUp to 20 files simultaneously

Trusted by thousands of users

Professionals reach for PrivConvert when the data file they are converting is sensitive and cannot be left sitting on someone else’s server.

250 MB Max file size
450+ Conversion tools
0 sec File retention
100% Free to use

Frequently Asked Questions

What is a .dbf file and why do I have one?
It is a dBASE table — the database format dBASE introduced in 1983, which then outlived the program by four decades. FoxPro, Clipper and a very long tail of accounting, payroll, inventory and point-of-sale systems store their records in it, and every GIS shapefile keeps its attribute table in one. So people usually meet a .dbf in one of two ways: exporting from software old enough that .dbf was the obvious choice, or being handed the leftovers of a shapefile whose other parts went missing.
Will my Hebrew, Cyrillic or accented text come out correctly?
It should, and this is the detail most converters get wrong. A .dbf has no text encoding declaration in the modern sense — what it has is a single byte in the header naming the code page the text was written in. Converters that ignore that byte and assume one encoding turn every non-English name into mojibake. This reads the byte and decodes accordingly, covering the Windows, DOS and Mac code pages dBASE and FoxPro actually used, including Hebrew (1255), Cyrillic (1251), Greek, Turkish, Baltic, Chinese, Japanese and Korean. If the header names no code page, UTF-8 is tried first and a byte-complete legacy fallback second, so a conversion never fails part way through on one odd character.
What happens to rows that were deleted?
They stay deleted. This is worth understanding about dBASE: deleting a row never removed its bytes, it only set a flag on it, so a .dbf routinely still contains records someone deleted years ago. Every database and GIS tool hides those, and so does this — exporting them would resurrect data the owner deliberately removed. Only live rows reach the CSV.
Do the column types survive?
Yes, as far as CSV allows. Numeric columns come out as numbers rather than padded text, logical columns become true and false, and date columns are converted to ISO format (2024-01-31), which sorts correctly and is unambiguous — unlike the raw eight-digit form stored in the file. Numeric cells that dBASE padded with asterisks because a value would not fit are treated as missing data rather than exported as literal asterisks.
Why not convert to Excel directly?
You can — use DBF to XLSX. CSV is the better choice for large tables: building a real worksheet costs several times more than writing the same rows as text, so the Excel tool carries a lower row limit. Excel opens a CSV directly anyway, and this one is written with a byte-order mark specifically so Excel reads the text encoding correctly instead of showing mojibake, which is the usual complaint about CSV exports.
My table has a memo field and the column is empty.
That is expected, and it is a property of the format rather than a limitation here. A dBASE memo field does not store its text in the table — the .dbf only holds a pointer into a separate .dbt or .fpt file. With just the .dbf, the value on its own is a block number with no meaning, so the column comes through empty rather than filled with misleading numbers.
Is there a size limit?
Uploads are capped at 25 MB and tables at 100,000 rows, which between them cover the overwhelming majority of real dBASE files. Column count is capped at 255, which is the dBASE format’s own ceiling rather than ours.
Do you store the file?
No. Conversion happens entirely in memory — this particular conversion never writes a single byte to disk at any point — on a server with swap disabled so nothing can be paged out. Your table is never written to storage, never logged and never retained, contents and filename alike.

Further Reading