Fix Notion Formula Cannot Render HTML Output as Formatted Text
🔍 WiseChecker

Fix Notion Formula Cannot Render HTML Output as Formatted Text

You wrote a Notion formula that returns HTML code such as <b>bold</b> but the output shows the raw tags instead of formatted bold text. Notion formulas are designed to return plain text, numbers, dates, or booleans — they cannot execute or render HTML markup. This article explains why Notion formulas ignore HTML tags and provides the only reliable workarounds to achieve formatted output in your Notion pages and databases.

Key Takeaways: Fix Notion Formula HTML Rendering

  • Notion formula output type is always plain text: Formulas cannot produce rich text, bold, italics, links, or any HTML-formatted output.
  • Use a Rollup with a Relation + formatted text property: Create a relation to a database where the linked row contains manually formatted rich text, then roll up that value to display formatted content.
  • Use a Linked Database view with a filter: Instead of a formula, create a linked database view that shows only rows matching your criteria and apply rich text formatting directly in the linked view.

ADVERTISEMENT

Why Notion Formulas Cannot Render HTML Output

Notion formulas are a pure computation layer. They evaluate expressions and return one of five data types: string, number, boolean, date, or array. When you write a formula that concatenates HTML tags like "" + prop("Name") + "", the result is a string that literally contains the characters <b>. Notion does not have a built-in HTML interpreter or a rich-text rendering engine for formula output. The formula result cell displays the raw text exactly as returned.

This behavior is by design. Notion separates data (stored in properties) from presentation (applied through formatting tools). Formulas handle data transformation; formatting is handled by the page editor, database view settings, or manual rich-text editing. There is no setting or hidden function that can make a formula output appear as bold, italic, or hyperlinked text.

What the Formula Property Actually Stores

A formula property in a Notion database shows the computed value. If the formula returns the string "Hello World", the cell displays exactly that string. You cannot select the text inside a formula cell and apply bold formatting — the cell is read-only. The only way to see formatted text in a database view is to use a property type that supports rich text, such as the Title, Text, or Select property.

Steps to Work Around the HTML Rendering Limitation

Since a formula cannot output formatted text, you must change your database architecture. The following methods let you display rich text that is computed or derived from other data.

Method 1: Use a Relation and Rollup with a Formatted Text Property

  1. Create a second database for formatted content
    Create a new Notion database (table) that will store the rich-text versions of your computed values. Add a Text property named “Formatted Output” in this database.
  2. Add a Relation property in your main database
    In your main database, add a Relation property that links to the new database. Name it “Content Link”.
  3. Create a row in the second database for each formatted variant
    In the second database, create one row for each distinct output you need. In the “Formatted Output” Text property, enter the desired rich text. For example, type a bold sentence using the Notion formatting toolbar (Ctrl+B).
  4. Link each main row to the correct variant row
    In your main database, for each row, click the Relation cell and select the corresponding row from the second database.
  5. Add a Rollup property to pull the formatted text
    In your main database, add a Rollup property. Set it to roll up from the “Content Link” relation, and choose the “Formatted Output” property. The Rollup will display the rich text from the linked row.

This method works because the Rollup property inherits the formatting of the source Text property. The Rollup cell will show bold, italic, colored, or linked text exactly as you typed it in the second database.

Method 2: Use a Linked Database View with a Filter

  1. Create a new database view
    In your current page, create a linked database view (type /linked database). Select the same database you are working with.
  2. Apply a filter that matches your formula logic
    Instead of using a formula to compute a value, add a filter to the linked view. For example, if your formula was checking a checkbox, add a filter: “Checkbox is checked”.
  3. Format the text properties directly
    In the linked view, you can now edit the Title or Text properties of the visible rows. Use the formatting toolbar to apply bold, italics, colors, or hyperlinks. The formatting is stored in the property itself, not in a formula.

This approach removes the formula entirely and replaces it with manual formatting. It is best when you need to format only a small number of rows or when the logic is simple.

Method 3: Use a Third-Party Automation Tool

  1. Choose an automation tool that supports Notion
    Tools like Make (formerly Integromat) or Zapier can read a Notion database, perform computations, and write back to a Text property with rich text formatting.
  2. Set up a trigger on your main database
    Configure the automation to trigger when a new row is added or when a specific property changes.
  3. Use the tool’s HTML-to-rich-text converter
    Some automation tools offer a module that converts HTML to Notion’s block-based rich text format. The tool then writes the formatted result into a Text property in your database.

Method 3 is the most advanced and requires a paid automation subscription. It is the only way to programmatically generate formatted text from data without manual editing.

ADVERTISEMENT

If Notion Still Shows Raw HTML After Workarounds

Rollup Shows Plain Text Instead of Formatted Text

Make sure the source property in the second database is a Text property, not a Formula property. A Rollup from a Formula property will also return plain text. Only Text, Title, and Select properties preserve rich text formatting when rolled up.

Linked Database View Does Not Update Formatting

If you change the formatting of a property in the original database, the linked view may take a few seconds to refresh. Click the refresh icon on the linked view or reload the page. Also verify that the linked view is not filtered in a way that hides the updated rows.

Automation Tool Writes HTML Tags as Plain Text

Some automation tools require a specific Notion API endpoint for rich text. Check the tool’s documentation for “Notion rich text” or “block formatting.” If the tool sends HTML as a plain string, Notion will display the tags as text. You must use a module that converts HTML to Notion’s block structure.

Formula Output vs Rollup Output: Key Differences

Item Formula Output Rollup Output
Data type Plain text, number, date, boolean, or array Inherits the type of the source property
Rich text support No — always plain text Yes — if the source property is Text, Title, or Select
HTML rendering Shows raw HTML tags Shows raw HTML tags (same limitation)
Requires relation No Yes — a Relation property must exist
Best use case Pure data computation without formatting Displaying formatted text from a linked database

Notion formulas cannot render HTML output as formatted text because formulas return plain strings. To display bold, italic, or linked text, use a Rollup from a Text property in a related database, create a linked database view with manual formatting, or employ a third-party automation tool that writes rich text via the Notion API. The Rollup method is the most straightforward for most users. After setting up the relation and Rollup, test by editing the formatted text in the source database and verifying the Rollup cell updates with the correct styling.

ADVERTISEMENT