How to Add Fonts to Power BI

Cody Schneider••8 min read

Getting your Power BI reports to match your company's branding can feel like a final, frustrating hurdle. You've wrangled the data and built the visuals, but the default fonts just don't cut it. This guide will walk you through the process of adding custom fonts to your Power BI reports using theme files, giving your dashboards a polished, professional, and on-brand look.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Why Use Custom Fonts in Power BI?

Before we jump into the "how," let's quickly touch on the "why." While it might seem like a small detail, the fonts you use in your reports have a significant impact.

  • Maintain Brand Consistency: Your reports are a reflection of your company. Using your official brand fonts ensures a cohesive look across all your materials, from your website to your BI dashboards. This consistency builds brand recognition and credibility.
  • Enhance Readability: The right font can make data much easier to consume. Some custom fonts are specifically designed for screen viewing and can improve the clarity and legibility of your charts, tables, and KPIs, reducing eye strain for your audience.
  • Improve Professionalism: A report with carefully selected typography simply looks more polished and trustworthy. It shows attention to detail and reinforces the quality of the data and analysis you're presenting.

Understanding Power BI Theme Files

Power BI doesn't have a direct "upload font" button in its user interface. Instead, it manages a report's entire look and feel - colors, visual styles, properties, and fonts - through a single settings file called a theme. This theme is written in a format called JSON (JavaScript Object Notation).

Don't let the name intimidate you. JSON is simply a text-based way to store and organize information in an understandable structure. For our purpose, a JSON theme file is a recipe that tells Power BI exactly how to style every element in your report. By editing this recipe, we can instruct Power BI to use any font we want.

What You’ll Need to Get Started

Before you begin, make sure you have these three things ready:

  • The Font File: You'll need the actual font file (e.g., a .TTF or .OTF file). Popular choices are often available from Google Fonts. Please ensure you have the appropriate license to use the font within your organization.
  • Power BI Desktop: This method works within the Power BI Desktop application, which must be installed on your computer.
  • A Simple Text Editor: You can use a basic editor like Notepad (Windows) or TextEdit (Mac), but a code editor like Visual Studio Code (which is free) is highly recommended. It will highlight your code structure, making it much easier to spot typos or formatting errors.

Step-by-Step Guide: Adding Your Custom Font to Power BI

Ready to get started? We’ll begin by creating a simple theme that applies one custom font universally across a report.

Step 1: Install Your Custom Font

Power BI needs to be able to access the font file from your operating system. First, make sure you've installed your custom font on your Windows machine.

  1. Find your font file (e.g., MyBrandFont.ttf).
  2. Right-click the file and select Install or Install for all users.

That's it. Once installed, Windows (and Power BI Desktop) knows the font exists.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Step 2: Identify the Correct Font Family Name

This is the most common point of failure. The name you use in the JSON file must be the exact font family name, which isn't always the same as the file name.

The easiest way to find it is to open Font settings in Windows. Search for your font and look closely at its name. For example, the font file "Montserrat-Regular.ttf" has the official font family name "Montserrat." Mismatched capitalization or extra words like "Regular" will cause it to fail. Copy this name down exactly as you see it.

Step 3: Create the JSON Theme File

Now, let's create our recipe file. Open your text editor (like VS Code or Notepad) and paste the following boilerplate code. This is a minimal JSON theme that tells Power BI to apply one font everywhere.

{
    "name": "My Custom Brand Theme",
    "visualStyles": {
        "*": {
            "*": {
                "*": [{
                    "fontFamily": "Your Font Name Here",
                    "fontSize": 12,
                    "color": { "solid": { "color": "#333333" } }
                }]
            }
        }
    }
}

The three asterisks "*" act as global wildcards. This code essentially says: "For every visual type, and for every property of that visual, apply this style."

Step 4: Add Your Font and Save the File

Replace "Your Font Name Here" with the precise font family name you identified in Step 2. For this example, let's use the popular "Montserrat" font.

{
    "name": "My Custom Brand Theme",
    "visualStyles": {
        "*": {
            "*": {
                "*": [{
                    "fontFamily": "Montserrat",
                    "fontSize": 12,
                    "color": { "solid": { "color": "#333333" } }
                }]
            }
        }
    }
}

Now, save this file with a memorable name, making sure to end it with the .json extension. For instance: brand-theme.json. Be sure that your text editor doesn't accidentally save it as a .txt file.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step 5: Import the Theme into Power BI

Finally, we'll apply our new theme to a report. Open Power BI Desktop.

  1. Navigate to the View tab in the ribbon.
  2. In the Themes section, click the small dropdown arrow.
  3. Select Browse for themes.
  4. In the file window, locate and select the brand-theme.json file you just saved.

And that's it! As soon as you open the file, you'll see a "Theme imported successfully" message, and the fonts across all the visuals in your report should instantly update to your custom font.

Applying Fonts to Specific Elements

Applying a single font globally is a great start, but in most cases, you'll want more specific control. For instance, you might want a bolder, larger font for titles and a smaller, lighter font for data labels. You can achieve this by making your JSON theme file more specific.

Instead of relying only on the "*" wildcard, you can define styles for specific visual types (like "card" or "tableEx") and individual properties within them (like "title" or "labels").

Here's a more advanced theme that sets different fonts for titles, cards, and labels.

{
    "name": "Advanced Brand Theme",
    "visualStyles": {
        "card": {
            "*": {
                "general": [{
                    "responsive": true
                }],
                "labels": [{
                    "fontFamily": "Raleway",
                    "color": { "solid": { "color": "#999999" } },
                    "fontSize": 14
                }],
                "dataLabels": [{
                    "fontFamily": "Montserrat",
                    "fontSize": 32,
                    "color": { "solid": { "color": "#000000" } }
                }]
            }
        },
        "*": {
            "*": {
                "title": [{
                    "fontFamily": "Montserrat",
                    "fontSize": 14,
                    "color": { "solid": { "color": "#000000" } },
                    "background": { "solid": { "color": "#FFFFFF" } },
                    "show": true
                }],
                "labels": [{
                    "fontFamily": "Raleway"
                }]
            }
        }
    }
}

This JSON does a few things:

  • It specifies styles uniquely for the "card" visual.
  • It uses the "Raleway" font for category labels but "Montserrat" for the large data numbers on the card.
  • It sets a specific "Montserrat" font for all visual titles across the report via the wildcard section.

The structure can feel complex at first, but with some experimentation, you can quickly gain very granular control over your report's appearance.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Common Issues and Troubleshooting Tips

If your fonts aren't applying correctly, it's almost always due to one of these common mistakes:

Problem: My font just won't show up in Power BI Desktop!

  • Solution 1: Check the Font Name. This is the #1 culprit. Double-check that the fontFamily in your JSON matches the system name exactly.
  • Solution 2: Ensure the Font is Installed. Power BI Desktop must have access to the font file. Re-run the installation process just in case.
  • Solution 3: Validate Your JSON. A single missed comma or bracket can make the entire file invalid. Copy and paste your code into an online JSON validator to check for syntax errors.

Problem: The font works on my computer but not for my coworkers (or in Power BI Service).

This is a critical concept to understand: fonts are rendered by the client machine. When you publish a report to the Power BI Service, viewers in the browser will only see the custom font if they also have that font installed on their own computer. If they don't, their browser will fall back to a default font like Arial.

  • Solution 1 (recommended for business): For internal company reports, your IT department can package and deploy the custom font files to all employee computers. This is the best way to ensure everyone sees the report exactly as you designed it.
  • Solution 2 (for public reports): Stick to universally available web-safe fonts like Arial, Verdana, Georgia, or use fonts from the Google Fonts library that are very widely available by default on most systems.
  • Solution 3 (static report): If aesthetics are paramount and interactivity isn't, you can export your report to a PDF. This will embed the font in the file, ensuring it looks perfect for anyone who opens it.

Final Thoughts

Working directly with JSON themes gives you the ultimate control to create professional, on-brand reports in Power BI. By carefully defining your brand's fonts and colors in a theme file, you can ensure every dashboard you create starts with a polished, consistent foundation.

While customizing your reports has a big impact, we know that getting all your data connected and ready for analysis is often the most time-consuming part. We made Graphed to remove that friction completely. Instead of juggling CSV exports and jumping between platforms, you can connect sources like Google Analytics, Shopify, and Facebook Ads in seconds, and then use simple, natural language to build real-time dashboards automatically — no complex tools or JSON required.

Related Articles