Troubleshooting
Power BI Custom Visual Not Showing? Every Cause and Fix (2026)
TL;DR
Most often the visual imported fine but has nothing to draw: a required field well (a measure or category) is empty, or a slicer or page filter excludes every row - populate each data role and clear filters (Reset to default) first. Other buckets: your tenant blocked it ('Allow visuals created using the Power BI SDK'), certified-only mode, blocked web access, an API or version mismatch (remove and re-import), Report Server or offline gaps, and too many data points.
You imported a custom visual and it shows a blank rectangle, an error icon, or simply nothing at all. In almost every case the fix is quick once you know which of a handful of causes you are hitting: an empty field well, an over-eager filter, an admin policy, blocked web access, a version mismatch, or a Report Server quirk. This guide walks through each cause in order of likelihood, with concrete steps you can verify in minutes.
First, read what the visual is actually telling you
Before changing anything, pin down the symptom. A custom visual that "won't show" is really one of three different problems, and each points at a different cause:
- Blank canvas, no error: the visual loaded but has no data to draw, or every row is filtered out. - An error icon or a grey box with a message: the visual loaded but threw an error, or your organization blocked it. - Nothing in the Visualizations pane, or you can't add it at all: that's an import or tenant-policy problem, not a rendering one.
Do three quick checks first:
- Drop the exact same fields into a core visual (a table or clustered column chart). If the core visual is also empty, the problem is your data or filters, not the custom visual. - Hover the visual and look for a warning or error banner, and select 'See details' if one appears. In the Power BI service, press F12 and read the browser console for the real exception text. - Note where it fails. The same report can behave differently in Power BI Desktop, the Power BI service, and Power BI Report Server, because each enforces different policies and network rules. Confirming the environment narrows the cause list fast.
Cause 1: the visual has no data (empty field wells, filters, or slicers)
This is the most common reason by far, and it looks like a bug but isn't. Most visuals refuse to render until every required data role is populated. A chart needs at least a category and a measure; a KPI needs a value; a map needs a location. If a required bucket is empty, you get a blank canvas or an "add fields" prompt instead of an error.
Fix the field wells first:
- Select the visual and open the Build (fields) pane. Fill every required role, typically at least one category or axis field and one measure. Custom visuals often have more required roles than a core chart. - Make sure your measure actually returns a value. A measure that evaluates to blank for the current filter context draws nothing. Test it in a card visual to confirm it isn't blank.
Then rule out filters and slicers excluding every row:
- Check the Filters pane at visual, page, and report level. A leftover filter, or a filter pinned to a value that no longer exists, can exclude 100% of rows. - Check slicers on the page, including cross-highlighting from other visuals. Use the visual's Clear (eraser) icon in the header, or select 'Reset to default' to return to the authored filter state. - Remember that 'Select all' in the newer slicer uses an inverted selection: clearing an item is what adds it to the query. If selections look wrong, clear the slicer completely and start over. - If different users see different results, Persistent filters may be saving per-user selections. You can turn this off in Report settings with the 'Don't allow end user to save filters on this report' option.
Nine blank visuals out of ten are fixed at this step.
Cause 2: your tenant or admin blocked the custom visual
If the field wells are populated but you see an error box (often "Can't display this visual" or "This custom visual is no longer available. Contact your administrator for details."), an organization policy is likely blocking it. There are three separate switches, all in the Fabric admin portal under Tenant settings > Power BI visuals:
- 'Allow visuals created using the Power BI SDK' controls whether users can add .pbiviz and AppSource visuals at all. It's disabled by default per Microsoft's docs, though many organizations turn it on. If it's off, custom visuals won't load. - 'Add and use certified visuals only', when enabled, makes any non-certified AppSource or .pbiviz visual return an error and refuse to render. A visual can be perfectly safe and still be uncertified, so this catches a lot of people. - The organizational store: an admin can disable or delete a specific .pbiviz. A disabled visual shows "This custom visual is no longer available. Contact your administrator for details." Deletion is irreversible and stops rendering immediately.
One important nuance: these tenant toggles only affect the Power BI service. Power BI Desktop is governed by Group Policy / registry keys instead, which is exactly why a visual can render on the web but not on someone's desktop (or the reverse). The relevant policy values are EnableCustomVisuals and EnableUncertifiedVisuals under the Power BI Desktop policies key; a value of 0 blocks them. You can check whether such a policy is set with the snippet below. Reading the registry is safe; changing it is an admin decision.
check-custom-visual-policy.ps1
# Is a Group Policy blocking custom visuals in Power BI Desktop?
# Missing value or 1 = allowed, 0 = blocked. Checks the machine and user hives.
$base = 'SOFTWARE\Policies\Microsoft\Power BI Desktop'
'HKLM:\','HKCU:\' | ForEach-Object {
$path = $_ + $base
if (Test-Path $path) {
Get-ItemProperty $path |
Select-Object EnableCustomVisuals, EnableUncertifiedVisuals
} else {
"No policy at $path (custom visuals not blocked here)"
}
}Cause 3: the visual needs web access and it's blocked
Some custom visuals fetch data or map tiles from an external service (live endpoints, geocoding, remote icons). To do that, a visual declares WebAccess privileges in its capabilities and makes HTTP requests at runtime. Two things commonly block that:
- Certification rules forbid external calls. Certified visuals must not access external services, so their WebAccess privileges have to be empty. A visual that genuinely needs the internet therefore cannot be certified, and it will be blocked outright in any tenant running 'Add and use certified visuals only'. - Your network blocks the endpoint. Corporate firewalls, proxies, or private-network restrictions can silently drop the visual's requests, leaving it blank with no obvious error. Power BI itself also fetches visuals from pbivisuals.powerbi.com; if that host is blocked, marketplace visuals may not load either.
What to do:
- If the visual is meant to reach a specific service, ask IT to allowlist that host (and pbivisuals.powerbi.com) on the proxy or firewall. - Test the report in the Power BI service from a machine outside the corporate network to confirm whether the block is network-side. - In locked-down Chrome or Edge builds, requests to private/intranet endpoints can be dropped by the browser sandbox; testing in the service, or in a different browser profile, isolates that. - If you can't unblock the service, switch to a visual that renders locally instead of calling out, or generate one that ships its logic with the report rather than depending on an external endpoint.
Cause 4: version or API mismatch, or a corrupt import (remove and re-import)
A visual that rendered last month can break after a Power BI Desktop update or an automatic AppSource update, because the visual targets a Power BI visuals API version that no longer matches its host. Very old API versions are deprecated and fail to load, and AppSource visuals update themselves silently, so the version in your report may have changed without you touching it.
Work through these cheapest-first:
- Update the visual. In the Visualizations pane, select the ellipsis, choose 'Get more visuals', open your visual, and take the latest version. For organization-approved visuals, use the 'My organization' tab. - Check the visual's version. Right-click the visual in the pane and select 'About' to see its version. To see the exact API it targets, rename the .pbiviz file to .zip and read the apiVersion field inside its pbiviz.json. - Update Power BI Desktop to the current release so a modern visual has a modern host. In rare cases a visual only supports older APIs and a Desktop update breaks it; if so, get the updated build of the visual rather than downgrading Desktop. - Remove and re-import if the package is corrupt. Delete the visual from the report, then select the pane ellipsis and 'Restore default visuals' to reset the pane, and import a fresh copy of the .pbiviz (or re-add it from AppSource). A truncated or partially downloaded .pbiviz is a common cause of a visual that imports but never draws.
Cause 5: Power BI Report Server or an offline (air-gapped) environment
Custom visuals behave differently in Power BI Report Server and on machines without internet. When you import a .pbiviz, Power BI Desktop for Report Server tries to reach https://pbivisuals.powerbi.com to fetch the latest copy of the visual; if that call fails, the visual can sit on "loading" and never appear.
Fixes for this environment:
- Confirm the machine can reach pbivisuals.powerbi.com on port 443, or ask IT to allowlist it. - For genuinely offline machines, set the user environment variable PBI_userFavoriteResourcePackagesEnabled to 0, then restart Power BI Desktop for Report Server so it uses the local copy of the visual. Expect a 20 to 30 second delay while it retries the network first. - Make sure you're on a supported build. Custom visuals only work with Power BI Report Server versions released after May 2021; upgrading the report server to the latest build resolves many rendering issues from older versions. - Note that the organizational store is not supported on Report Server, so on that platform visuals must be imported from the .pbiviz file directly.
report-server-offline-fix.ps1
# 1. Can this machine reach the Power BI visuals CDN? (want TcpTestSucceeded : True)
Test-NetConnection pbivisuals.powerbi.com -Port 443 |
Select-Object ComputerName, TcpTestSucceeded
# 2. Air-gapped Report Server only: force the locally imported copy to load.
[Environment]::SetEnvironmentVariable('PBI_userFavoriteResourcePackagesEnabled','0','User')
# Restart Power BI Desktop (for Report Server) after running this.Cause 6: too many data points or a visual that's just slow
A genuinely overloaded visual can look identical to a broken one: a blank or frozen box. Custom visuals apply a data-reduction limit to the rows they receive, and pushing tens of thousands of points at a visual designed for hundreds can make it drop data, sample it, or fail to paint at all.
If the visual is empty or sluggish only with a large field:
- Reduce cardinality. Filter to a period or a top-N set, or summarize the data before it reaches the visual, so the category count is in the hundreds rather than the tens of thousands. - Check the visual's documented data-point cap and stay under it. Many marketplace and custom visuals state a maximum number of points. - Give it a moment on first render, especially over a slow connection or against a large model. A visual mid-fetch can briefly show nothing before it draws. - If only the busiest page is affected, split the work across pages or add a slicer so each render handles less data.
Free to start — no subscription, own the .pbiviz source.
FAQ
My custom visual worked yesterday and is blank today. What changed?
Usually one of three things updated underneath you: the AppSource visual auto-updated to a new version, an admin changed a tenant or Group Policy setting, or Power BI Desktop updated. Right-click the visual and select 'About' to check its version, take the latest from 'Get more visuals', and confirm 'Allow visuals created using the Power BI SDK' is still enabled for your tenant.
Why does the visual render in Power BI Desktop but not in the service, or vice versa?
The Power BI visuals tenant settings only apply to the Power BI service; Power BI Desktop is controlled by Group Policy and registry keys (EnableCustomVisuals and EnableUncertifiedVisuals). Network and web-access rules also differ between a desktop and the service's data centers, so a visual that needs the internet can pass in one place and fail in the other.
How do I see the actual error a custom visual is throwing?
Hover the visual, look for a warning or error banner, and select 'See details'. In the Power BI service, open the browser developer tools (F12) and read the Console tab for the real exception. Reproducing the same fields in a core visual also tells you quickly whether the issue is your data or the visual itself.
Is a blank or broken custom visual a security risk?
A blank visual by itself is not; it usually just means no data or a blocked policy. That said, any .pbiviz can contain code, so only import visuals from sources you trust and prefer certified or organization-approved ones. See our guide on whether Power BI custom visuals are safe for the full picture.
How do I completely remove and re-import a corrupt custom visual?
Delete the visual from the report, then in the Visualizations pane select the ellipsis and 'Restore default visuals' to reset the pane. Re-import a fresh .pbiviz from disk, or re-add it from AppSource, so any truncated or corrupt package is fully replaced rather than reused.
Sources
- Troubleshoot visualizations in Power BI (Microsoft Learn)
- Manage Power BI visuals admin settings (Microsoft Learn)
- Troubleshoot custom visuals in Power BI Desktop for Report Server (Microsoft Learn)
- Sources for acquiring Power BI custom visuals (Microsoft Learn)
- Get your Power BI visuals certified (Microsoft Learn)
Related reading
When the visual won't even import or add, the block is almost always a tenant setting or Group Policy. Here's how to unblock it.
Why custom visuals behave differently on Report Server, the post-May-2021 build requirement, and the offline workaround.
What certification actually checks, what a .pbiviz can and can't do, and how to vet a visual before importing it.
About the author
Nawaf Sharaf · Founder & Reliability Engineer
Nawaf is a reliability engineer and long-time Power BI practitioner, and the founder of VizForge. He builds the product solo — the AI generation pipeline, the visual code generator, and this site — from the perspective of someone who has spent years shipping Power BI reports in production.
Cite this article as:
VizForge. “Power BI Custom Visual Not Showing? Every Cause and Fix (2026).” July 8, 2026. https://vizforge.ai/blog/custom-visual-not-showing-power-bi