Product Documentation
Select a Product:
Not seeing an answer to a question you might have? You can ask it here and we'll try to update the documentation to address it. If you're making a feature request or reporting a problem, please create a support item for it, instead!
LLM AI Charts for Excel
Purpose
It is the same engine as the Power BI visual — the same chart catalog, the same plain-English refinement, the same account and the same credits — and one license covers both. What differs is the host, and that difference is real enough to deserve its own page: what is different in Excel.
Installing it
In Excel, go to Home > Add-ins (or Insert > Get Add-ins on older builds), search for LLM AI Charts for Excel and add it. An add-in object appears in the sheet reading “No data selected yet”. Nothing is installed on your machine; the add-in loads from our site each time the workbook is opened.
It runs in Excel for Windows, Excel for Mac and Excel on the web, and it needs the ExcelApi 1.7 feature set — Microsoft 365 or Excel 2019 and later. It is a content add-in: it lives in an object on the sheet rather than in a side pane, which is why the chart can be positioned, resized and printed like any other object in the workbook.
Viewing a chart needs nothing at all. Send the workbook to a colleague and the chart draws for them with no add-in installed to configure, no sign-in and no credits spent. An active license is what decides whether it draws with a watermark.
Your first chart
- Get some data in front of it. Click Menu at the top of the object, then Insert sample data to write a small demo table to a new sheet — or select any range of your own that has a header row, and click Menu > Use selection.
- Look at what fits. The chart-type list opens by itself once data is bound, ranked for the columns you selected. Highlight a row to ask for that type, or leave every row unhighlighted and let the engine choose. This list costs nothing and reaches no AI.
- Say what you want, if you want. The “What would you like to see?” box takes plain English — “revenue by region, as bars”, “dark theme, no gridlines, label the top five”. It is optional; leaving it empty is a perfectly good way to work.
- Click Generate. Progress streams in the pane and the chart draws in the object, usually inside a minute. Stop appears beside the progress line while a generation is running. This is the step that spends a credit; everything before it is free.
- Use it. Hover a mark for a tooltip, click one for a card with the numbers behind that selection, resize the object and the chart redraws to the new size rather than stretching.
After that first generation the chart is yours to keep. Editing cells in the bound range redraws it from the code already in the workbook — instantly, with no call to us and no credit.
The data it reads, and what leaves your workbook
Point the add-in at a rectangular range whose first row is the column headers. Every column below that becomes a field the chart can use; unlike the Power BI visual there are no buckets to fill, because a worksheet has no model to fill them from — the range is the data.
Your rows never leave the workbook. A generation request carries the measured shape of the range — the column headers as they appear in your sheet, the type we inferred for each one, aggregate statistics, and a few short category labels — together with the size of the object in pixels, your settings, your locale and anything you typed in the description box. Click See what's sent on the landing page to read the exact payload, in full, before anything is sent.
Two consequences worth knowing about, both of which come from a worksheet being raw rows rather than a semantic model:
- Aggregation is yours to set. Nothing in a sheet has been summarised for you, so the add-in has to decide how to summarise a measure per group. The default sums amounts and averages rates; if a column is a percentage, a rate or an index, set Aggregation to Average or Median. Summing a percentage is the classic wrong answer.
- Dates need to be typed as dates. Excel hands over dates and times as serial numbers. The add-in reads the cell formatting to tell a date from a number, so a date column formatted as General arrives as a plain number and gets charted like one. Format the column as a date in the sheet and re-bind.
The full disclosure is in the privacy policy for the add-in and in section 2A of the terms of use.
The Menu
The toolbar folds itself away once a chart is on screen so the chart gets the room. Menu at the top of the object opens it again.
| Button | Costs a credit | What it does |
|---|---|---|
| Use selection | No | Binds the add-in to the cells you have selected right now. The range summary under the heading tells you what it read. |
| Insert sample data | No | Writes a small demo table to a new sheet and binds to it. Useful for seeing what the product does before pointing it at anything of yours. |
| Refresh | No | Re-reads the bound range and redraws from the code already saved in the workbook. Use it after a change Excel did not tell us about. |
| Adjust… | Yes | Opens a box for a change described in words — “make the bars horizontal”, “rotate the labels”, “show it as percentages”. It keeps your chart and applies the change, rather than starting again. |
| Different take | Yes | Inside the Adjust box. Keeps this data and this chart type but asks for a visibly different rendering of it — for when the type is right and the execution is not. |
| Change type | Yes, when you then generate | Goes back to the chart-type list with your data still bound, so you can pick a different type. Nothing is spent until you click Generate. |
| Edit the code | No | Opens this chart's code on your account page in your browser, where you can edit it and save a new version. See the code behind the chart. |
| New chart | No | Clears the chart and returns to the landing page with your data still bound. Nothing is deleted from the service — earlier versions stay on your account page. |
| Settings | No | Aggregation, colours, limits, labels and the rest. Changing a setting never generates on its own. |
Settings
The add-in has no format pane — a content add-in gets none — so this overlay is where the knobs live. It is a curated subset of the Power BI visual's settings rather than a port of all of them, plus a few that only make sense here. Settings travel with the chart, in the workbook, so a colleague who opens the file sees what you chose.
The one distinction worth reading first. A few settings applies now — they repaint the chart on screen straight away, at no cost. Everything else steers what the engine makes, so it takes effect on your next Generate and cannot change a chart that already exists. Reset puts every setting back to its default.
Data and interaction
| Setting | Default | When it applies | Description |
|---|---|---|---|
| Version | the newest | Now | Which saved version of this chart to show. Edit a version's code on your account page, then type its number here to bring that version into this workbook. Fetching stored code never calls a model and never mints a new version, which is what makes it safe to sit beside the other knobs. |
| Aggregation | Auto — sum amounts, average rates | Now | How a measure is summarised per group: Sum, Average, Median, Min, Max, Count (rows) or Distinct count. Worth more here than in Power BI, because a worksheet hands over raw rows and nothing has been summarised for you. |
| Rows per page | No paging — scroll | Next Generate | For charts whose rows are a list you move through — the Gantt chart, and the table with charts embedded in its cells. Left on “No paging” the chart draws every row and a long one simply scrolls. Other chart types ignore this. |
| Level of detail | Leave to the engine | Next Generate | High shows every data point, Medium the distribution, Low one mark per category. It is a strong preference rather than a filter: it reorders the chart types that already fit, and a type you pick explicitly still wins. |
| Limit to | No limit | Next Generate | Chart only a subset — Top, Bottom, Latest, Most common or Outliers, with a count. The remainder is grouped into an “Other” bucket rather than dropped, so the totals still add up. |
| Industry | empty | Next Generate | A domain lens for reading your column names, so “spend” in logistics is freight and fuel rather than advertising. It helps the engine infer measures your data actually supports, and avoid coining ones it does not. |
| AI model | Default (recommended) | Next Generate | Which model writes the chart. The list comes from the service, so it is current rather than baked into the add-in, and each option carries its relative cost in brackets. The default is the best balance of quality and cost; a stronger model costs more credits per chart. |
| AI reviews each new chart | Off | Next Generate | After each Generate, an AI looks at the chart that was actually rendered. If it sees a rendering problem you are asked before anything is applied — proposing is free, declining costs nothing, and only your yes spends a generation. |
| Save chart thumbnails | Off | Next Generate | Upload a picture of each new chart so it appears beside your chart history on the site. Off by default, and nothing is uploaded unless you turn it on — a thumbnail of a chart drawn from a worksheet is a picture of somebody's data. |
| Diagnostics | on, always | — | A short log of what the pane did — build, timings, probes and errors, never your cell values — goes to the chart service every few seconds while the pane is open, so support can see what you saw. Send it now flushes it by hand when a support conversation asks. |
Colors
| Setting | Default | When it applies | Description |
|---|---|---|---|
| Colour scale | automatic | Now, on charts written to read it | The low and high ends of any continuous colour ramp the chart draws — the scale on a heatmap, a choropleth or a density plot. Left alone, the engine anchors one end to its own palette. Charts are written to read these while they draw, so the ramp changes as you pick. A chart generated before this feature keeps the colours it was drawn with — nothing can reach code that never read the setting — so generate again to pick these up. |
| Chart colours | Follow this workbook | Now | The palette that tells series apart, as opposed to the continuous ramp above. Excel exposes no document-theme API, so the seed is the fill your table's style actually paints, and a whole readable set is grown from that one accent. Change any swatch and the chart repaints straight away — no regeneration, no credit. Reset to workbook colours re-reads the table; Let the chart choose hands the decision back to the engine. |
| Fix hard-to-read labels | On | Now | After each draw, a label sitting on a bar, tile or slice that cannot be read against it is recoloured black or white. Labels that already read are left alone. Turn it off if you asked for specific label colours you do not want touched. |
Formatting
| Setting | Default | When it applies | Description |
|---|---|---|---|
| Value axis baseline | Leave to the engine | Now | Whether a value axis has to include zero. Fitting the data keeps a series that sits far from zero legible instead of squeezing it into a corner. Bar charts always keep their zero baseline whatever you set here — a bar's length is its number, so a floating baseline would misstate it. |
| Seasonal period markers | Only on an even date grid | Now | Whether a chart may label a lag or cycle with a calendar period — the “wk” tag on lag 7 of a correlogram, or “Lag 12 — annual”. On the default the label appears only where the chart can prove it: every gap between dates the same length, and a real peak at that lag. A weekday-only series fails that test, because its week is five readings rather than seven. |
| Chart title | Leave to the engine | Next Generate | Include or exclude a title. A worksheet usually has a heading in a cell already, which is a good reason to exclude one. |
| Data labels | Leave to the engine | Next Generate | Print the numbers on the marks. Left alone, the engine omits them when the marks are too dense for them to stay legible. |
| Legend | Auto | Next Generate | Outside the plot, inside it, or none at all and rely on the chart's own labels. Single-series charts get no legend either way. |
| Font | empty | Next Generate | The font for the chart's own text — titles, labels and legends. It is a text box rather than a picker, because an Office task pane has no host font control and a baked list would go stale against what is actually installed. A name this machine does not have degrades to a fallback rather than breaking. |
Clicking a mark
| Setting | Default | When it applies | Description |
|---|---|---|---|
| Show a card when I click a mark | On | Now | Clicking a mark pops a small card with what that selection adds up to — the values, each measure at your chosen aggregation, and how many rows are behind it. Click empty space or press Esc to dismiss it. This is an Excel-only setting: in Power BI a mark click cross-filters the report, and a worksheet has no report to filter. |
| Cards I can pin at once | 1 | Now | Pinning keeps a card open while you click other marks, so two or three selections can sit side by side for comparison. Past this many, the oldest pinned card is dropped. |
Chart types
The chart-type list in the pane is the authoritative one: it is computed for the range you have bound, so it can only offer types your data actually supports. It opens by itself when data is bound, Refresh re-asks for the cells you have selected now, and the filter box narrows a long list without changing the ranking. Show all chart types, at the end of the list, reveals the types that were refused for this data, each with the reason it cannot be drawn — which is usually the fastest way to understand what your range is missing.
Over a hundred types are available, and new ones simply appear — they arrive on our side, with nothing for you to install. The range covers the ordinary (bar, line, area, scatter, pie, donut) and a great deal that Excel cannot draw on its own: heatmaps and calendar heatmaps, treemap, sunburst, icicle, Sankey and alluvial, chord, arc and network diagrams, dendrograms, hexbin, box plot, violin, beeswarm, ridgeline, histogram and density, streamgraph, horizon, bump, slope, dumbbell, lollipop, waterfall, funnel, Pareto, Gantt, bullet, gauge, radar and polar, parallel coordinates, candlestick, marimekko, waffle, packed circles, ternary plots, small multiples, scatter matrix, regression with a confidence band, and tables with mini-charts in their cells.
Maps, with no map service. Choropleths of the world and the USA by state or ZIP, bivariate choropleths, bubble maps, hex-tile and tile-grid cartograms, and flow maps that draw routes as arcs from place names alone. The geometry ships inside the add-in, so there is no map service to sign up for, no API key and no per-view billing.
The Excel set is narrower than the Power BI set, permanently. The add-in generates and runs D3 (JavaScript and SVG) only — the Python, Plotly and Vega runtimes the visual can use are not available inside the Office sandbox. Types that exist only in those lanes are therefore not offered in Excel. This is a property of the host rather than a temporary limitation.
Refining a chart you already have
Three different things can be wrong with a chart, and there is a different answer for each.
- The chart is right, a detail is wrong. Adjust… and describe the change. It keeps your chart and applies what you asked for, so everything you liked about it survives.
- The type is right, this rendering of it is not. Different take keeps the data and the type and asks for a visibly different treatment.
- The type is wrong. Change type returns to the list with your data still bound. Nothing is spent until you press Generate.
Writing a chart takes a few minutes, once. After that it redraws instantly as your cells change, because the code is already in the workbook.
The code behind the chart
Every chart is real code, and you own it. Menu > Edit the code opens that chart on your account page in your browser, where the code can be read, edited and saved as a new version. Bring any saved version back into the workbook by typing its number into the Version setting — that fetches stored code and never calls a model, so it costs nothing.
Two cases have no edit link, and the pane says so rather than opening an empty page: charts made before the feature shipped do not carry one, and neither do charts generated without a linked account. Generating again while linked puts the link there.
Knowing how to code is an advantage here and never the price of entry — the great majority of charts are never opened.
Accounts, licensing and what viewers see
Generating needs a linked account; viewing does not. Linking is the only way in — there is no license key to type into the add-in, on purpose, because a typed key is a permanent credential sitting in a mailed file. Link your account opens a dialog on our site, and the pane comes back reading who it is linked to and how many credits are left.
No account yet? Choose Link your account, then Sign up. Confirming your email address starts a free 21-day trial. Before you have an account you can still use What fits? on your own data (after ticking the terms, since it measures your columns) and Show an example chart on the sample table, which needs no acceptance at all because it measures nothing of yours.
Licenses are per organization, not per named seat — one license covers your whole company, and the Power BI visual with it. Licenses and usage credits are bought on our site, not through Microsoft. There is no freemium tier in Excel: the free-of-charge path in the visual is a Power BI feature, and the add-in's equivalent is the trial and the example charts.
What a colleague sees when you send them the workbook. The chart is saved in the file, so it draws for them with no account, no sign-in and no credits. What an active license decides is the watermark, and there are three answers:
| State | What is drawn |
|---|---|
| The chart is pinned | Licensed unconditionally and never watermarked. Pinning is paid for separately so the file can stand on its own; the state of the account that made it is not consulted, then or later. |
| Otherwise, the license that generated it | Resolved from the token stored with the chart, or from the workbook's account link. Active license, no watermark. Lapsed, expired or never held, and the chart still draws but carries a watermark saying so. |
| We could not tell | Usually a renamed or retyped column, or our service being unreachable. The chart draws with a softer notice saying the license could not be checked. A failure to verify is not an accusation. |
Rendering is never refused, in any of the three, and no watermark state costs a credit. The full rule is section 2A(f) of the terms of use.
What is different from the Power BI visual
One engine, one account, one license — but the two hosts are not the same place, and pretending otherwise would just cost you time looking for things that are not there.
| In Excel | In Power BI |
|---|---|
| Select a range with a header row. | Fill the Values, Measures and Group by buckets from the semantic model. |
| Raw rows, so Aggregation is a setting that matters. | DAX measures arrive already evaluated at the grain your fields define. |
| D3 only. The chart set is narrower. | D3, Python (Pyodide), Plotly and Vega lanes, so the full catalog. |
| Clicking a mark pops a card with the numbers behind it. | Clicking a mark cross-filters the rest of the report. |
| A Settings overlay — a curated subset of the knobs. | A format pane with the full set of setting slices. |
| No freemium. A 21-day trial, then a license. | A freemium tier exists alongside licensed use. |
| The chart is saved in the workbook and travels with the file. | The chart is saved in the report and travels with the .pbix. |
| Colours are seeded from the fill your table style paints. | Colours are seeded from the report theme. |
If something is not right
| What you see | What is going on |
|---|---|
| Generate is disabled, or the pane says no data is selected | Nothing is bound yet. Select a range whose first row is the headers, then Menu > Use selection. The range summary under the heading confirms what it read. |
| I changed a setting and the chart did not change | Only the settings marked applies now repaint an existing chart. The rest steer what the engine makes and take effect on your next Generate — code that never read a setting cannot start reading it. |
| I picked colour-scale colours and the chart ignored them | Same cause, and it is worth stating separately: charts generated before that setting existed keep the colours they were drawn with. Generate again and the new chart will follow the pickers as you move them. |
| The numbers look wrong — a percentage got summed | Set Aggregation to Average or Median. A worksheet hands over raw rows, so the add-in has to be told how to summarise a rate. |
| My dates are being charted as numbers | Excel supplies dates as serial numbers and the add-in reads the cell formatting to tell them apart. Format the column as a date in the sheet, then Use selection again. |
| The chart has a watermark | The account behind that chart has no active license, or the workbook reached someone whose copy carries no license of its own. Link an account with an active license and generate, or pin the chart so the file stands alone. It is never a refusal to draw. |
| “The license could not be checked” | Usually a renamed or retyped column in the bound range, or our service being unreachable. Re-bind the range, or try again when you are back online. |
| Edit the code says this chart has no edit link | The chart was made before that feature shipped, or generated without a linked account. Generate again while linked and the link will be there. |
| Generate is below the fold, or the pane feels cramped | Resize the add-in object on the sheet. The chart redraws to the new pixel size rather than scaling, so a bigger object gets a genuinely denser chart. |
| Something else | The pane sends a short diagnostic log — build, timings and errors, never your cell values — while it is open. Open Settings, click Send it now, and tell us roughly when it happened on the support page; that is enough for us to find it. |