When working with a Notion database, empty rows can clutter a view and make it harder to scan for relevant data. These rows typically appear when you create new entries but haven’t filled in the key property fields yet. This article explains how to use Notion’s filtering and grouping features to automatically hide rows with blank or empty properties. You will learn the exact steps to set up a filter that excludes empty rows, plus how to handle common edge cases like partial data or linked databases.
Key Takeaways: Hide Empty Rows in Notion Database Views
- Filter property > Is not empty: Removes any row where the selected property cell is blank, including text, select, and date fields.
- Group by property > Collapse groups: Hides rows belonging to groups that have no content, useful for databases with multiple empty entries.
- Filter by formula property > empty() function: Excludes rows where a calculated field returns no value, ideal for databases with computed properties.
Why Empty Rows Appear in Notion Database Views
Notion databases treat every row as an independent entry. When you create a new row from a template or by clicking the New button, the row exists even if no properties are filled. The database view displays all rows by default unless you apply a filter or a group configuration that hides them.
The most common cause of empty rows is a workflow where team members create placeholders for future tasks or entries. For example, a project manager might add ten rows for upcoming tasks but only fill in the names of five. The remaining five rows appear as empty rows in any view unless you filter them out. Another cause is data imported from an external source where some rows lack values in critical fields.
Notion provides two main methods to hide these rows: filtering by property value and grouping rows with collapsed empty groups. Each method works best in different scenarios. Filtering is direct and removes empty rows from the view entirely. Grouping hides them behind collapsed headers, which keeps the rows in the database but out of sight.
Steps to Filter Out Empty Rows Using the Property Filter
The most reliable way to hide empty rows is to add a filter that checks whether a specific property is not empty. This method works for text, number, select, multi-select, date, email, phone, URL, and formula properties. Follow these steps to apply the filter to any database view.
- Open the database view you want to clean
Navigate to the page containing your database. Click on the view tab at the top of the database. You can apply the filter to an existing view or create a new view by clicking the plus icon next to the view tabs. Name the new view something like “Active Rows” or “Non-Empty”. - Click the Filter button in the top-right corner of the database
The Filter button looks like a funnel icon. If you do not see it, make sure you are in a database view and not a simple table. Clicking it opens a filter dropdown below the database header. - Add a new filter condition
In the filter dropdown, click Add a filter. A row appears with three dropdown menus: property, condition, and value. The property menu lists all the columns in your database. - Select the property you want to check for emptiness
Choose a property that all important rows should have filled. For example, if you track tasks, select the Task Name property. If you track contacts, select the Name property. Choose a property that is mandatory for the row to be considered useful. - Set the condition to Is not empty
In the condition dropdown, scroll down and select Is not empty. The value dropdown disappears because this condition does not require a comparison value. The filter will now keep only rows where the selected property has any content. - Add additional filters if needed
To hide rows that are empty in multiple properties, click Add a filter again and repeat steps 4 and 5 for another property. For example, you can filter by Task Name is not empty AND Due Date is not empty. Rows missing either property will be hidden. - Save the view
Once the filter is applied, click the view name at the top of the database and select Save as. This saves the filter configuration to the current view. If you want other team members to see this filtered view, make sure the view is shared.
Using Grouping to Collapse Empty Row Sections
If you prefer to keep all rows visible but hide groups of empty rows, use the Group feature. Grouping arranges rows by a selected property and lets you collapse entire groups. This method is useful when you have many empty rows that belong to a specific category, such as an unassigned status.
- Open the database view and click the Group button
The Group button is located next to the Filter button. It looks like three horizontal lines with a plus sign. Click it to open the group configuration panel. - Select a property to group by
Choose a property that indicates the row’s status or category. For example, group by the Status property. Rows with empty Status cells will appear in a group labeled No Status or simply an empty group header. - Collapse the empty group
Click the small arrow next to the group header to collapse it. The rows inside that group become hidden. You can collapse multiple groups if needed. This method does not remove the rows from the view; it only hides them behind the collapsed header. - Optionally combine grouping with a filter
You can add a filter that hides the empty group entirely. For instance, add a filter where Status is not empty. This removes the No Status group from the view altogether, leaving only groups with defined statuses.
Using a Formula Property to Detect Empty Rows
For databases where you need to check multiple properties at once, create a formula property that returns a value only when all required properties are filled. Then filter by that formula property being not empty.
- Add a formula property to your database
Click the plus icon in the last column header and select Formula. Name it something like “Has Content” or “Complete”. - Write a formula using the empty() function
In the formula editor, enter:if(empty(prop("Task Name")) or empty(prop("Due Date")), "", "Complete"). This formula returns “Complete” when both Task Name and Due Date are filled. If either is empty, it returns an empty string. - Apply a filter on the formula property
Click Filter and add a condition: Has Content is not empty. This hides all rows where the formula returned an empty string, effectively hiding rows that are missing data in either Task Name or Due Date.
Common Issues When Hiding Empty Rows
Rows with Partial Data Still Appear
If you only filter one property, rows that have that property filled but are otherwise empty will still appear. To fix this, add a filter for each property that must be filled. Alternatively, use the formula method described above to check multiple properties with one filter.
Empty Rows Reappear After Adding New Properties
When you add a new property to a database, existing empty rows may become visible again if the filter does not include the new property. After adding a property, edit the filter to include it if you want to hide rows missing that property.
Linked Database Views Do Not Hide Parent Rows
If you are using a linked database view, the filter applies only to the view, not to the source database. Rows that are empty in the source database will still appear if the linked view does not have a filter. Apply the same filter to the linked view to hide them.
Filter Removes Rows with Zero Values in Number Properties
The Is not empty condition treats a zero as a non-empty value. If you want to hide rows where a number property is zero, use the condition Is not 0 instead of Is not empty.
Filter vs Group vs Formula: Methods Compared
| Item | Filter by Is not empty | Group and collapse | Formula with empty() |
|---|---|---|---|
| Purpose | Remove rows with blank property | Hide groups of empty rows | Hide rows missing data in multiple properties |
| Setup time | Less than 1 minute | Less than 2 minutes | 5 to 10 minutes |
| Rows permanently hidden | No, filter can be removed | No, groups can be expanded | No, filter can be removed |
| Best for | Single property check | Categorical databases with many empty entries | Databases with multiple required fields |
| Supports multiple properties | Yes, add multiple filters | Only one group property | Yes, combine in one formula |
Notion database views can be customized to show only the rows that matter. By applying a filter with the Is not empty condition, you remove empty rows from any view in under 30 seconds. For databases where multiple properties must be filled, a formula property combined with a filter gives you precise control over which rows appear. Try combining grouping with a filter to keep your workspace clean without losing any data permanently.