How to Import a CSV file to Notion

    Learn how to import CSV files to Notion databases with this article. Get tips on adjusting import files and populating properties.

    preview

    CSV import is a convenient way to add data from spreadsheets or third-party sources that are not supported natively in Notion. It is also useful for importing large amounts of data, as pasting via the interface can struggle with more than 50 rows. In this article, we will learn how to adjust import files to support Notion properties.

    💡
    If you want to import data from another Notion database, please refer to this article.

    The Basics

    To understand how different properties are stored in a Notion database, let's export the database and see how it looks.

    Notion database structure

    CSV export file structure

    Key points:

    • Multi-select options are divided with commas.
    • Relations are stored as page links with , as a delimiter.
    • Person field should contain the member's name.
    • Checkbox states should be either Yes or No.

    I’ve edited export file, now let’s import it back to see what happens.

    Image alt

    How to import a CSV file

    1. Navigate to the original database.
    2. Select "Merge with CSV file" from the page options.
    3. Choose a file to merge.

    From the import, we can see that:

    1. Existing items are not skipped or rewritten, but are appended as new pages.
    2. Multiselect, Select, and Status properties can be imported. However, new items cannot be created.
    3. Dates are imported regardless of the format.
    4. Relation, Person, and Checkbox fields are not imported.

    Populating Select, Multi-select, and Status Properties

    Actually, you can import Select, Status, and Multi-select properties. They are stored after the import but are not available for selection. In our import file, the Test 4 page contains a New option that isn't presented in the property's options before import.

    To fix it, change the property type to Text and then back to Multi-select (Select and Status work the same):

    Relations, Person and Checkbox

    I don't know of any other workarounds besides using the Notion2Sheets plugin. It's not just an import tool, but a Notion + Google Sheets integration. Therefore, you can use it as an import tool if you need bulk actions with those property types.

    Use the Synced Column feature to sync data between a Google Sheets column and a Notion property. The beauty is that you can use all GSheets formulas, and the data will be imported into Notion. For instance, you can use VLOOKUP to find a Notion page URL from another sheet and import it as a relation.

    Image alt

    It has a free plan, but the changes are not instant. However, it is the only tool so far that can solve this problem. (If you know of better solutions, please email me.)

    Wrapping Up

    The Merge with CSV feature is an effective tool to create new pages within Notion databases, yet its functionality is quite restricted. It supports the following properties:

    • Text
    • Number
    • Date
    • Multi-select, Select, and Status

    If you need to import other data types, consider using the Notion2Sheets add-on. To move items from another Notion table, use the methods described here. Best of luck!