- Right-click the target table in the Connections view, choose Import Data, pick CSV, select the file, check the importer settings, map columns, set load options and select Proceed.
- CSV import works in DBeaver Community; importing XLSX and XML files is marked as a PRO feature in DBeaver's data transfer documentation.
- Most errors come from three settings: the column delimiter, the header position and the date/time format, which uses Java DateTimeFormatter patterns (MM is month, mm is minutes).
- The import runs in the background and can be saved as a task to repeat it later.
Before you import: the file and the target table
A DBeaver import CSV job needs a connection to the target database (see our guides for PostgreSQL and MySQL) and a CSV file with a consistent delimiter and, ideally, a header row. You can import into an existing table, or let DBeaver create a new one during mapping. Creating the table yourself first gives you control over data types and keys.
The sample below is a small file you can save as customers.csv to practise, with a matching table definition. The dates use the ISO format yyyy-MM-dd, and the empty email on the third row shows how NULL handling works.
customer_id,full_name,email,signup_date
1,Ada Lovelace,ada@example.com,2026-01-15
2,"Grace Hopper, Rear Admiral",grace@example.com,2026-02-03
3,Edgar Codd,,2026-03-21CREATE TABLE customers (
customer_id INTEGER PRIMARY KEY,
full_name VARCHAR(100) NOT NULL,
email VARCHAR(255),
signup_date DATE
);Import a CSV file with the DBeaver Import Data wizard
These are the steps from DBeaver's Data import documentation:
- In the Connections view, right-click the target table (you can select several) and choose Import Data.
- Choose CSV and select Next.
- Choose the file to import, check the importer settings (next section) and select Next.
- Set the CSV-to-table mappings: check that each source column points at the right target column and type.
- Choose the data load settings and select Next.
- Review the summary; use Back to fix anything, then select Proceed. Save turns the configuration into a reusable task.
The import runs in the background, and DBeaver shows a notification when it completes. DBeaver advises against changing data in the tables involved until the transfer finishes.
CSV importer settings that matter
The importer settings page decides how DBeaver parses the file. The defaults suit a comma-separated UTF-8 file with a header row; change them when your file differs.
| Setting | What it does | Typical value |
|---|---|---|
| Encoding | Character encoding of the file | UTF-8 |
| Column delimiter | Character between columns; special symbols such as \t (tab) are allowed | , or ; or \t |
| Header position | Whether the first row holds column names (top) or there is no header | top |
| Quote char | Character that wraps values containing the delimiter | " |
| NULL value mark | Text imported as NULL | Empty or NULL |
| Set empty strings to NULL | Converts empty values to NULL instead of empty strings | On for optional columns |
| Date/time format | Java DateTimeFormatter pattern used to read dates | yyyy-MM-dd |
| Trim whitespaces | Removes spaces around values to prevent parsing errors | On |
| Timezone ID | Time zone for date and time values; local by default | UTC |
| Sample rows count | Rows analysed to guess column types and lengths for new tables | Increase for varied data |
Column mapping and data load options
On the mapping page, each target shows a state. DBeaver's mapping guide describes them: Existing when the target name matches a table, Create when it does not (DBeaver creates the table during the transfer), Skip to leave a table out, and Recreate, which drops and recreates the target and can lose existing data, keys and indexes. Check the target data types before you continue; types supported in one database may not exist in another.
Useful data load settings include:
- Truncate target table(s) before load: clears the table first; DBeaver's documentation tells you to be very careful with it.
- Replace method: for duplicate keys, some databases offer options such as INSERT IGNORE or REPLACE INTO, depending on what the target supports.
- Use transactions and Do Commit after row insert: control how often rows are committed.
- Disable batches: imports row by row; slower, but shows every import error.
- Use bulk load: uses the database's native bulk mechanism where the target supports it, for large files.
When a DBeaver CSV import fails
- Everything lands in one column: the delimiter is wrong. Files exported from spreadsheets in some locales use semicolons.
- Date parse errors: the date/time format does not match the file. DBeaver's documentation warns about confusing
MM(month) withmm(minutes). - Garbled accented characters: set the correct encoding.
- Duplicate key errors: choose a replace method, or clean the file; turn on Disable batches to see which rows fail.
- First data row missing or header imported as data: check Header position.
If you only need to query a CSV file, not load it, DBeaver also has file drivers that open CSV files as read-only tables. The full CSV Pro driver is part of the paid editions; DBeaver documents a simpler legacy CSV driver in Community. To move data the other way, see exporting query results to CSV or Excel.
Frequently asked questions
Can DBeaver Community import CSV files?
Yes. CSV import through the Import Data wizard is part of the free Community Edition. DBeaver's documentation marks XLSX and XML import as PRO features.
Can DBeaver create the table from a CSV file?
Yes. If the target name on the mapping page does not match an existing table, the mapping state is Create and DBeaver creates the table during the import, guessing column types from a sample of rows. Review the target types before you proceed.
How do I import a CSV with semicolons or tabs?
Change Column delimiter on the importer settings page. DBeaver accepts special symbols such as \t for tab.
How do I import empty CSV values as NULL?
Turn on Set empty strings to NULL, or set a NULL value mark that matches how your file represents missing values.
Can I repeat the same import later?
Yes. Select Save on the final page to store the configuration as a task, which you can run again from DBeaver's task management.
Sources
- DBeaver docs: Data import
- DBeaver docs: Data transfer
- DBeaver docs: Data migration (mapping and load settings)
- DBeaver docs: Data import and replace
- DBeaver docs: CSV driver
Checked 8 October 2026.
How we research tool guides: our editorial method. CodeWithSQL earns nothing from the vendors mentioned.