How to Use the Dbf To Excel: Step-by-Step Tutorial
This tutorial walks you through a complete DBF-to-Excel conversion using the DBF to Excel Converter. Each step shows you what to do, what to look for in the result panels, and how to handle the most common issues. By the end, you'll have a ready-to-use .xlsx file with correct column headers, typed values, and no data loss.
For deeper background on the DBF format, field types, memo fields, encoding, and GIS workflows, see the Complete Guide to Dbf To Excel.
Follow along with the tool: Open the converter in a new tab while you work through this tutorial.
Open DBF to Excel Converter →Steps in This Tutorial
Step 1: Locate Your .dbf File
Before opening the converter, identify the DBF file you want to convert. Common sources include:
- Shapefiles: A Shapefile is a collection of files sharing a base name —
parcels.shp,parcels.shx,parcels.dbf,parcels.prj. You want the.dbfcomponent. It often arrives in a.ziparchive from a GIS data portal — extract the zip first. - Legacy application exports: FoxPro, dBASE, and Clipper applications export tables directly as
.dbffiles. These may arrive via email, a shared drive, or an external drive. - Government and public data portals: County assessors, census agencies, and FEMA distribute datasets in DBF format. The file is usually inside a zip archive — extract before uploading.
Sample scenario used in this tutorial: A real estate analyst has received a county parcel dataset from the assessor's office. The file is parcels.dbf, extracted from a Shapefile zip. It contains 15,240 records with fields for Parcel ID, Owner Name, Assessed Value, Land Use Code, Last Sale Date, and Exempt status.
Step 2: Open the Converter
Navigate to the DBF to Excel Converter at /developer-tools/dbf-to-excel/. The page loads with a drop zone, a disabled Convert button, and no panels visible — the result panels appear after a file is loaded and converted. No login is required, and nothing is transmitted to any server.
Step 3: Drop or Browse Your File
Load your .dbf file using one of two methods:
- Drag and drop: Drag the
.dbffile from your file manager and drop it anywhere on the page. A full-page overlay labeled "Drop your .DBF file anywhere" appears during the drag to confirm the target. Release to load. - Browse: Click the "browse" link inside the drop zone to open your operating system's file picker. Navigate to your
.dbffile and click Open.
Once loaded, the drop zone is replaced by a filename bar showing the file name (e.g., 📎 parcels.dbf). A × button on the right clears the file so you can start over.
Wrong file type error
If you drop a file that is not a .dbf, the error banner reads: "Wrong file type — only .dbf files are supported. You dropped a [ext] file." Click × to clear and try again with the correct file. If your DBF arrived inside a zip archive, extract the zip first — the converter reads the .dbf directly, not the container archive.
Step 4: Click Convert to Excel
With the file loaded, the Convert to Excel button becomes active. Click it. The converter parses the entire DBF file in your browser — reading the binary header, field descriptors, and every record — then builds the XLSX workbook using SheetJS. For most files this completes in under a second. Files over 50 MB may take a few seconds; do not close the tab while processing.
The result panels appear immediately below the button row after processing completes.
Step 5: Read the Status Bar
A coloured status bar appears beneath the button row:
- Green "✓ Converted successfully — N rows, M columns" — The conversion succeeded with no issues. Your file is ready.
- Yellow "ℹ Converted with N warning(s). See details below." — The conversion succeeded, but something was automatically handled. Review the warnings panel before downloading.
- Red "⚠ [error description]" — The conversion failed. The error panel explains why.
For the parcels scenario, the status bar shows green: "✓ Converted successfully — 15,240 rows, 6 columns." That matches the expected record count and field count exactly.
Step 6: Review the Stats Panel
Below the status bar, the green success panel displays six stat cards:
- Active Records — The number of non-deleted records written to the XLSX. This is the row count you'll see in Excel (excluding the header row).
- Total Records — The record count declared in the DBF header, including deleted records. If this is higher than Active Records, some records were flagged as deleted and skipped.
- Fields — The number of columns in the DBF, which becomes the number of columns in the XLSX.
- DBF Version — The version byte from the DBF header (e.g., "dBase III / IV without memo").
- Last Updated — The date stored in the DBF header, typically the date the originating application last wrote to the file.
- File Size — The size of the original DBF file.
Active Records ≠ Total Records? If the counts differ, deleted records were present — rows marked for deletion by the original application but never physically purged. The active count is the true data count. See the warnings panel for the exact number skipped.
For the parcels scenario: Active Records = 15,240, Total Records = 15,240, Fields = 6. All records are active — no deleted records were present in this file.
Step 7: Read the Field Schema Table
Below the stat cards is the Field Schema table — the most important output to review before downloading. It shows every column in the DBF and how it was parsed:
| Field Name | Type | Length | Dec |
|---|---|---|---|
| PARCEL_ID | C | 15 | 0 |
| OWNER | C | 50 | 0 |
| ASSESSED | N | 12 | 2 |
| LAND_USE | C | 4 | 0 |
| LAST_SALE | D | 8 | 0 |
| EXEMPT | L | 1 | 0 |
This matches the expected schema exactly:
PARCEL_ID— Character, 15 bytes wide. Parcel numbers are alphanumeric strings.OWNER— Character, 50 bytes wide. Owner names as text.ASSESSED— Numeric, 12 bytes total, 2 decimal places. Assessment dollar amounts.LAND_USE— Character, 4 bytes. Short land use classification codes.LAST_SALE— Date, 8 bytes (stored asYYYYMMDDin the DBF; the XLSX will showYYYY-MM-DDtext).EXEMPT— Logical, 1 byte. True/false exemption flag.
What to look for in the field schema
- Type codes match your expectations. If a field you expected to be Numeric shows as Character (
C), the DBF was written with that field declared as Character — possibly because the source application uses text-encoded numbers. The values will still be readable in Excel; you can convert them using Excel's Value() function or Text to Columns if you need them as numbers. - No unexpected field names. DBF field names are uppercase, max 10 characters. If you see truncated or abbreviated names, those are the actual field names stored in the DBF header — they cannot be changed by the converter.
- Date fields showing type D. These will appear as
YYYY-MM-DDtext strings in Excel. Apply a Date cell format or use Data → Text to Columns to convert them to Excel date values if you need them for calculations. - Memo fields showing type M. These will contain
[memo]placeholders because the companion.dbtor.fptfile is not available. This is expected — see the Complete Guide for details.
Step 8: Check the Warnings Panel
If the status bar is yellow, a yellow warnings panel lists every condition that required an automatic adjustment. Read each warning carefully before deciding to download.
Common warnings you may see
"N deleted record(s) were found and skipped"
This is the most common warning for legacy FoxPro and dBASE files. The original application deleted these records but never ran a "pack" operation to remove them physically. The count tells you how many rows are absent from your XLSX. If those records matter, you need the original application to undelete or re-export them — the converter cannot recover deleted records from the DBF alone.
"Memo fields (type M) detected"
The DBF has one or more memo fields whose content is stored in a companion .dbt or .fpt file that was not provided. The memo columns appear as [memo] in the Excel output. If you need the memo content, locate the companion file and use a tool that reads both files simultaneously.
"Computed record size (N) does not match header record size (M)"
There's a structural inconsistency in the DBF header — the field widths declared in the field descriptor array don't add up to the record size in the file header. The converter uses the header's declared record size and proceeds, but some values may be misaligned. This usually indicates the file was produced by a non-standard application or was partially corrupted. Verify the output data looks correct before using it.
"File appears truncated"
The actual file size is smaller than what the header says it should be. The converter converted only the complete records that fit in the file. Check whether the file was fully downloaded or copied — a partial transfer is the most common cause.
Warnings are not failures. A yellow status means conversion succeeded with automatic adjustments. Read each warning, decide whether the adjustment is acceptable for your use case, and then download. If a warning represents a real problem, resolve the source issue before using the output.
Step 9: Download Your .xlsx File
Once you're satisfied with the field schema and have reviewed any warnings, click the green ⬇ Download .xlsx button in the success panel. The browser downloads the XLSX file immediately. The filename is the original DBF filename with the extension changed to .xlsx:
parcels.dbf → parcels.xlsx
The file is generated in browser memory and offered as a one-time download. It is not stored anywhere. If you need the file again, return to the converter and re-convert.
Step 10: Use the File in Excel
Open the downloaded .xlsx file in Excel. You'll see:
- Row 1: The DBF field names as column headers (e.g., PARCEL_ID, OWNER, ASSESSED, LAND_USE, LAST_SALE, EXEMPT).
- Rows 2+: One row per active record, with values typed as text, numbers, or booleans depending on the DBF field type.
Handling date columns
Date fields appear as YYYY-MM-DD text strings (e.g., 2023-08-15). To convert them to Excel date values for sorting, filtering, and date arithmetic:
- Select the date column.
- Go to Data → Text to Columns.
- Choose Delimited, click Next, uncheck all delimiters, click Next again.
- In the Column Data Format section, select Date and choose YMD from the dropdown.
- Click Finish. The column converts to Excel date serial values — apply your preferred date format from Home → Number → Date.
Handling logical columns
Logical fields export as the text values true or false. If you need these as Excel boolean values (TRUE/FALSE), use a helper column: =A2="true" returns TRUE or FALSE depending on the cell content.
Handling numeric columns stored as Character
If a numeric-looking column was declared as Character (C) in the DBF, its values appear left-aligned in Excel and can't be summed directly. Select the column, use Data → Text to Columns with no delimiters, format as Number, and click Finish to convert.
Troubleshooting Common Problems
"Unrecognized DBF version byte" error
The converter recognises 13 known DBF version codes covering all mainstream dBASE, FoxPro, and FoxBASE variants. An unrecognised byte means the file either isn't a DBF (wrong file type with a .dbf extension) or uses a proprietary extension. Try validating the file first using the DBF Validator to see what the file's header actually contains.
"File too small to be a valid DBF" error
A valid DBF file requires a minimum of 32 bytes for the header. A file smaller than that is either empty, corrupted, or not a DBF. Verify the file is complete and was fully downloaded or transferred.
"No valid field definitions found" error
The field descriptor array in the header is empty or all field entries are invalid. The file is either corrupted or produced by a non-standard tool that wrote an invalid header. Use the DBF Validator to inspect the raw header bytes.
The downloaded .xlsx has fewer rows than expected
Check the stats panel: if Active Records is less than Total Records, deleted records were skipped. If Total Records itself is less than expected, the DBF header may have declared a lower record count than the actual data (possible in files produced by some legacy applications that didn't update the header on close). Also check the warnings panel for any truncation warnings.
Values in some columns look wrong or garbled
Character fields are read as Latin-1 (ISO-8859-1) bytes. If the DBF was written by a DOS application using CP437 or CP850 encoding, extended characters (accented letters, special symbols) may appear garbled. This is a source encoding issue. For affected files, a codepage conversion step is needed before or after conversion — there is no in-converter fix for codepage mismatch.
The conversion takes a long time
Large DBF files (50+ MB, hundreds of thousands of records) can take several seconds to parse in JavaScript. All processing is happening locally in your browser — there is no server to offload to. Keep the tab open and wait. The status bar will appear when conversion is complete. For extremely large files (>200 MB), consider breaking the file into smaller chunks using a DBF-aware tool before converting.
Real-World Examples
Example 1: GIS analyst — extracting a Shapefile attribute table
A GIS analyst receives a Shapefile zip from a state department of transportation containing road segment data. Inside the zip: roads.shp, roads.shx, roads.dbf, roads.prj. The analyst needs to review and clean the attribute data in Excel before re-attaching it to the geometry.
- Extract the zip. Locate
roads.dbf. - Drop
roads.dbfinto the converter. - Click Convert to Excel. Status: green, 12,847 rows, 14 fields.
- Review the field schema. Note that
SPEED_LIMis typeCwidth 3 — speed limits are stored as text codes, not numbers. This is by design; the column is used as a lookup key. - Download
roads.xlsx. Open in Excel, apply filters, fix data quality issues, save asroads-cleaned.xlsx. - When ready to re-attach: use the Excel to DBF Converter to convert
roads-cleaned.xlsxback toroads-cleaned.dbf, then rename toroads.dbfand replace the original.
Example 2: Data rescue — legacy HR system export
An HR manager needs to retrieve employee records from a decommissioned dBASE application. The only surviving data artifact is a set of .dbf files exported before the system was shut down. The files include employee records, payroll history, and department codes.
- Drop
employees.dbfinto the converter. - Status: yellow — "253 deleted record(s) were found (deletion flag 0x2A) and skipped." This is normal for a database that was never packed.
- Stats: Active Records = 1,847, Total Records = 2,100. The 253 difference is the deleted records.
- Review field schema. Note
TERM_DATEis typeD— termination dates stored as DBF dates, will appear as YYYY-MM-DD in Excel. - Download
employees.xlsx. Format the date columns in Excel and share with the payroll team. - Repeat for each additional DBF file.
Example 3: Business analyst — government data download
A business analyst downloads a county assessor's property database from the county open data portal. The file is property-2025.dbf, 38 MB, with 94,000 records and 28 fields.
- Drop the file into the converter. Processing takes about 4 seconds for a file this size — normal for browser-based parsing of 94,000 records.
- Status: green, 94,000 rows, 28 fields.
- Field schema shows three Memo (
M) fields:LEGAL_DESC,NOTES,HISTORY. Warning: "Memo fields (type M) detected. Memo data is stored in a separate .dbt or .fpt file and cannot be read without it — those columns will show [memo]." - The analyst doesn't need the memo content — the legal descriptions are in a separate text column already. Download the XLSX.
- Open in Excel. Use pivot tables to analyse assessed values by land use code and zone. The 3 memo columns show [memo] but are simply ignored.
