A CSV full of numbers is not an insight. Maybe values are missing. Maybe two regions use different labels. Maybe the chart answers a question you never meant to ask.
ChatGPT can remove a lot of work from that first pass. The old name was Code Interpreter. OpenAI now calls the capability Data Analysis. It reads uploaded files, creates tables and charts, and for some tasks runs Python in a Jupyter notebook environment.
That is useful. It does not replace your judgment about the data. This guide gives you a workflow you can reproduce with a harmless sample file before applying it to your own work.
- ChatGPT Data Analysis, previously Code Interpreter, can inspect, clean, and visualize structured files. A specific question beats simply asking it to analyze a file.
- The Free plan includes data analysis with separate limits. OpenAI lists Plus at $20 per month and gives it higher upload and tool limits.
- CSV and spreadsheet files are limited to roughly 50 MB. The Python environment has no direct internet or API access, and important results still need checking.
1. What ChatGPT Code Interpreter does today
This is not a general-purpose programming computer in your browser. It is an analysis environment for the current chat. You upload data, describe your question in plain language, and ChatGPT can turn that into tables, calculations, transformations, or charts.
It works best with well-structured data. OpenAI recommends descriptive column headers in the first row and one record per row. It sounds basic. It saves a surprising amount of confusion later.
Typical tasks include:
- summarizing revenue, quantities, outliers, and time periods
- finding missing values, duplicates, or inconsistent categories
- joining two tables through a shared identifier
- calculating averages, medians, standard deviations, or correlations
- creating an appropriate bar, line, pie, or scatter chart
2. File types and limits you should know
CSV, XLS, and XLSX are the most useful formats for data analysis. OpenAI also lists PDFs plus text and data formats such as JSON, XML, YAML, TXT, and Markdown. The formats and tools actually available to you can vary by model, plan, workspace settings, and account capabilities.
The official upload limits are more nuanced than the often repeated 100 MB figure:
- 512 MB maximum for every file
- roughly 50 MB maximum for CSV and spreadsheet files, depending on row size
- 2 million tokens maximum for text and document files
- 20 MB maximum for each image
- up to 80 uploads every three hours. Free users are limited to three uploads per day. Those limits may be reduced during peak hours.
A successful upload does not guarantee a complete analysis. Very large, nested, image-heavy, or poorly structured files can lead to incomplete answers. Upload only the relevant columns or split the file into meaningful subsets when that happens.
2.1 Libraries and runtime
ChatGPT writes and runs Python. OpenAI names examples such as pandas and Matplotlib, but does not publish a complete, binding inventory of every pre-installed library or a fixed time limit for each analysis. Do not plan a workflow around old lists claiming hundreds of packages or an alleged 60-second limit.
The notebook context can be stateful within a session. That is still not a promise of a fixed runtime or permanent intermediate results. Split demanding work into smaller steps, save important downloads, and ask for the method behind each result.
3. Which plan is enough for data analysis?
Data analysis and file uploads are available on Free too, as the ChatGPT Free Tier FAQ explains, with their own tighter limits. OpenAI can adjust those limits as demand changes. That makes Free a sensible place to start with a small spreadsheet.
As of September 2026 (sources: ChatGPT Pricing and ChatGPT Business - Overview):
- Free: data analysis and uploads with limited use
- Go: Higher upload and data-analysis limits than Free. OpenAI’s Go documentation lists availability in all supported ChatGPT countries. Check the pricing page for your local price.
- Plus: $20 per month, with higher limits for messages, uploads, and data analysis
- Pro: Two tiers at $100 or $200 per month with different usage allowances, documented in OpenAI’s Pro overview.
- Business: for teams. OpenAI lists Standard seats at $25 per person per month on monthly billing or $20 on annual billing. Workspace rules and admin settings can control features.
- Enterprise: custom pricing
Prices can vary by country, currency, tax, and offer page. For a more detailed comparison, see my ChatGPT pricing guide.
4. A reproducible beginner workflow, no Python required
Do not start with customer data. Download my synthetic CSV sample with 24 orders first. It contains deliberately invented sales data from January to June 2026. No real customers. No real revenue.
Here is the workflow:
- Start a new ChatGPT conversation and attach the CSV through the attachment button.
- Ask for an inventory first. That checks whether columns, dates, and numbers were read correctly.
- Then ask a concrete analysis question that includes a time range, metric, and chart type.
- Compare the answer with the file and ask to see the calculation before using it for a decision.
Use this prompt for the first pass:
Inspect the uploaded CSV file for data quality first. Report the row count, missing values, duplicate rows, and detected data types.
Then calculate net revenue by region and sales channel. Create a bar chart for revenue by region and a line chart for monthly revenue.
Show the assumptions and Python code you used. If the file does not make something clear, flag it as an open question instead of inventing an answer.The sample is deliberately small and clean. Real spreadsheets nearly always include blank rows, unclear categories, or incorrectly formatted numbers. That is why a useful workflow starts with a data-quality check, not the first chart.
4.1 Follow up with a question that tests the first answer
One chart rarely answers everything. Your next question should test the first answer instead of asking for more insights.
Compare the two regions with the highest net revenue. Based only on the available columns, explain which sales channels could account for the difference.
Separate observed values from assumptions. Suggest two additional data fields that would make the explanation more reliable.That is the difference between a fast summary and a useful analysis. ChatGPT calculates and structures. You decide whether the question made sense and whether the data can support the conclusion.
5. Three useful applications beyond revenue tables
The same approach works for other manageable questions. For a Monte Carlo simulation, define the assumptions, number of runs, and outcome you want to measure. For text data, you can count categories, group terms, or compare sections in a structured way. With two tables sharing a customer or product identifier, you can ask ChatGPT to join them.
Be careful with image files. ChatGPT can inspect images, but OpenAI recommends a spreadsheet or text file when exact values matter in scanned PDFs or complex layouts. That is less flashy than a colourful word cloud, but much less likely to send you in the wrong direction with numbers.
6. No internet access inside the Python environment
The Python environment for Data Analysis cannot call external websites or APIs. If you need current exchange rates, advertising data, or product prices, first provide those data in a file or attach a connected source that is available to your account.
Do not confuse this with ChatGPT Search. Search can research current sources, depending on the model and plan. The Python code analyzing your uploaded file cannot independently fetch those data.
7. Privacy and result checking
In a personal ChatGPT workspace, you can switch off the use of new conversations for model improvement in Settings > Data Controls. That affects new conversations while keeping them in your history. OpenAI says inputs and outputs in ChatGPT Business, Enterprise, Edu, and the API are not used for training by default. Still check the settings and retention rules for your own plan.
Then comes the work no AI tool can do for you. Compare totals with the source file. Check a sample of rows. Read chart axes, filters, and units. Ask for an explanation when an answer does not show how it got there.
ChatGPT Data Analysis is an excellent starting point. It is not autopilot for important decisions. Treat it that way.






