- To import a CSV in TablePlus, use File > Import > From CSV..., or right-click the table in the left sidebar and choose Import > From CSV...
- The import can create a new table if the target does not exist.
- Default delimiter, quote character, line break and decimal separator for CSV files are set under Preferences > General.
- TablePlus documents two causes of failed imports: the wrong encoding and mismatched data types. Importing every field as text avoids most type errors.
- CSV import is available on macOS, Windows and Linux; the Linux app gained it in 2023.
TablePlus import CSV: step by step
The TablePlus Import & Export documentation gives two ways to start a CSV import. Connect to the database first, then:
- Choose File > Import > From CSV... from the menu bar, or right-click the target table in the left sidebar and choose Import > From CSV....
- Select the CSV file on your disk.
- Choose the target. You can import into the selected table, or, as the documentation notes, choose to create a new table if it does not exist.
- Check how the file's columns map to the table's columns and their data types before you confirm the import.
- When the import finishes, reload the workspace with Cmd + R (Ctrl + R on Windows) to see the new rows, as the Getting Started page advises.
The same File > Import menu also offers From SQL Dump... for SQL files, and recent releases added JSON import (macOS 7.1.8 and Windows 7.1.4).
CSV settings: delimiter, quotes, line breaks and decimals
Most "wrong columns" problems come from a mismatch between the file and the CSV settings. TablePlus keeps default CSV options in Preferences (Cmd + ,) on the General tab. Check them against your file before importing, particularly for files saved by spreadsheet software in regions that use a comma as the decimal separator and a semicolon as the delimiter.
| Setting | Choices documented | When to change it |
|---|---|---|
| Delimiter | Tab, comma or semicolon | The file uses semicolons or tabs between fields |
| Swap (quote character) | Double quote, single quote, space, or quote if needed | Text fields are wrapped in a different quote character |
| Line break | \n, \r\n or \r | The file comes from a system with different line endings |
| Decimal | Full stop or comma | Numbers are written as 1234,56 |
Practise with a small sample CSV
Before importing a large file into a real database, practise on a scratch table. Create the table below, save the sample as customers.csv with UTF-8 encoding, and import it with the steps above. The header row names match the table's columns and the dates use the ISO format (YYYY-MM-DD), which avoids most date conversion problems.
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255),
signup_date DATE
);id,name,email,signup_date
1,Amelia Clarke,amelia@example.com,2026-01-14
2,Rahul Mehta,rahul@example.com,2026-02-03
3,"O'Neill, Siobhan",siobhan@example.com,2026-03-21
4,Jonas Weber,,2026-04-09Why a TablePlus CSV import fails
The TablePlus troubleshooting page names two general reasons a CSV import cannot finish:
- The wrong encoding. Change the encoding and try again. Files exported from older spreadsheet software are often not UTF-8.
- Mismatched data types. A value that does not fit the column type, such as text in a numeric column or a date in an unexpected format, stops the import. The vendor recommends basic data checks before importing.
The documented shortcut is to match all fields as text, which the vendor says works almost every time, and you can choose to create a table with all text columns. That gets the data in quickly; you can then convert the columns with SQL once you have checked the values. Empty values such as the blank email in the sample above are another frequent source of trouble in strict columns, so check how they map before importing.
Other documented behaviour: TablePlus can also update existing rows from a CSV (added in build 402, December 2021), and on Snowflake a CSV import bug was fixed in a 2023 release, so keep the app current if an import fails on a less common engine.
After the import
Check the row count and a few values with a quick query, then commit any further edits with Cmd + S. To move data the other way, see exporting query results to CSV or Excel in TablePlus. Connection guides: PostgreSQL, MySQL and SQL Server. For an overview of the tool, read the TablePlus review; to practise the queries you will run on imported data, try the SQL beginner course.
Frequently asked questions
Where is the CSV import in TablePlus?
Under File > Import > From CSV..., or by right-clicking a table in the left sidebar and choosing Import > From CSV....
Can TablePlus create a new table from a CSV file?
Yes. The Import & Export documentation says you can import a CSV file and choose to create a new table if it does not exist, and the troubleshooting page mentions creating a table with all text columns.
How do I import a semicolon-separated CSV in TablePlus?
Set the delimiter to semicolon in the CSV options under Preferences > General, and set the decimal separator to comma if numbers use one.
Why does my TablePlus CSV import fail?
TablePlus documents two usual causes: the wrong encoding and data types that do not match the target columns. Change the encoding, or import every field as text and convert afterwards.
Can TablePlus import Excel files?
The documentation lists CSV and SQL dump imports, and recent changelogs add JSON import. Excel import is not documented, so save the sheet as CSV first.
Sources
- TablePlus documentation: Import & Export
- TablePlus documentation: Getting Started
- TablePlus documentation: CSV File preferences
- TablePlus documentation: Troubleshooting
- TablePlus macOS changelog
- TablePlus Windows changelog
- TablePlus Linux changelog
Checked 8 October 2026.
How we research tool guides: our editorial method. CodeWithSQL earns nothing from the vendors mentioned.