โ Progress Design
The following are 17 progress bar designs built with Notion formulas. These designs are transferable to any Notion database in addition to only two required properties as explained below. These minimal designs are a variety of sliders and classic progress bars. Feel free to explore different designs with the two frameworks provided.
2022-2023 Calendars
A bundle of calendar images for Notion galleries that span from Sep 2022 to Dec 2023 + more!
The Two Frameworks: Numerical and Date Progress
Numerical: find the progress between two numbers. For example, finding the progress of reading a book between one number (total pages) and another (pages read).
What you'll need: 1 property called "Read" and another called "Total Pages". You can change the names of these properties after pasting the formula.
Date: find the progress between two dates in relation to today. The two properties required for this progress bar is a start date and an end date.
What you'll need: 1 property called "Start Date" and another called "End Date". You can change the names of these properties after pasting the formula.
All progress bars are tested with the default font. Other fonts may look different.
The following examples are only for numerical progress bars. See link below for the same progress bars for date.
1. Classic Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "โ" + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
2. Diamond Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "" + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
3. Loading Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "|" + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
4. Block Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โ โ โ โ โ โ โ โ โ โ ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
5. Bold Bars Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
6. Cube Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + " โ " + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
7. Thin Bars Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("||||||||||||||||||||", 0, floor(20 * prop("Read") / prop("Total Pages"))) + "๐ข" + slice("||||||||||||||||||||", 0, 20 - floor(20 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
8. Thin Bars Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("||||||||||||||||||||", 0, floor(20 * prop("Read") / prop("Total Pages"))) + "๐ข " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
9. Lines Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โฎโฎโฎโฎโฎโฎโฎโฎโฎโฎ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + slice("โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
10. Plain Circle Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โญโญโญโญโญโญโญโญโญโญ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
11. Raised Disk Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "โ" + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
12. Floating Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "โ " + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
13. 8-Bit Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โโโโโโโโโโ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "โ" + slice("โโโโโโโโโโ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
14. Dotted Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("แจแจแจแจแจแจแจแจแจแจ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "แป " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
15. Bubbles Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โฌคโฌคโฌคโฌคโฌคโฌคโฌคโฌคโฌคโฌค", 0, floor(10 * prop("Read") / prop("Total Pages"))) + slice("โฏโฏโฏโฏโฏโฏโฏโฏโฏโฏ", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
16. Lite Floating Slider Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("__________", 0, floor(10 * prop("Read") / prop("Total Pages"))) + "โ" + slice("__________", 0, 10 - floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")
17. Levels Progress Formula
if(not empty(prop("Read")) and not empty(prop("Total Pages")), slice("โ คโ ดโ พโ ฟโ ฟโ ฟโ ฟโ ฟโ ฟโ ฟ", 0, floor(10 * prop("Read") / prop("Total Pages"))) + " " + format(floor(100 * prop("Read") / prop("Total Pages"))) + "%", "")