Excel to DBF

Turn the first sheet of an Excel workbook into a dBase III table, right here on your device.

Conversion desk

On this device

Start with a file

Drop your file here or choose one from your device.

XLSX · 5 files at a time, free

Its new format

FromExcel

ToDBF

Converted on this device. Nothing is uploaded.

Your file's short trip

XLSX to DBF

Your file is next.

  1. Read the workbook
  2. Write records
  3. Ready

From a spreadsheet to a dBase table

Lists often live in Excel long after the program that needs them was written: a price list for an old till or stock program, member records for a Clipper or FoxPro application, attribute data for a map layer. Those programs read DBF tables, not workbooks. This page turns the first sheet of a workbook into a dBase III table directly, without a detour through CSV.

Skipping the detour helps. Dates, numbers and true/false values come straight from the cells, so nothing depends on how your regional settings would have spelled them out as text.

Converting an Excel workbook to DBF

  1. Put the sheet you want first in the workbook; only the first sheet is converted. Its first filled row becomes the field names.
  2. Choose the Text encoding for the DBF, or keep Western (Windows-1252).
  3. Drop the .xlsx file, or press Choose file. Older .xls files and .ods files need saving as .xlsx first.
  4. Check What changed on the finished row. It lists renamed columns, counts anything cut or replaced, and names the sheet that was used when the workbook has more than one. Then download the .dbf.

What's preserved, what changes

Written as dBase III (version byte 0x03). Measured by converting our 29 readable test files to Excel workbooks and back.
WhatResult
ValuesPreserved 29 of 29 test files come back from a DBF to Excel to DBF round trip with every value intact or its change reported.
Numbers, dates, true/false and textPreserved Detected per column and written as C, D, L and N fields.
Text encodingPreserved Choose from DOS 437, DOS 850, DOS 866, Windows-1250, Windows-1251, Windows-1252, Windows-1254 and UTF-8. Every choice except UTF-8 is recorded in the file's language driver byte.
Text longer than 254 bytesApproximated Cut to fit a 254-byte dBase text field, with a count in the notes (98 values in our round trips).
Column namesApproximated Turned into dBase field names: capitals, up to 10 characters of A–Z, 0–9 and _, listed in a field map.
Characters the encoding lacksApproximated Become "?" and are counted in the notes. UTF-8 keeps every character.
Line breaks inside a cellApproximated A Windows line break (CR LF) arrives as a single line feed (LF): 329 values in our round trips.
Dates with a time of dayApproximated Written as text such as 2024-01-15 14:30:00, since dBase III has no date-time field.
Cell formattingNot converted Percent, currency and number formats stay in Excel: the stored value is written, so 12.5% arrives as 0.125.
Memo fieldsNot converted Not written: long text goes into a text field of up to 254 bytes.
More than 255 columnsNot converted Not converted: the DBF we write holds at most 255 fields.

Preserved: arrives as it is. Approximated: arrives in a simpler form, as the row describes. Not converted: stays behind.

These rows come from turning our test tables into Excel workbooks and back into DBF files. Values come through, apart from changes the notes report and one they don't see: a Windows line break inside a cell (CR LF) comes back as a plain line feed, because the library we read workbooks with drops the CR. Excel itself puts a line feed in a cell when you press Alt+Enter, so this mostly touches workbooks made from other files. A workbook goes through the same DBF writer as a CSV, so the same limits apply: the cut at 254 bytes, the field names and the characters an encoding lacks. What differs is how the sheet is read, which is the next section.

What we take from each cell

We read the value Excel stored, not the way the cell is formatted. Most of the time that's exactly what you want, but a few cases are worth knowing:

Once the values are read, field names and types follow the same rules as for CSV files, which the CSV page sets out under how columns become fields.

Picking an encoding for Excel text

Excel keeps text in Unicode, so a workbook can hold any alphabet. A single-byte code page has room for 256 characters, so the encoding you choose decides which ones survive. Choose the code page of the program that will read the DBF: Western for English and Western European text, Central European, Cyrillic or Turkish for those languages, a DOS page for DOS-era software. UTF-8 keeps every character, with one catch for older programs, which the encoding section of CSV to DBF explains along with the other choices.

Large workbooks

The whole sheet is unpacked in memory before the DBF is written, so we ask before starting a workbook over 50 MB. XLSX files are compressed, which means a sheet can be far bigger than its file size suggests. The DBF itself holds up to 255 columns.

If something goes wrong

Try it with a sample file

Download sample-products.xlsx (9 KB), a small workbook with two sheets, and drop it above. Only the first sheet, Products, is converted, and the notes say so. Its five columns become number, text, number, logical and date fields, and the empty cells arrive blank. With Western (Windows-1252), the two Turkish letters in one product name become "?" and are counted; choose Turkish (Windows-1254) or UTF-8 to keep them.

For a bigger sheet, download sample-world-countries.dbf (519 KB), convert it on the DBF to Excel page, and drop the new .xlsx here with UTF-8 chosen. Edit it first if you like, deleting a few countries or adding a column, and watch the change land in the DBF.

The products workbook is our own, free to reuse (CC0); the country table is public domain. Source and details: sample file notes.

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.

FeatureFreePro
Single filesFree, no watermark, no waitSame
Files at a timeUp to 5Up to 100
ZIP and folder inputPick the files insteadYes
Large filesWorks; may be slow on some devicesBuilt for them
AccountNone neededOptional
Where files goNowhere: converted on your deviceNowhere: converted on your device
Price$0Week 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.

  1. Open your browser's developer tools (F12, or Option + Command + I on a Mac) and choose the Network tab.
  2. Convert a file on this page.
  3. 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.
  4. 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