Share a ChatGPT interactive chart the reader can actually use

You drag across a chart in ChatGPT, then send a PNG to a colleague who needs to filter it. The values may be right, but the deliverable lost the control they needed.

Decide what the reader must do before choosing the export: view a fixed result, inspect the conversation, or use a separate interactive page.

Choose the deliverable by the reader’s task

For a slide with one fixed conclusion, an image can be enough. For a discussion about how the analysis was produced, include the source and explanation. For a reader who needs to switch a filter without reopening your chat, request a separate interactive HTML deliverable and verify that file.

OpenAI’s data-analysis guide distinguishes static charts from supported interactive charts in the conversation. It also recommends reviewing the code, outputs, and assumptions used for analysis. Seeing an interactive chart in the chat is not proof that an exported image or attachment has the same behavior.

Specify the interaction, not just “make it interactive”

Use a small, reviewable dataset. This original fictional example has three sessions:

session,attendances
Monday,18
Wednesday,24
Friday,21

All sessions together total 63 attendances. Choosing Wednesday should display 24. The word “attendances” matters: these figures do not tell us whether the same person attended twice, so the chart must not call 63 “unique people.”

Filter the fictional session chart: all sessions total 63 attendances; Wednesday alone is 24.
Filter the fictional session chart: all sessions total 63 attendances; Wednesday alone is 24.
Open the full example ↗

Open the interactive chart · Open its standalone HTML · Inspect the source CSV

The chart, filter, displayed total, and table use the same three records. The HTML is an original example authored for this guide, not a captured ChatGPT session. It demonstrates the requested deliverable rather than claiming that ChatGPT produced or exported this exact file.

Give ChatGPT a complete export request

Attach the permitted data, specify its units, and name the control the recipient needs. Replace the brackets before using this prompt:

Create a standalone interactive HTML chart from [ATTACHED FILE].
Reader and decision: [ENTER].
Use columns [ENTER], with these units and definitions: [ENTER].
Filter: [NAME, AVAILABLE VALUES, AND DEFAULT].

Use only the supplied rows. State the aggregation rule and treatment
of missing values. Keep the chart, table, and displayed total in sync.
Do not label attendance records as unique people without an ID rule.

Deliver one complete HTML file with inline CSS and JavaScript,
embedded data, no external fonts, libraries, images, or server calls.
Include a readable data table, visible axis/units, keyboard-operable
controls, and a phone layout. A screenshot is not the deliverable.

List expected results for the initial view and each filter, and say
which checks you actually ran. Preserve the source file separately.
If file creation is unavailable, return the complete HTML text.

Read the proposed aggregation before checking colors. If it groups the wrong column or silently drops rows, a nicer chart will only make the mistake easier to circulate. The data-analysis review guide covers that earlier check.

Test the file as a recipient

Open the HTML independently of the chat. In this example, check 63 with All sessions, 24 with Wednesday, and 18 after selecting Monday. The visible rows and chart should change with the total. Use the keyboard to operate the filter and check the labels at phone width.

For your data, write the expected values before the test. Include an empty result if the available filters can produce one. A missing value should not become zero unless that is the explicit calculation rule.

If downloading the attachment fails, use the HTML download recovery guide. If the page opens but a control needs an external service, either supply a permitted static snapshot or use an application that actually provides that service. A browser-only export does not keep the Python notebook running or fetch future data on its own.

Send the useful format with the source available

If the reader wants a presentation image, give them that image with the period, units, and conclusion visible. If they need to filter the reviewed snapshot, send the tested HTML or a browser link to it. Keep the source data available for anyone who must audit the result.

The report-to-link guide covers putting a standalone HTML result in NOS for browser delivery. Check the final page with the same filter cases before sending its link. For recurring live analysis, choose a system that refreshes the data and state that requirement explicitly; this example is a fixed three-record snapshot.

Keep reading