Last updated: August 2026
Ask ChatGPT to convert 12 feet to meters or to carry units through a calculation, and it will often hand back a confident answer that is off by a factor of ten, or that quietly drops a unit halfway through. It is not a bug you can prompt away, and it is not random. It comes from how a language model reads numbers and what it is actually built to do, which is predict text, not calculate. This guide explains the three real reasons ChatGPT gets units wrong and the fixes that work. It pairs with our method for how to verify an AI engineering answer and the pillar on the best AI tools for engineers.
The short version
ChatGPT is a next-token predictor, not a calculator. It reads numbers through a tokenizer that splits digit strings inconsistently, so it never reliably sees a number as a magnitude, and it has no built-in step that tracks units across a calculation. The result looks right but often carries the wrong magnitude or a dropped unit. The fix is to stop asking the language model to do the arithmetic: make it use a code tool or a computational engine, state your units explicitly, and verify every value by hand.
The short answer: it predicts text, it does not calculate
A large language model generates the statistically most likely next token given everything before it. There is no arithmetic unit inside it, no place where 12 times 0.3048 is actually computed. When it produces a converted value, it is pattern-matching against text it has seen, not running the sum. On easy, common conversions that pattern is usually right. On anything unusual, multi-step, or precise, it produces a number that looks plausible and is wrong, which is exactly the failure mode we cover in the broader limitations of AI in engineering.
Reason 1: it does not read numbers the way you do
Before the model reasons about anything, your text is split into tokens, and number tokenization is messy. Research on frontier models shows that how digits are grouped into tokens directly changes arithmetic accuracy, and that the errors are systematic rather than random (Singh and Strouse, arXiv 2402.14903). A tokenizer may treat 380 as a single token while splitting 381 into 38 and 1, which destroys the place-value structure the model would need to compute reliably (TechCrunch). The same reporting documents a concrete slip: asked to multiply 5,789 by 1,283, a model returned 742,021,104 instead of the correct 742,934,304, and in one 2024 analysis GPT-4o multiplied correctly less than a third of the time once the numbers grew past four digits each, though newer reasoning models do better.

Reason 2: units need dimensional tracking it does not do
A unit conversion is not just arithmetic; it is arithmetic plus bookkeeping. You have to keep the dimension attached to the number, cancel units correctly, and scale by the right factor. Language models are weak at exactly this. A dedicated benchmark for numerals and units of measurement in reasoning chains was built precisely because models mishandle them (NUMCoT, arXiv 2406.02864), and a separate study found that models focus on numeric values while neglecting the dimensional concept of a quantity, building a dimensional knowledge base and benchmark to address it (Huang et al., arXiv 2312.17532). In that work, adding explicit dimension awareness lifted accuracy on quantitative reasoning from roughly 44 to 51 percent, a useful gain that also shows how low the baseline is. So when ChatGPT drops a unit or scales by the wrong power of ten, it is not careless; it never had a reliable mechanism for units in the first place.
Reason 3: it optimizes for plausible, not correct
The deeper issue is what the model is rewarded for. It is trained to produce fluent, likely text, so it aims at answers that look right rather than answers that are right. Stephen Wolfram has put the point plainly: a language model cannot be expected to do real, nontrivial computation or to systematically produce correct data rather than output that merely looks roughly right, which is the whole reason to hand the calculation to a computational engine instead (Stephen Wolfram). A wrong unit that reads smoothly is, from the model’s point of view, a success.
How to stop ChatGPT getting units wrong
The theme of every fix is the same: do not let the language model be the calculator.
- Make it use a code tool. A code interpreter runs real Python in a sandbox and iterates until the code executes, which is the concrete fix for actual math (OpenAI). Turn it on and the arithmetic is computed, not guessed.
- Offload to a computational engine. For conversions and unit-heavy work, compute in Wolfram Alpha or a spreadsheet and let ChatGPT explain, not calculate. Our Wolfram Alpha versus ChatGPT comparison shows why the pairing works.
- State units explicitly. Give the input units, the output units you want, and the standard, and ask it to carry units through every step. Ambiguity is where the dropped unit happens.
- Verify by hand. Check the magnitude and the units on the final answer. If a length comes back in kilometers where you expected meters, stop.
- Use a reasoning model for the setup. Reasoning models handle multi-step structure better, but they still should not be trusted with the final arithmetic. Whether AI can do engineering calculations and whether ChatGPT can do engineering math go deeper on this.

Frequently asked questions
Why does ChatGPT get units wrong?
Because it is a next-token text predictor, not a calculator. It reads numbers through a tokenizer that splits digits inconsistently, so it never reliably sees a magnitude, and it has no built-in step that keeps units attached and scaled through a calculation. The answer looks plausible but often carries the wrong magnitude or a dropped unit.
Is ChatGPT bad at all math or just units?
It is unreliable across multi-step arithmetic in general, and unit conversion is a hard case because it combines digit arithmetic with dimensional bookkeeping. Simple, common sums are usually fine; anything precise, large, or multi-step is where it slips.
How do I make ChatGPT do unit conversions correctly?
Turn on a code tool so it computes in real Python, or do the conversion in Wolfram Alpha or a spreadsheet and let ChatGPT only explain it. State the input and output units explicitly, ask it to carry units through each step, and check the magnitude of the final answer yourself.
Do newer or reasoning models fix this?
They reduce it but do not remove it. Reasoning models handle multi-step problems better, yet the underlying tokenization and next-token design remain, so the arithmetic still needs to be verified or offloaded to a real computational tool.
Can I trust ChatGPT for engineering unit work?
Not for the numbers themselves. Use it to set up and explain the conversion, compute the values in a real engine, verify units and magnitude by hand, and keep a licensed engineer on anything load-bearing.
Sources
- Tokenization and arithmetic accuracy in frontier LLMs: arXiv 2402.14903
- Why ChatGPT struggles with numbers, with a worked example: TechCrunch
- Numerals and units of measurement in reasoning chains: NUMCoT, arXiv 2406.02864
- LLM dimension perception and quantitative reasoning: arXiv 2312.17532
- Why computation should be offloaded from an LLM: Stephen Wolfram
- Code interpreter for real computation: OpenAI developer docs
About the author: this guide was written and edited by the CognitiveFuture editorial team, which researches how AI tools fit real professional workflows. We cite primary sources for the claims we make and update our recommendations as tools and standards change. We do not test products ourselves; our assessments synthesize official documentation, primary research, and practitioner reporting.
Model behavior changes frequently. Always verify calculations against a real computational tool and primary sources before relying on any output.