Import, transform, and use your data from a CSV into Notion - full guide

CSV (comma-separated-value) files are one of the most common formats for storing semi-structured data. CSVs are most often composed of columns and rows, which you can visualize in a spreadsheet (e.g., Google Sheets, Microsoft Excel), downloaded from a database table (e.g., MongoDB, Firebase), or a no/low-code tool for specific use-cases such as Asana, Trello, Jira, and others.

Due to its common use, CSV files can be easily manipulated and exported/imported across tools. In this video some time ago I explored the effectiveness of Notion and Coda at loading and manipulating a relatively large CSV file.

This article explores how importing CSV files into Notion works, and how to think about the process of importing data, especially when it comes to a relatively large amount of data that may be initially messy and needs cleanup.

How to import data from CSV into Notion

There are two ways to import a CSV file into Notion as of the beginning of 2024. First, you can import a CSV file into Notion by clicking “Import” at the bottom of the left sidebar in the Notion desktop or web application, then selecting the “CSV” option. Second, you can import a CSV file into Notion by clicking on the 3 dots at the top right corner of any Notion database, and then selecting “Merge with CSV”. Both options involve a Notion database, which is created automatically with option #1, and manually by you at first with option #2 (and then automatically populated from the CSV columns and rows).

Once you follow the steps of one of the options, the CSV import will start and it will take a few seconds to a few minutes depending on the size of the CSV file (how many columns and rows it contains). After the import is successful and the database has been created, you may check that all the rows and columns have been imported into the database and that all the columns are in the correct data format (e.g., emails of email type, phone numbers of phone type, dates of date type, etc.).

Notion properties (columns) can be of specific data types (e.g., text, number, date, relation, formula, etc.). So, for an optimal and full import experience, it is good practice to do some quality checks of the data types and update the property data types as needed. This may take the most time and effort in the overall import process, particularly if the data set you imported is very large and some columns are not in the correct format (e.g., what would be best as a date or relation property is in text format or similar scenarios).

Ensuring properties are of the correct data types can make a difference in the quality of the data and user experience, especially if you plan to use the database in Notion moving forward. This process is generally referred to as ETL (extract-transform-load) in data analysis.

How to import data from other tools/formats into Notion

The Notion “Import” menu is accessible from the bottom left sidebar option and from “Settings & members”

Besides CSV files, Notion has native integration with multiple other file formats and software tools. In this essay, I am focusing on the file formats available at the bottom of the left sidebar in Notion. There are also native syncs (synced databases) with tools such as Jira, Asana, and Github, but they are outside of the topic of this post (and will be the focus of an upcoming essay and video content).

When importing data from a supported tool in the list (e.g., Asana, Confluence, Trello) into Notion, you can select the dedicated option on the Import menu, authenticate your account, and follow the on-screen prompts to import the data into Notion. The same ETL process is valid in this case too. The imported data may need to be optimally structured due to some differences in the basic building blocks between Notion and the third-party tool.

When you are not sure which file type you need to import, or you would like to import data from an application not listed in the Import options, you can try the Universal importer. This works with ZIP files too. When using the universal importer in Notion, you may get to pay even more attention to the ETL process, since the data imported may be of various types, and the process may end up corrupting some parts of the data to make it work for the closest possible Notion format as interpreted by the universal import algorithm.


FAQs and edge cases

When loading data to Notion, there are some unique quirks and edge cases to keep in mind, as well as some frequently asked questions worth considering as part of your competence-enhancing journey through the Notion data import experience. This section outlines those elements.

 
 


Similar Articles


Previous
Previous

How to use synced databases in Notion (automatic sync with Asana, Jira, GitHub, and more)

Next
Next

Visualizing Your Notion Data: A Guide to Creating Charts from Notion Databases (before native Notion Charts)