The Perfect Notion Habit Tracker with Dashboard & Progress Bar (Tutorial + Template)
May 7, 2025
Table of Contents
Want to stay consistent with daily routines or build better habits using Notion? In this tutorial, you'll be guided with the step-by-step process to create a Notion habit tracker with progress bars, a daily dashboard, and a weekly habit summary.
You’ll learn how to:
- Set up a habit tracker database in Notion
- Add checkboxes, dates, and a customizable progress bar
- Display your progress using a calendar view, perfect for daily check-ins
- Build a quick-add button for faster habit tracking
- Create a clean daily summary view filtered by today’s date
- Generate a weekly habit score to track consistency over time
- Customize the look of your progress bar using emojis, colors, and advanced formulas
Let's get into the tutorial!
Create a habit tracker database
Let’s start by building the core of your Notion habit tracker: the database. This table will store all your daily habit entries and serve as the foundation for everything else — including your calendar view, progress bar, weekly summary, and habit tracking dashboard.
✅ Step 1: Insert an Inline Database
- On your blank Notion page, type
/database
- From the menu, select “Database – Inline”
This creates a table directly inside your page — the central space where you’ll track your habits.

✅ Step 2: Rename the Table
Click on the title of the table and give it a clear name like Habit Entries. This helps you stay organized, especially if you add more databases later.

✅ Step 3: Add a Date Column
Each habit entry should be tied to a specific day. To do that:
- Click the 'plus' icon to add a new column to your table
- Set the property type to Date
This column will mark the day you’re tracking your habits for.

✅ Step 4: Add Habit Columns Using Checkboxes
Now it’s time to define which habits you want to track.
For each habit:
- Add a new column
- Set the property type to Checkbox
- Rename the column to the habit name you want to track (Example: Habit 1 ☀️, Habit 2 🏃♂️, Habit 3 📕, Habit 4 💻, Habit 5 ✍️)

Calculate habit completion and progress bars
Now that you’ve created your habit tracker database, let’s make it even more powerful by adding a way to measure your daily progress.
We’ll do this by adding two formula columns:
one to count how many habits you completed, and another to show your progress as a percentage (with a visual progress bar).
✅ Step 1: Add a Formula for Completed Habits
First, let’s calculate how many habits you’ve completed each day.
- Click the + icon to add a new column to your table.
- Change the property type to Formula.
- Rename the column to something like Completed.
If you're tracking 5 habits, your formula might look something like this:
toNumber(prop("Habit 1 ☀️")) + toNumber(prop("Habit 2 🏃♂️")) + toNumber(prop("Habit 3 📕")) + toNumber(prop("Habit 4 💻")) + toNumber(prop("Habit 5 ✍️"))
Each toNumber()
function converts the checkbox (true/false) into a number (1/0), so this formula gives you the total number of habits completed for each day.

✅ Step 2: Add a Formula for Progress Percentage
Now, let’s calculate your daily progress as a percentage.
- Add another column and set the type to Formula.
- Rename this one to something like Progress Bar or Completion %.
- Enter a formula like this:
prop("Completed") / 5
Replace 5 with however many habits you’re currently tracking.
This formula gives you a decimal (e.g., 0.8 means you completed 80% of your habits).

✅ Step 3: Format the Progress Column as a Percentage Bar
To display this value as a visual progress bar:
- Click on the column title (e.g., Progress Bar)
- Select Edit Property
- Under Number Format, choose Percent
- Then toggle on Show as Progress Bar
- You can also customize the color of the bar to match your aesthetic!

Set up a Calendar view for habit tracking
Now that your habit database is set up, let’s create a calendar view so you can visually track your habits day by day. This makes it easier to see your consistency at a glance and update your habits directly from a calendar layout.
✅ Step 1: Duplicate the Table View
To create a calendar without losing your existing table view:
- Click on the title of your table view (e.g., Default View of Habit Entries)
- Select Duplicate View
- Rename the new view to something like Calendar

✅ Step 2: Change the Layout to Calendar
Next, switch the layout:
- With the new view selected, click on the three-dot menu (⋯) next to the view name
- Choose Layout, then select Calendar
This transforms your table into a calendar layout — while keeping all the same data.

✅ Step 3: Customize the Calendar Display
To make your calendar view more useful and visually informative:
- Click Edit View Layout (top-right of the calendar view)
- Go to the Properties tab
- Turn on the toggles for each habit checkbox column you’ve added
- Also enable the progress bar column
💡 Tip: You can choose how many properties show on the calendar card — keep it minimal and aesthetic, or display everything for full detail.

✅ Step 4: Interact with Your Calendar
Now that your calendar view is set up:
- You can check off your habits directly from the calendar
- Your progress bar will update automatically based on what’s completed
- You can add new entries by clicking on any date
Customize the Progress Bar with Symbols and Colors
Notion’s default progress bars are great — but what if you want a more personalized look with emojis or color-coded symbols? In this step, we’ll show you how to create a fully custom progress bar using a formula and a free tool.
✅ Step 1: Go to Your Table View
Make sure you're in the Table view of your habit tracker database. This is where you'll be editing and creating new columns.
✅ Step 2: Add a Custom Formula Column
- Click the ➕ icon to add a new column
- Set the property type to Formula
- Name the column something like Custom Formula or Emoji Progress Bar

✅ Step 3: Generate a Custom Progress Formula
To make this step easier, use a free Notion formula template generator tool.
- Click on Notion Formula Tool
- Fill in the required inputs:
- Completed Column: Enter the name of the column that stores your completed habit count (e.g.,
Completed
) - Total Habits: Enter the total number of habits you're tracking (e.g.,
5
) - Completed Symbol: Choose an emoji or symbol to represent progress (e.g., ✅, ●, 🔵)
- Empty Symbol: Choose a different symbol to represent the incomplete portion (e.g., ◻️, ⚪, -)
- Bar Color (optional): Add a color name if you'd like a color-coded result
- Completed Column: Enter the name of the column that stores your completed habit count (e.g.,
- Click Generate Formula
- Copy the full formula from the output

✅ Step 4: Paste the Formula into Notion
- Go back to your Custom Progress formula column in Notion
- Click on the field to edit the formula
- Paste in the generated formula
- Click Done
You’ll now see a personalized progress bar that updates based on your habit completion — much more aesthetic and expressive than the default!

✅ Step 5: Show It in the Calendar View
To bring your custom progress bar into the calendar:
- Switch to your Calendar view
- Click Edit View Layout (top-right)
- Go to the Properties tab
- Toggle on the display for Custom Progress
Now, your emoji-style progress bar will appear directly on each calendar entry — making your habit tracker feel more fun, motivating, and personalized.

Track your habit consistency
Once your daily habit tracking is set up, you can take it one step further by measuring your habit consistency over time — specifically by week. This gives you a clearer picture of how well you're sticking to your goals long-term, not just day by day.
Let’s walk through how to set up a Weekly Habit Score in Notion:
✅ Step 1: Duplicate the Table View
- From your existing Habit Entries table, click the name of the view (e.g. Table or Default View)
- Choose Duplicate View
- Rename it something like Weekly Report to keep things organized

✅ Step 2: Make Sure the Layout is Table
Double-check that the layout is still set to Table — this layout is required to group and calculate weekly scores.
If not, click the three-dot menu (⋯) > Layout > choose Table.

✅ Step 3: Group Entries by Week
- Click on Edit View Layout (top-right of the view)
- Select the Group section
- Set:
- Group by → Date
- Date by → Week
- Sort → Oldest first

This will automatically organize your habit entries into collapsible weekly groups, making it easy to review your progress week by week.
✅ Step 4: Show Average Weekly Progress
Now, let’s calculate the average habit completion score for each week.
- Click the three-dot menu (⋯) at the top right of the table
- Scroll to Show Aggregation
- Under your Progress column (or Progress Bar), click the dropdown
- Choose More Options → Average

Notion will now display the average percentage of habits you completed each week — a powerful way to spot trends in your consistency and stay motivated.

Notion Quick Add Button
Manually opening your habit tracker every time to log a new entry can feel like a chore — but Notion’s Button feature makes this process faster and smoother.
Let’s create a Quick Add button on your dashboard so you can log new habits in just one click.
✅ Step 1: Create a New Section on Your Dashboard
- Go to your main dashboard or wherever you want the button to appear
- Add a Callout block (
/callout
) - Give this section a name like Quick Habit Entry or Track Today’s Habits
This helps organize the layout visually.
✅ Step 2: Add the Button Element
- Below the callout, type
/button
and select the Button block - Name the button something like Add a Record or + New Habit Entry — whatever feels intuitive to you

✅ Step 3: Configure the Button Action
This is where the magic happens. We want the button to automatically create a new row in your Habit Entries database every time it’s clicked.
- Under Action, select Add Page
- Add Page to "Database", choose your habit tracker database (e.g., Habit Entries)
- Click Edit Property
- Set the Date property to "Date Triggered" — so every new entry is automatically tagged with the current date
- Add action, select "Open page, form, url", select "Page added".

This saves you from having to manually fill out the date field every time you log a new habit entry.
✅ Step 4: Test the Button
Now, click the Add a Record button to try it out.
- It should instantly create a new entry in your Habit Entries database
- The date should be pre-filled with today’s date
- You can now check off your habits for the day right from the table or calendar
Filter Today’s Habit Report
Now that you’ve set up your database and views, let’s create a clean daily summary so you can quickly check off your habits for today — right from your dashboard.
This view will act as a focused habit checklist for the current day, showing only what needs to be completed.
✅ Step 1: Add a New Section to Your Dashboard
- Scroll to the area just below your Quick Add button
- Add a new heading or Callout block to label this section — something like Today’s Habit Summary
✅ Step 2: Embed the Habit Tracker View
- Go to your main Habit Entries database
- Click the view name (e.g., Table)
- From the dropdown, select Copy Link to View
- Return to your dashboard and paste the link into an empty space — Notion will automatically embed the view for you

✅ Step 3: Switch to Gallery Layout
Now we’ll clean up the display and make it easier to scan.
- Click on Edit View Layout in the embedded database
- Change the layout from Table to Gallery
- Turn off the Page Cover to keep the view minimal and focused

✅ Step 4: Customize Visible Properties
Let’s display only the essentials — your daily habits and progress.
- Still in Edit View Layout, go to the Properties section
- Turn on visibility for each of your habit checkbox columns
- Also turn on the Progress Bar or Custom Progress Formula if you’ve created one

✅ Step 5: Filter for Today’s Habits Only
Now we’ll set the view to show only entries with today’s date.
- Click on Filter
- Add a filter where: Date → Is → Today
This ensures that your summary only includes your current-day habit entries — nothing from yesterday or tomorrow.

Here's your habit tracker template!

Frequently Asked Questions
How do I duplicate this Notion habit tracker for a new month or year?
You don’t need to manually duplicate the database every month. Since the habit tracker uses a calendar view and date filtering, it automatically organizes your entries by day, week, or month based on the date you select. However, if you want a fresh start or a monthly habit tracking reset, simply duplicate the view and apply a new date filter (e.g., filter where the date is within “This Month”). This helps keep your Notion dashboard organized without losing past data.
How do I reset the habit tracker each day or week automatically?
Notion doesn't reset checkboxes automatically, but with this setup, you create a new entry per day using the Quick Add button, so your habits reset daily by default. If you want a weekly reset, group your entries by week, and simply start a new record every Monday. This keeps your habit tracker clean and organized, without the need to manually clear checkboxes.
What’s the best way to back up or export my habit tracker data from Notion?
To back up your Notion habit tracker, click the three dots at the top right of your page and choose Export → Markdown & CSV. This lets you save your data externally. If you’re using Notion for long-term habit tracking or personal growth journals, it’s a good idea to export periodically. It’s simple, quick, and ensures you never lose your habit tracking history.