What it does
Power BI ships a fixed set of core visuals. When you need something else (a Sankey, a bullet chart with bands, a Gantt with dependency arrows, a floor plan bound to data) the options have been a Microsoft Marketplace (formerly AppSource) licence billed per user, a developer who knows the visuals SDK, or weeks of your own evenings. VizForge is the fourth option: a generator that turns a written brief into a working, packaged custom visual in minutes.
It is built for two kinds of people. Analysts who can describe the chart precisely but do not write TypeScript, and developers who could build it but would rather start from compiling code with the Power BI boilerplate already correct. If you want to see how the hand-built route compares, the DIY-with-Claude-or-ChatGPT guide lists the compiler errors you would otherwise fix yourself.
The 4-file output
Every Power BI custom visual built with Microsoft’s powerbi-visuals-tools is four files plus a template. VizForge generates exactly those four; the tsconfig, webpack config and pbiviz.json manifest (with a fresh GUID and author fields) come from a fixed template, so the package is rebuildable on your machine.
capabilities.json
Data roles (the field wells), data view mappings and the formatting objects that become cards in the format pane. This is where your 'Category', 'Value' and 'Target' wells are declared.
visual.ts
The visual class implementing IVisual: constructor, update(options) with the null check first, D3 v7 rendering with enter/update/exit, selection IDs for cross-filtering, context menu, tooltips via host.tooltipService, renderingStarted/Finished events.
settings.ts
The formatting model built on powerbi-visuals-utils-formattingmodel: typed cards and slices (toggles, colour pickers, numeric inputs, dropdowns) matching the objects in capabilities.json.
style.less
The stylesheet compiled into the bundle by pbiviz: fonts, hover states, selection dimming, scrollbars.
The validation loop: tsc, repair, pbiviz
Language models write plausible Power BI code that does not compile: string methods called on dropdown values, settings slices read without .value, a missing generic on populateFormattingSettingsModel, the wrong ISelectionId namespace. The pipeline exists to catch and fix those before you ever see a file.
- 1
Classify
A fast model reads your description and picks the visual family (one of 63+) and the data shape it implies.
- 2
Retrieve
Relevant SDK patterns, reference implementations and previously successful refinements are pulled from a vector index and placed in the model's context.
- 3
Specify, then generate
A spec (data roles, interactions, formatting cards) is written first; the four files are generated from the spec, not straight from the prompt.
- 4
Type-check with tsc
The real TypeScript compiler runs with --noEmit against a pre-installed copy of powerbi-visuals-api, the formatting-model utils and D3 types. It reports the same TS2339 / TS2345 / TS2739 / TS2344 / TS2552 diagnostics pbiviz would.
- 5
Repair
Deterministic fixes run first (d3.event, innerHTML/outerHTML, missing renderingStarted/Finished, the empty-data-view guard, createTooltipServiceWrapper, the formatting-utils package-name typo). Remaining errors, such as unwrapped settings slices, the missing generic on populateFormattingSettingsModel or the wrong ISelectionId import, go back to the model with the compiler output and known repair patterns, for up to three rounds, escalating to a stronger model after the first.
- 6
Package and grade
pbiviz package produces the .pbiviz with a unique GUID. An AI reviewer scores the code against your brief on six criteria (visual type, field roles, encoding, labels, legend, colour logic). A visual that fails to build or scores below the threshold is refunded under the quality SLA.
repair patterns the validator feeds the model
// Generated (fails: TS2339 Property 'toLowerCase' does not exist on type 'IEnumMember | ILocalizedItemMember')
const mode = settings.layout.mode.value.toLowerCase();
// Repaired
const mode = String(settings.layout.mode.value.value).toLowerCase();
// Generated (fails: TS2739 Type 'Model' is missing the following properties from type 'VisualFormattingSettingsModel')
this.formattingSettings = this.formattingSettingsService
.populateFormattingSettingsModel(VisualFormattingSettingsModel, dataView);
// Repaired
this.formattingSettings = this.formattingSettingsService
.populateFormattingSettingsModel<VisualFormattingSettingsModel>(VisualFormattingSettingsModel, dataView);After download, the free pbiviz Inspector reads the package in your browser and shows its API version, data roles and declared privileges, which is what an admin will ask for.
Demo prompts
Good prompts read like a developer brief: data roles with types, interactions, and the formatting cards authors should get. These four are real briefs that generate; paste one and change the field names. The prompt coach on the generate page asks the same questions if you would rather answer than write. A floor plan bound to data is a separate flow: upload the image to Synoptic Studio (15 credits) instead.
Bullet chart with bands
Bullet chart. Data roles: Category, Actual (measure), Target (measure), Band 1-3 thresholds (measures). Horizontal bars, target as a vertical tick, three grey qualitative bands behind each bar. Cross-filter on click, tooltip with variance to target in % and absolute. Formatting pane: bar colour, target colour, band greys, font size, number display units.
Gantt with dependencies
Gantt chart. Data roles: Task, Start, End, Percent Complete, Phase (two levels), Predecessor (comma-separated task IDs), Baseline Start, Baseline End. Dependency arrows finish-to-start, critical path in the theme's first data colour, baseline as a thin bar under the actual, today line, collapsible groups, tooltip with slip in days.
Calendar heatmap
Calendar heatmap, GitHub style. Data roles: Date, Value (measure). One cell per day, weeks as columns, month labels on top, weekday labels on the left, sequential colour scale from the theme with 5 steps, legend, tooltip with formatted date and value, click to cross-filter the day.
SPC control chart
Statistical process control (XmR) chart. Data roles: Date, Value (measure). Plot the individual values as a line with markers, centre line at the mean, upper and lower control limits at ±2.66 × the average moving range, highlight points outside the limits and runs of 8 on one side of the centre line in the theme's warning colour, tooltip with value and moving range, click to cross-filter the date.
Pricing
Credits are bought once and never expire. A generation costs 1 to 5 credits depending on complexity (a synoptic map from Synoptic Studio is 15); refinements of an existing visual are generations too. Signup includes 5 free credits with no card. There is no subscription and no per-viewer fee: a visual used by 2,000 readers costs the same as one used by two. Full details on the pricing page; the figures below come from the same catalog it renders.
Starter Pack
$9.99
10 credits · $1.00 each · one-time
Pro Pack
$24.99
30 credits · $0.83 each · one-time
Team Pack
$69.99
100 credits · $0.70 each · one-time
For how that compares with hiring a freelancer, an agency or licensing a Marketplace visual per user, see how much a Power BI custom visual costs in 2026.
Limits, stated plainly
- Uncertified.The output is a custom visual built with the Power BI SDK, exactly like one a developer builds for you. In the Service it renders only where the tenant setting “Allow visuals created using the Power BI SDK” is enabled, and “Add and use certified visuals only” blocks it (Desktop follows the matching Group Policy keys). An admin can still approve it for everyone by adding the .pbiviz to the organizational visuals list, which Microsoft documents as working “even if they contradict the tenant settings”; see Organizational visuals (Microsoft Learn). If certification is a hard requirement, use a certified Marketplace visual or Deneb; see the Deneb alternatives guide.
- Tenant and surface policy. Power BI Desktop is governed by Group Policy, the Service by tenant settings, Report Server by its supported API version. The custom visual not showing guide covers every switch.
- No external services. Generated visuals do not call map tile servers, web APIs or your data source. Maps are drawn from geometry in your data or an uploaded image.
- First drafts are drafts.Complex briefs usually take a generation plus one to three refinements. The quality SLA refunds visuals that fail to build or score below the grader’s threshold; it does not promise the first draft is final.
- Native first. If a core visual can do it with conditional formatting, use the core visual. Power BI added a native Gantt (preview) in October 2026; our native vs custom Gantt comparison says when a custom one is still worth it.
Describe the chart, preview it, download the .pbiviz and the source. No card required.
FAQ
What exactly do I download?
A .pbiviz package you import into Power BI Desktop or the Service, plus the four source files it was built from (capabilities.json, visual.ts, settings.ts and style.less). You can rebuild it yourself with powerbi-visuals-tools at any time.
Is the generated visual certified by Microsoft?
No. Certification is a Microsoft review process for Microsoft Marketplace visuals. A generated .pbiviz is an uncertified custom visual, the same as one a developer builds for you. Your tenant must allow visuals created with the Power BI SDK; under a certified-only policy it renders only if an admin adds it to the organizational visuals store. Uncertified visuals are also left out of PowerPoint export and email subscriptions.
Does it work in Publish to web, Report Server or Embedded?
It behaves like any uncertified custom visual built against the current API: it renders where your tenant and surface allow SDK visuals. Report Server requires a visual API version the server supports. Microsoft supports custom visuals in Publish to web except licence-enforced visuals and uncertified organizational-store visuals in a certified-only tenant; a generated visual has no licence check, but test your tenant before relying on it.
How much does a visual cost?
Each generation costs 1, 2 or 5 credits depending on the brief's complexity (data roles, interactions, formatting options); detailed briefs such as a Gantt with dependencies usually land at 5; a synoptic map from Synoptic Studio is a flat 15. Credits come in one-time packs: 10 for $9.99, 30 for $24.99, 100 for $69.99. Signup includes 5 free credits. Credits never expire and there are no per-user fees.
What if the first result is not right?
Open the visual's page and use Refine. Your instruction is applied to the existing code as a minimal edit rather than a regeneration, so the parts that already worked stay put. Refinements cost credits like generations.
Can it build any chart?
It classifies into 63+ visual families and generates variants within them. It does not connect to external map tiles or web services, does not write back to your data source, and does not produce certified visuals. Very large data (hundreds of thousands of points) needs aggregation in the model first.
Which AI models write the code?
Claude models from Anthropic: a fast model for classification and the prompt coach, a stronger model for the specification and code, and the strongest tier with extended thinking for refinements and for compiler-error repair rounds after the first. No Anthropic credentials live in the web app; all calls run on the build server.
Can I get a human to build or finish a visual?
Generation needs no quote; the credit cost is shown before you generate. For larger or certification-bound projects, email support@vizforge.ai with your brief and we will tell you whether an AI build, a freelancer or a vendor is the better fit.
Read next
DIY route
Build a visual with Claude or ChatGPTThe toolchain and the compiler errors every model makes.
Cost
How much does a custom visual cost in 2026?Freelancer, agency, Marketplace licence and AI compared.
Features
Everything the generator doesPrompt coach, refinement loop, image-to-visual, validator.
Catalog
Visual typesData shape, DAX and a live preview per chart type.
Quality SLA
What is refunded and whyThe six-criterion grader and the refund rule.
Synoptic
Floor plans and diagramsImage-to-region-map visuals you own.