Table of Contents
- Why Notion Progress Bars Are a Productivity Game-Changer
- Turning Goals into Visual Milestones
- Progress Bar Use Cases at a Glance
- Building Your First Notion Progress Bar with Native Features
- The Quickest Method: The Number Property
- The Formula-Driven Notion Progress Bar
- Example: Reading Tracker
- Creating Dynamic Trackers with Advanced Formulas
- Building Checkbox-Driven Progress Bars
- Connecting Your Data with Relations and Rollups
- Text-Based Progress Bars for Ultimate Customization
- Styling Progress Bars on Your Sotion Website
- Embedding and Initial Setup
- Simple Styling with Custom CSS
- Customizing Your Progress Bar
- Native vs Third-Party Progress Bar Widgets
- Automating Progress Tracking for Membership Sites
- The Automation Workflow Explained
- Setting Up the Automation with Webhooks
- Common Questions About Notion Progress Bars
- Can I Change the Color of My Notion Progress Bar?
- My Progress Bar Formula Shows an Error. What's Wrong?
- How Do I Make a Progress Bar for a Checklist?
- Can I Display a Progress Bar Without the Percentage Number?
Slug
notion-progress-bar
Excerpt
Learn to create a Notion progress bar with formulas and widgets. This 2026 guide offers advanced tips to track goals and boost your productivity.
A Notion progress bar is a visual tool within your workspace that shows how close you are to completing a goal. You can build one yourself right inside Notion using formulas, or you can embed widgets from other tools if you're looking for more advanced styling.
Why Notion Progress Bars Are a Productivity Game-Changer

Let's be honest—big goals can feel abstract and a little overwhelming. A simple to-do list with 100 tasks is just a number. But when you can actually see your progress, it gives you a powerful psychological boost. This is where a simple Notion progress bar completely changes your workflow.
By turning a distant target into a daily visual, you stay way more engaged. That small dopamine hit you get from seeing the bar fill up, even by just a few percentage points, is a genuine motivator. It makes your effort feel real and keeps you focused on what’s next.
Turning Goals into Visual Milestones
Imagine you're a startup founder trying to close a fundraising round. Instead of staring at a number in a spreadsheet, you've got a progress bar that inches closer to the goal with every new commitment. That visual feedback is incredibly powerful, not just for you but for your whole team.
I’ve seen this simple tool make a huge difference in so many situations. From tracking personal goals to managing complex team projects, the applications are endless.
To give you a better idea, here's a quick look at how different people use them.
Progress Bar Use Cases at a Glance
User Type | Primary Use Case | Example Goal |
Course Creator | Student Progress Tracking | Visualizing a student's journey through course modules. |
Solopreneur | Project Phase Monitoring | Tracking a project from initial kickoff to final delivery. |
Content Team | Editorial Calendar | Showing articles published out of a monthly or quarterly target. |
Startup Founder | Fundraising | Displaying total funds raised against a target goal. |
Student | Study/Reading Tracker | Monitoring chapters read or assignments completed in a semester. |
As you can see, the core idea is turning abstract numbers into something tangible and motivating.
These visual trackers are a standout feature in Notion's ecosystem, and they really underscore the importance of mastering project management tools for team success. Since they were introduced, they've become an essential part of how individuals and businesses get things done.
In fact, the community has fully embraced them. Tutorials on creating Notion progress bars have pulled in well over 500,000 views across platforms like YouTube. The popularity speaks for itself, and you can see how popular these features have become and why they’re now so widely used.
Later in this guide, we'll get into the more advanced stuff. We’ll walk through creating dynamic trackers and even show you how to display a polished notion progress bar on your Sotion website. This is perfect for building professional client dashboards or member-only areas with ease.
Building Your First Notion Progress Bar with Native Features

Before you even think about complicated widgets or third-party tools, let's talk about what's already inside your Notion workspace. You can build your first Notion progress bar in less than a minute using only native features. This is the best way to get started and really understand the mechanics behind progress tracking.
There are a couple of ways to do this right inside Notion. One is a super simple, visual-only trick, and the other is a far more flexible, formula-driven approach. We’ll start with the basics and then build up from there, giving you the skills to create a tracker for just about any goal.
The Quickest Method: The Number Property
The absolute fastest way to get a progress bar is by using a single "Number" property in your database. This is perfect when you already know the percentage of completion and just want a clean visual representation without any behind-the-scenes math.
Here’s how simple it is:
- Add a "Number" Property: In your database, hit the
+to add a new column and select the "Number" property type. You can name it something like Progress or Completion %.
- Edit the Property: Click the new property's title and choose "Edit property."
- Change the Format: In the menu that pops up, find the "Number format" option and switch it to "Percent."
- Choose a Visual: Right below that, under the "Show as" setting, pick either "Bar" or "Ring."
That's it. Now, when you type a number into that cell—like
50 for 50%—it instantly shows up as a filled bar or a completed ring. It's fantastic for quick, manual updates where a simple visual is all you need.The Formula-Driven Notion Progress Bar
While the number property is quick, the real power comes from using a formula. This lets your Notion progress bar update automatically based on other data in your database, like tasks you've checked off or pages you've read. This is where you start building a truly dynamic system.
To get this working, you'll need three properties:
- Current: A "Number" property to track your current progress (e.g., chapters read, tasks finished).
- Target: A "Number" property for your final goal (e.g., total chapters, total tasks).
- Progress: A "Formula" property that does the math and displays the bar.
Let's put this into practice with a real-world example, like a reading tracker.
Example: Reading Tracker
Imagine you have a database called "My Reading List." For every book, you want to see exactly how far along you are.
First, you'll create two "Number" properties: Pages Read (your current value) and Total Pages (your target).
Next, add a "Formula" property and name it Progress. Click "Edit" to bring up the formula editor and type in this simple calculation:
prop("Pages Read") / prop("Total Pages")This formula just tells Notion to divide the number in your "Pages Read" column by the number in your "Total Pages" column.
Once you click "Done," the formula column will probably show a decimal like
0.25. To get that slick visual you want, just edit the formula property again. Change the "Number format" to "Percent" and then choose "Bar" under the "Show as" option.Now, if a book has 300 total pages and you’ve read 75, the progress bar will automatically show 25%. When you update "Pages Read" to 150, that bar will jump to 50% with zero extra effort from you.
This kind of dynamic feedback is a massive motivator. In fact, its impact has been measured; statistical analysis has shown that using a Notion progress bar in project management can boost completion rates by an impressive 42%. Many power users take this a step further by customizing colors for different stages of completion to get even better at-a-glance insights. You can read the full guide on progress bar customization and its effects to see just how deep you can go with these tweaks.
By mastering this one basic formula, you've pretty much unlocked the foundation for any tracker you can dream up. You can apply the exact same
Current / Target logic to project tasks, fundraising goals, or even your workout plan.Creating Dynamic Trackers with Advanced Formulas
A simple
Current / Target formula is a good starting point, but the real magic happens when your progress bar updates itself based on actions you're already taking. This is how you build truly dynamic trackers that work for you, not the other way around.
One of the best ways to see this in action is with a project tracker. Instead of manually counting completed tasks to update your progress, you can set it up so the bar fills automatically as you check things off your to-do list.
Building Checkbox-Driven Progress Bars
To get a progress bar to react to checkboxes, you'll need two separate databases that talk to each other. This is the fundamental setup for automating progress in Notion.
- Projects Database: Think of this as your main dashboard. It will have an entry for each major project, like "Q3 Marketing Campaign" or "Website Redesign."
- Tasks Database: This is where you'll list all the nitty-gritty to-dos for every project, such as "Draft Ad Copy" or "Finalize Budget."
The connection between them is made possible by Notion's powerful "Relation" and "Rollup" properties. These properties allow your Projects database to peek into your Tasks database and do the math for you.
Connecting Your Data with Relations and Rollups
Start in your Projects database by adding a "Relation" property and linking it to your Tasks database. With that in place, you can now associate specific tasks with each project.
Next, add a "Rollup" property to that same Projects database. This is the property that does all the heavy lifting.
Set up your Rollup with these specific settings:
- Relation: Pick the Tasks relation you just made.
- Property: Find and choose the "Checkbox" property from your Tasks database.
- Calculate: Set this to Percent checked.
This Rollup now automatically shows the percentage of completed tasks for every project. The final touch? Just edit the Rollup property, find the "Show as" option, and change it to Bar. Now you have a fully automated Notion progress bar that updates in real-time.
Text-Based Progress Bars for Ultimate Customization
If you want to break away from Notion's default look, you can build a completely custom, text-based progress bar using a formula. This technique lets you use any characters you want to represent progress, opening up a ton of creative possibilities.
This is an incredibly popular method, especially for things like habit trackers where you might want a bar that fills with '●' symbols as you complete daily goals.
By early 2026, it's projected that 85% of Notion power users will be using progress bars for habit tracking. The text-based approach, using characters like '█' for a striking visual, has exploded in popularity, with some tutorials on the subject hitting over 200,000 views. You can find more about these advanced formula techniques and their impact on user habits.
Let's build one. If you already have a property called "Progress" that gives you a number between 0 and 1, you can use this formula to make a 10-block visual bar:
// Create the filled part of the bar
slice("██████████", 0, floor(prop("Progress") * 10)) +
// Create the empty part of the bar
slice("░░░░░░░░░░", 0, 10 - floor(prop("Progress") * 10)) +
// Add the percentage number at the end
" " + format(floor(prop("Progress") * 100)) + "%"
This approach gives you total control. You can swap out the characters, make the bar longer or shorter, and style it to perfectly match your dashboard's aesthetic. If you're putting together a system for tracking daily goals, our guide on building a Notion habit tracker template has plenty more ideas and examples to get you started.
Styling Progress Bars on Your Sotion Website
You've built a functional Notion progress bar in your workspace, which is a great start. But now it’s time to take it from a simple internal tool to a polished, professional feature on your live Sotion website.
Embedding your Notion database is the easy part. The real magic happens when you take a few extra moments to style it. This simple step can make a world of difference for your audience, whether you're showing clients project milestones or helping course members track their learning. The best part? You don't need to be a coding wizard to pull this off.
Embedding and Initial Setup
First things first, you need to bring your Notion database into Sotion. Just embed the database view that contains your progress bar directly onto a Sotion page. At first, it will look exactly like it does in Notion—it works, but it probably doesn't match your website's branding.
Sotion renders your Notion page as a real website, meaning we can use custom CSS to target specific elements and completely change how they look. This is where you get granular control over the look and feel of your embedded content, including that all-important progress bar.
With just a handful of code snippets, you can tweak colors, adjust sizes, and even add subtle effects. This transforms your progress bar from a tacked-on feature into a beautifully integrated part of your site's design.
Simple Styling with Custom CSS
Let's jump into some simple, beginner-friendly custom CSS you can copy and paste right into your Sotion site settings. These tiny tweaks have a massive visual impact. If you're new to this, check out Sotion's complete guide on what is custom CSS and how to use it.
The whole trick is knowing which CSS class to target—once you find the one Notion uses for its progress bars, you can apply your own styles and make it truly yours.
Customizing Your Progress Bar
- Change the Bar Color: You can instantly switch the progress bar's color to match your brand palette, creating a seamless look across your site.
- Adjust the Bar Height: The default Notion bar can feel a bit thin. Bumping up its height makes it more prominent and visually satisfying, drawing the eye right where you want it.
- Modify the Background: You can also style the "empty" part of the bar. A popular technique is to use a lighter shade of your primary brand color, which gives it a subtle, professional finish.
Imagine you want a thicker, more vibrant blue progress bar to make your tracker pop. A simple CSS snippet in Sotion can do that in seconds, making your data far more engaging.
Native vs Third-Party Progress Bar Widgets
When it comes to displaying progress, you really have two paths: stick with Notion’s native bars (and style them with Sotion) or embed a widget from a third-party service like Indify or Apption. It's worth weighing the pros and cons before you commit.
Here’s a quick breakdown to help you decide which approach is right for you.
Feature | Notion Native Bar | Third-Party Widget |
Integration | Seamlessly integrated with your Notion data and Sotion site. | Requires embedding external code, which can sometimes slow your page. |
Data Source | Directly connected to your Notion database, ensuring real-time updates. | May need a separate data source or manual updates, depending on the tool. |
Styling Control | High control with custom CSS, but you're limited to the bar's basic structure. | Often offers more elaborate visual styles and animations out of the box. |
Simplicity | Incredibly simple to set up—just build it in Notion and style it in Sotion. | Can involve a more complex setup and configuration on another platform. |
Honestly, for most people, styling the native Notion progress bar through Sotion is the best way to go.
It keeps your entire workflow inside the Notion ecosystem, guarantees your data is always perfectly in sync, and gives you more than enough customization power for a professional, on-brand look. Plus, you avoid the headache of managing external dependencies.
Automating Progress Tracking for Membership Sites
When you're running a course or a community, giving your members great content is only half the battle. To keep them truly engaged and motivated, you need to provide real-time, personal feedback on their progress. This is where you can do something really cool: connect your Sotion site with a notion progress bar to create a system that tracks member activity completely hands-free.
Picture this: a student finishes a lesson on your Sotion website. Instead of you needing to go and manually tick a box in a spreadsheet, an automated workflow instantly updates their progress in a private Notion database. For the member, this provides immediate, satisfying feedback that encourages them to keep going. For you, it means less admin and more time to focus on what matters.
The Automation Workflow Explained
So, how does this magic happen? The whole system is built on connecting your Sotion site to a Notion database, using an automation tool as the middleman. The secret ingredient is something called a webhook. Think of webhooks as simple messengers that send a signal from your website to another app whenever something specific happens—like a member clicking a "Complete Lesson" button.
Essentially, the process breaks down into three stages: an action on your site kicks off a trigger in your automation tool, which then causes an update in your Notion database.
This visual shows just how straightforward this 3-step automation is.

As the diagram shows, a single click on your website can set off a chain reaction that seamlessly updates a user's progress, creating a powerful and dynamic feedback loop.
Setting Up the Automation with Webhooks
To get this up and running, you'll need a tool like Zapier or Make. These platforms are fantastic at listening for webhooks and then carrying out a series of actions you've defined ahead of time.
Here’s a quick rundown of what the setup looks like in practice:
- Create a Webhook URL: First, you'll start a new workflow in Zapier or Make using a "Catch Hook" trigger. The tool will give you a unique URL to use.
- Connect it to Sotion: Next, you’ll use the Sotion Members API to place that webhook URL onto a "Complete" button inside your members' area. When a member clicks it, Sotion sends their unique ID and other data to that URL.
- Find the Member in Notion: Your automation tool catches the data from the webhook and uses the member's ID to search your Notion database to find their specific record.
- Update Their Progress: Once it finds the right person, the final step is to update a number property, like "Lessons Completed." Your notion progress bar formula then instantly recalculates and shows the new percentage.
This whole process takes just a few seconds, creating a truly interactive dashboard for your members. You can find more ideas for these kinds of workflows in these Zapier automation examples.
A dynamic notion progress bar is an amazing feature to add, but it’s one piece of a bigger puzzle. If you're serious about creating a scalable platform, understanding the fundamentals of building a membership website is key to long-term success. A well-built site gives you the perfect foundation to add advanced features like this.
Of course. Here is the rewritten section, crafted to sound like an experienced human expert.
Common Questions About Notion Progress Bars
As you start getting your hands dirty with progress bars, you're bound to hit a few snags. It happens to everyone. Formulas can be finicky, and figuring out how to get the exact look you want isn't always obvious.
This section is all about tackling those common headaches head-on. I'll walk you through the most frequent sticking points I see and give you the quick fixes to get you back to building.
Can I Change the Color of My Notion Progress Bar?
Yes and no. The answer really depends on where you want that progress bar to live.
Inside Notion itself, you're stuck with the standard gray bar. There’s no built-in feature to just pick a new color, unfortunately. You can, however, get a little creative with formulas. For instance, an
if() statement can output colored text like if(prop("Progress") >= 0.8, "✅ Done", "In Progress"). You can then apply a background color to that "Done" text for a similar visual cue.My Progress Bar Formula Shows an Error. What's Wrong?
This is easily the most common frustration, but the fix is almost always one of two simple mistakes: a typo in a property name or an attempt to divide by zero.
First, triple-check your formula. The names you use inside the
prop() function have to be an exact match to your database property names. That includes capitalization, spaces, and even any emojis you've used. To Notion, prop("current") is not the same as prop("Current").Second, your formula will throw an error if your "Target" value is ever
0, because dividing by zero is a mathematical impossibility. You can make your formula much more resilient with a simple if statement:if(prop("Target") == 0, 0, prop("Current") / prop("Target"))This little bit of logic tells Notion, "Hey, if the target is 0, just show 0. Otherwise, feel free to do the division." It’s a simple trick that makes your formulas virtually error-proof.
How Do I Make a Progress Bar for a Checklist?
The magic ingredients for turning a checklist into a notion progress bar are Relations and Rollups. This combo lets a "Projects" database automatically track progress based on tasks you check off in a separate "Tasks" database.
Here’s how you set it up:
- Create Two Databases: You'll need one for "Projects" and another for "Tasks." Make sure your Tasks database has a "Done" checkbox property.
- Link Them with a Relation: In your Projects database, add a "Relation" property and connect it to your Tasks database. This is how you'll tell Notion which tasks belong to which project.
- Create the Rollup: Back in the Projects database, add a "Rollup" property. Set it to look at the new task Relation, pull from the "Done" checkbox property, and calculate the "Percent checked".
You now have a property that spits out a completion percentage. The very last step is to just edit that Rollup property and change its "Show as" setting to "Bar." Done!
Can I Display a Progress Bar Without the Percentage Number?
Absolutely. This is perfect for creating those clean, minimalist dashboards where you just want a quick visual without the clutter of numbers.
When you edit any number-based property in Notion—whether it's a Formula or a Rollup—you can choose "Bar" as the display option. This setting shows only the visual bar and hides the number that would normally appear beside it.
Another way to do this is with the text-based formula bars we've talked about, the ones that use characters like '█' and '░'. Because the formula's output is just text, there's no number to display in the first place, giving you that clean look automatically.
Ready to transform your Notion pages into a polished, professional website complete with styled progress bars? Sotion makes it effortless. Build a fully branded site with member-only areas, custom domains, and zero coding. Get started in minutes at sotion.so.
_circle.png)
