How to Journal in Notion, With a Question Every Day

Short answer

Make a Days database with a Date and a Mood, and a template that adds a page every day. A formula gives each day its own question, and one page linked to every day turns your moods into a year in pixels: one colored dot per day.

Rather skip the setup? Our Daily Journal 2027 is ready to use, $5 once.
A Notion journal day page with the question What’s a place where you feel calm, and a year in pixels with one colored dot per day

Try a month in pixels

Pick a day to see its question, then choose how it felt. The dot takes the mood’s color and the line at the top counts your month, the way the formulas in steps 2 and 5 do.

November

5 days written, mostly Good

Friday, November 6

What would you do with a free afternoon?

How did the day feel?

1. Make a Days database

One page per day. Writing goes in the page itself; the properties are for the quick parts.

  1. Make a new page called Journal. On it, type /table and pick the table option to add a database. Call it Days.
  2. Add the properties below.
PropertyTypeWhat it’s for
DateDateThe day the page is for
MoodSelectGreat, Good, Okay, Low or Rough
In one lineTextThe day in a sentence
HighlightCheckboxTick it on a day worth keeping

Type the five moods exactly as written: the formulas later look for those names. Then click each one and give it a color, blue for Great down to red for Rough, so the page matches the dots.

2. A new question every day

A blank page is the hardest part of journaling. This formula gives every day its own question, picked by the day of the month.

Question
let(
  questions, [
    "What made you smile today?",
    "What do you want to remember about today?",
    "What took more energy than you expected?",
    "Who did you talk to today, and how did it go?",
    "What are you looking forward to this week?",
    "What would you do with a free afternoon?",
    "What did you learn today, big or small?",
    "What has been on your mind lately?",
    "What did you do well today?",
    "What would make tomorrow a little easier?",
    "What small thing are you grateful for today?",
    "When did you feel most like yourself today?",
    "What are you putting off, and why?",
    "What did you eat today that you really enjoyed?",
    "What would you tell a friend who had your day?",
    "What would you like to do more of?",
    "What surprised you today?",
    "What drained you today, and what helped?",
    "Who made your day better?",
    "What are you proud of this month so far?",
    "What are you curious about right now?",
    "What did you do today just for you?",
    "If today had a title, what would it be?",
    "What worry can you let go of?",
    "What place would you like to go back to?",
    "What made you laugh recently?",
    "What do you want to say no to?",
    "What helped you feel calm today?",
    "What habit are you glad you have?",
    "What would you like to try this month?",
    "What went better than you thought it would?"
  ],
  questions.at(date(prop("Date")) - 1)
)

The 1st of every month gets the first question, the 2nd the second, and so on. Open any day and drag Question above the other properties, so it’s the first thing you read.

A day page in a Notion journal for Thu, Oct 22 with the mood Good, the question What’s a place where you feel calm and a short entry under it
In our Daily Journal 2027 the question sits in a yellow box at the top of each day.

3. A new page every day

  1. Click the arrow next to the blue New button and choose New template.
  2. In the template, click Date and pick Today under Shortcuts. Next to it Notion says Date when duplicated, so every copy gets its own day.
  3. In the body, add a heading Three good things with a numbered list under it. Anything you put here shows up on every new day.
  4. Click Duplicate every at the top of the template and choose Day. A fresh page now shows up each day.

To open today in one tap, add a view just for it: click + next to the view name, add a Gallery view and give it the filter Date is Today. On your phone, add the Journal page to Favorites in the Notion app.

4. Your year in pixels

A year in pixels is one dot per day, colored by mood. A formula only sees its own page, so first link every day to one page that can see them all, like in our habit tracker guide.

  1. Add a second database called Year, with a single page in it: My year.
  2. In Days, add a Relation property called Year. Pick the Year database, turn on Show on Year and name the property it adds there Days.
  3. Open the Days template again and set Year to My year. Every new day now links itself.
  4. Open My year and add a Formula property called Year in pixels:
Year in pixels
let(
  days, prop("Days").filter(
    year(current.prop("Date")) == year(today()) and
    current.prop("Date") <= today()
  ),
  names, ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    .filter(let(m, current, days.some(month(current.prop("Date")) == m)))
    .map(let(
      m, current,
      names.at(m - 1) + "  " + days
        .filter(month(current.prop("Date")) == m)
        .sort(current.prop("Date"))
        .map(ifs(
          current.prop("Mood") == "Great", style("●", "blue"),
          current.prop("Mood") == "Good", style("●", "green"),
          current.prop("Mood") == "Okay", style("●", "yellow"),
          current.prop("Mood") == "Low", style("●", "orange"),
          current.prop("Mood") == "Rough", style("●", "red"),
          style("○", "gray")
        ))
        .join(" ")
    ))
    .join("\n")
)

5. Sum up the month

Add one more formula to My year. It counts the days you picked a mood this month and names the one you picked most:

This month
let(
  days, prop("Days").filter(
    formatDate(current.prop("Date"), "YYYY-MM") == formatDate(today(), "YYYY-MM") and
    not empty(current.prop("Mood"))
  ),
  moods, ["Great", "Good", "Okay", "Low", "Rough"],
  counts, moods.map(let(m, current, days.filter(current.prop("Mood") == m).length())),
  top, moods.at(counts.findIndex(current == max(counts))),
  if(
    days.length() == 0,
    "No days written yet",
    format(days.length()) + if(days.length() == 1, " day", " days") +
      " written, mostly " + top
  )
)

Here’s what both showed in our test on October 31, with October 12 left out and no mood on October 23:

This month reads 29 days written, mostly Good; Year in pixels shows one red dot for Sep and 30 colored dots for Oct, one an empty circle
No row for November: the page for November 1 was still a day ahead.

When two moods tie, the one higher in the list wins, so a month of 10 Good and 10 Okay days reads mostly Good.

6. Keep your best days

Back in Days, click + next to the view name and add a Gallery view called Highlights. Filter it to Highlight is checked, sort by Date, newest first, and turn on In one line under Properties. Tick Highlight on a good day and it joins the list.

Highlights in a Notion journal: cards for single days, each with its date and one line, like Sat, Jan 23: My mug came out of the kiln
By December, a list like this is the best part of the year to read back.

Questions

Is Notion good for journaling?

Yes, if you like to type. You can write on your phone or your computer, search every entry you’ve ever made, and let formulas turn your moods into a year in pixels. If you’d rather write by hand, a paper journal or a tablet app will feel better.

Is my Notion journal private?

Pages under Private in your sidebar are only visible to you, unless you share them. Keep your journal there and don’t publish it to the web.

How do I start a journal in Notion?

Make a database with a Date and a Mood, then a template that adds a new page every day. Steps 1 to 3 above take about ten minutes, and everything works on the free plan.

Can I write my own questions?

Yes. Change any line in the Question formula and keep the quotes and the comma after it. Keep 31 questions, one for each day of the month, or the last days of long months come up empty.

Why is my year in pixels empty?

Usually the days aren’t linked to My year, or they have no Date. Check that the template sets Year to My year and Date to Today, and link the days you made before that by hand.