Free dBASE reader — QGIS Shapefile — pure JS — no upload

Convert DBF to CSV
Shapefiles, FoxPro,
dBASE — all read.

Free DBF to CSV converter. Reads dBASE III, IV, 5 and 7 binary .dbf files — Shapefile attribute tables, FoxPro databases, LibreOffice Base exports. Field schema shown on load. Pure JavaScript, no upload, no server.

Your file never leaves your browser
Field schema on load
Shapefile .dbf supported
Copy to clipboard
Always free
DBF to CSV Converter  Pure JavaScript
No external libraries. The dBASE binary format is parsed directly in JavaScript. Your .dbf is never uploaded.
Drop your DBF file here
.dbf — dBASE III/IV/5/7, FoxPro, Shapefile attribute table
Field schema
 Export complete

      
DBF field types decoded

All standard dBASE and FoxPro field types are handled.

TypeNameHow CSVShift converts it
CCharacterTrimmed ASCII string — the most common type
NNumericParsed as integer or float, empty for blank fields
FFloatSame as N — floating-point numeric string
LLogicalT/Y/true → "true", F/N/false → "false"
DDateYYYYMMDD → ISO 8601 format YYYY-MM-DD
IInteger (dBASE 7)4-byte little-endian signed integer
BDouble (dBASE 7)8-byte IEEE 754 double precision float
MMemo pointerEmpty — memo data is in a separate .dbt/.fpt file
TDatetimeRaw value as string — Julian date + milliseconds
How DBF to CSV conversion works

The same binary format used to build CSV to DBF — now read in reverse.

1
Parse header and field descriptors

CSVShift reads the 32-byte file header to find the record count, header size and record size. It then reads the 32-byte field descriptor blocks — one per column — extracting field name, type, length and decimal count. These are shown in the field schema immediately on upload, before clicking Export.

2
Read fixed-width records

Each record starts with a deletion flag byte. Records marked with * (0x2A) are deleted — CSVShift skips these by default. Each field is extracted from its fixed byte position and decoded according to its type: C fields trimmed, N/F fields parsed as numbers, D fields converted to ISO dates.

3
Serialise as RFC 4180 CSV

The decoded records are serialised to CSV with your chosen delimiter. Field names from the DBF schema become the CSV header row. UTF-8 BOM encoding ensures correct display in Excel when the file is opened directly.

DBF to CSV in Python
Python — dbfread (most reliable)
from dbfread import DBF import csv table = DBF('file.dbf', encoding='latin-1') with open('output.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.DictWriter(f, fieldnames=table.field_names) writer.writeheader() for record in table: writer.writerow(record)
Requires: pip install dbfread. Handles dBASE III/IV/5/7 and FoxPro. The encoding parameter is critical — most DBF files use latin-1 or cp1252, not UTF-8.
Python — pandas + dbfread
from dbfread import DBF import pandas as pd table = DBF('file.dbf', encoding='latin-1') df = pd.DataFrame(iter(table)) df.to_csv('output.csv', index=False)
Combines dbfread for parsing with pandas for CSV export. pd.DataFrame(iter(table)) converts the record iterator to a DataFrame in one step.
When do you need DBF to CSV?
Shapefile attribute extraction

Shapefiles consist of .shp (geometry), .shx (index) and .dbf (attributes). When you only need the attribute data — without the geometry — uploading just the .dbf file here extracts it as a CSV without needing QGIS, ArcGIS or any GIS software installed.

Legacy database migration

Business applications built on dBASE, Clipper and FoxPro store data in .dbf files. Converting these to CSV is the first step in migrating legacy data to modern databases like PostgreSQL, MySQL or cloud CRM systems.

Opening DBF in Excel

Excel 2013+ removed native DBF support. Convert the .dbf to CSV here and open the CSV in Excel — all data is preserved with correct column types. No Office plugins or ODBC connections required.

Data analysis pipelines

CSV is the standard input for pandas, R, Julia and most data science tools. Converting .dbf files to CSV before loading into analysis pipelines avoids installing specialised DBF reader libraries in production environments.

Related CSV tools
Popular searches
dbf to csv converter convert dbf to csv dbf to csv online dbf to csv free open dbf file online dbf to csv python shapefile dbf to csv dbase to csv converter foxpro dbf to csv dbf file to excel csv how to open dbf file arcgis shapefile attributes to csv

dBASE binary read
in your browser. No server.

CSVShift reads the dBASE binary format directly in JavaScript — no dbfread, no SheetJS, no server. The same format knowledge used to write .dbf files in CSV to DBF is used here to read them. The field schema is shown immediately on upload so you can verify the file contents before exporting.

dBASE III/IV/5/7 support
Version byte detection handles all common dBASE variants including FoxPro files.
Field schema on load
Field names, types and lengths shown immediately — before clicking Export, you see exactly what's in the file.
Deleted record filter
DBF records marked as deleted (with *) are skipped by default — or included if you need them.
Free, no conditions
No file size limit, no watermark, no account. Funded by display advertising only.
Frequently asked questions
How do I convert DBF to CSV?
Upload your .dbf file — the field schema appears immediately. Choose your output delimiter and click Export to CSV. Download or copy to clipboard. Your file is never uploaded to any server.
How do I open a Shapefile DBF in Excel?
Upload the .dbf file (not .shp or .shx — just the .dbf) to CSVShift and export as CSV. Open the .csv in Excel. This extracts the Shapefile attribute table as a spreadsheet without QGIS or ArcGIS. Excel 2013+ cannot open .dbf files directly.
How do I read a DBF file in Python?
from dbfread import DBF; import pandas as pd; df = pd.DataFrame(iter(DBF('file.dbf', encoding='latin-1'))). Requires pip install dbfread. The encoding is critical — most DBF files use Latin-1 or Windows-1252, not UTF-8.
Why are some fields showing as empty in my DBF?
Memo fields (type M) store data in a separate .dbt or .fpt file — only a 10-byte pointer is in the .dbf. CSVShift outputs these as empty since only the .dbf is uploaded. To extract memo data, you need the accompanying .dbt/.fpt file and a tool like dbfread (Python) that reads both files together.
Is my DBF data safe when converting online?
Yes. CSVShift reads the .dbf file as an ArrayBuffer in your browser. Your file is never uploaded. Open the Network inspector — zero outbound data requests are made.