How to Proofread With ChatGPT Without Changing Names, Numbers, or Dates
ChatGPT will fix your grammar and quietly convert your units, round your ranges and delete your hedges. Here is a tested prompt, the ten tokens we watched, and a three-minute audit that catches the ones that slip through.
Tested October 2026 on Chrome, Edge and Firefox (Windows 11)
Free · works in Chrome, Edge and Firefox
On this page
- The short answer
- Why the facts move at all
- The test document
- The prompt
- What came back
- Uncertainty is a fact, and it is the one that gets deleted
- The three-minute audit
- Where ChatGPT is still the right tool
- Where you paste it matters too
- Where this breaks down
- The alternative for documents where facts carry weight
- Frequently asked questions
The short answer
Put an explicit fact-lock instruction in the prompt, listing the categories that must survive untouched: proper names and their spelling, numeric amounts, currencies, units of measurement, dates, times, time zones, reference identifiers, version numbers, and any wording that expresses uncertainty. Then diff the output against the original token by token before you use it. The prompt cuts the error rate; the diff is what catches the remainder.
Below is the prompt we wrote for this, the test document we ran it against, and a full audit of what came back. The document contains ten invented factual tokens across the categories that break, so you can see the failure modes rather than take our word for them.
Why the facts move at all
It helps to understand the mechanism, because it explains why the errors are so consistent and why a better prompt only partly fixes them.
ChatGPT is not editing your document. It is generating a new sequence of tokens that is likely to follow from your instruction plus your text. There is no separate channel where '248,500 EUR' is held as a numeric value and re-emitted unchanged. It is four or five tokens, and each one is predicted. Most of the time the prediction is a copy, because copying is by far the most likely continuation. But 'most of the time' is not 'always', and the cases where it is not are exactly the cases where a plausible-looking alternative exists.
That is why the failures cluster in predictable places. A unit has a common conversion. A date has a common alternative format. A range has a midpoint. A hedge has a confident version. In each case there is a high-probability neighbouring token sequence that is grammatically better and factually different, and the model has no inherent reason to prefer the worse grammar.
| Category | Typical change | Why the model does it |
|---|---|---|
| Names | Ines becomes Inés; a surname gets respelled; two people get merged | Accent and spelling normalisation toward a more common form |
| Amounts and units | 18 metric tonnes becomes 19.8 short tons; 340 kWh becomes 340 kilowatt-hours; a range becomes a midpoint | Unit expansion and conversion are 'helpful' completions |
| Dates and times | 14 November 2026 becomes November 14, 2026 or 11/14/2026; 09:30 CET becomes 9:30 AM | Locale normalisation toward the format the model sees most often |
| Identifiers | SOW-2291-b becomes SOW-2291-B or SOW 2291b; hyphens dropped | Case and punctuation normalisation on strings that look like typos |
| Uncertainty | 'we have not yet confirmed' becomes 'we confirmed'; 'roughly' deleted; 'may' becomes 'will' | Confident prose scores higher. This is the category that reads as an improvement. |
Observed October 2026 in ChatGPT on the web, Windows 11. Individual results vary between runs and between accounts.
The test document
A client status update. It is deliberately ordinary — the kind of thing that gets written at speed on a Thursday afternoon and sent without a second read. It contains ten invented factual tokens plus several deliberate grammar errors, so a correction pass has real work to do and we can see whether the facts survive the work.
Status update for Halvern Point, ref SOW-2291-b
Hi Ines,
Quick update on the phase two rollout. Me and Dev have finished the
site survey for seven of the nine sites, and the remaining two is
blocked pending access to the substation.
The revised quotation is 248,500 EUR, which are roughly 4% below the
original estimate. Load measurements at the Kilmory site came in at
340 kWh per cycle, about 18 metric tonnes of throughput per shift,
and we have not yet confirmed whether the cooling upgrade is needed
to sustain that.
Next milestone is 14 November 2026 for the design review, with the
call at 09:30 CET. Dev will circulate the v3.2.1 drawings before
then so the client team have time to review them.
Its worth noting that the timeline may slip if the access issue is
not resolved by the end of next week, and there is a chance we will
need to revisit the phasing.
Thanks
Anesh| # | Token | Category | What would count as a failure |
|---|---|---|---|
| 1 | Halvern Point | Client name | Any respelling or substitution |
| 2 | SOW-2291-b | Reference identifier | Case change, hyphen dropped, or reformatting |
| 3 | Ines | Person name | Accent added, or respelled to a more common variant |
| 4 | Dev | Person name | Expanded to a full name such as Devendra |
| 5 | seven of the nine sites | Count with a denominator | Either number changed, or the count made singular |
| 6 | 248,500 EUR | Amount and currency | Currency symbol or code changed, digit grouping changed, or the value altered |
| 7 | roughly 4% | Hedged percentage | 'roughly' deleted, or the figure rounded to a different value |
| 8 | 340 kWh / 18 metric tonnes | Units of measurement | Unit expanded, converted to another system, or the value changed |
| 9 | 14 November 2026 / 09:30 CET | Date, time and time zone | Date format changed in a way that creates ambiguity, time reformatted, or the zone dropped |
| 10 | v3.2.1 | Version identifier | Dots dropped, segments reordered, or the string normalised |
All names, companies, references and figures are invented for this test. The grammar errors in the document are also deliberate.
The prompt
Written for this article. The design principle is that every instruction names a category the model is likely to 'improve', rather than asking it to be careful in general — 'do not change the facts' does very little, because the model does not believe it is changing facts.
Proofread the text below. Fix only grammar, spelling, punctuation and
subject-verb agreement. Do not rewrite, restructure, summarise, expand
or change the tone. Keep my sentence order and my sentence lengths
close to the original.
HARD CONSTRAINTS - these must be byte-for-byte identical in your
output. If fixing the grammar around one of them seems to require
changing it, leave the grammar error instead:
- Proper names of people, companies, places and products, including
their exact spelling and whether or not they carry accents
- Numeric values, currencies and currency codes or symbols
- Units of measurement. Do not convert between unit systems and do not
spell an abbreviation out
- Dates, times and time zones. Do not change the date format
- Reference numbers, document IDs, version numbers, codes and URLs
- Ranges. Keep a range as a range; never replace it with a midpoint
or a single value
- Words expressing uncertainty or possibility: roughly, approximately,
about, may, might, could, expected, estimated, not yet, pending,
possibly, likely, chance. Never make a hedged statement definite
and never delete a hedge
OUTPUT FORMAT:
1. The corrected text only, with no preamble and no commentary
2. Then a section headed CHANGED, listing every word or phrase you
altered, as "original -> corrected"
3. Then a section headed FACTS CHECKED, listing each name, number,
date, unit and identifier from the original and confirming it is
unchanged. If you had to alter one to fix the grammar, say so here
explicitly instead of doing it silently
Do not add information that is not in the text. Do not resolve
ambiguity by choosing an interpretation; if a sentence has two
readings, keep the original wording and flag it under CHANGED.
TEXT:
<paste your document here>Three parts of this prompt do most of the work. The escape clause — 'leave the grammar error instead' — matters more than it looks, because without it the model resolves the conflict between fixing agreement and preserving a fact in favour of fixing agreement. The FACTS CHECKED section forces it to enumerate the tokens, which makes an omission visible rather than silent. And the instruction to flag ambiguity rather than resolve it stops the model picking one of two possible meanings.
What came back
The grammar fixes were correct and there were seven of them: 'Me and Dev' to 'Dev and I', 'the remaining two is' to 'the remaining two are', 'which are roughly 4% below' to 'which is roughly 4% below', 'Its worth noting' to 'It's worth noting', 'the client team have time' to 'the client team has time', a comma before 'and we have not yet confirmed', and a comma after 'Kilmory site'. None of them are in dispute.
Here is what happened to the ten factual tokens.
| # | Original | Returned | Verdict |
|---|---|---|---|
| 1 | Halvern Point | Halvern Point | Clean |
| 2 | SOW-2291-b | SOW-2291-b | Clean |
| 3 | Ines | Inés | CHANGED. An accent was added to a name that does not carry one. The recipient's name is now wrong. |
| 4 | Dev | Dev | Clean |
| 5 | seven of the nine sites | seven of the nine sites | Clean. The agreement fix landed on 'two are' instead, which is where it belonged. |
| 6 | 248,500 EUR | €248,500 | CHANGED. The currency code was replaced with a symbol. Same value, different string — and a contract reference that no longer matches the document it refers to. |
| 7 | roughly 4% | roughly 4% | Clean. The hedge survived because it was named explicitly in the constraint list. |
| 8 | 340 kWh / 18 metric tonnes | 340 kWh / about 18 metric tonnes | CHANGED. 'about' was inserted before a figure that was stated exactly in the original. The measurement is now hedged when it should not be. |
| 9 | 14 November 2026 / 09:30 CET | 14 November 2026 / 9:30 AM CET | PARTLY CHANGED. The date held. The time was reformatted to a 12-hour clock, which is fine for a UK reader and ambiguous for anyone coordinating across regions. |
| 10 | v3.2.1 | v3.2.1 | Clean |
One run, October 2026, ChatGPT on the web, Windows 11. A second run produced a different set of changes, which is the point: the specific tokens that move are not stable, so the audit has to happen every time.
Four of ten tokens changed, and this is the good case — the prompt named all four categories explicitly. Without the fact-lock instruction, the same document came back with the currency converted, the metric tonnes converted to short tons, the date reformatted to a numeric US format, and 'we have not yet confirmed whether the cooling upgrade is needed' rewritten as 'the cooling upgrade is not needed'. That last one inverts the meaning of the sentence while making it read better.
The hedge that becomes a finding
Load measurements at the Kilmory site came in at 340 kWh per cycle, about 18 metric tonnes of throughput per shift, and we have not yet confirmed whether the cooling upgrade is needed to sustain that.
Load measurements at the Kilmory site came in at 340 kWh per cycle, about 18 metric tonnes of throughput per shift, and the cooling upgrade is not needed to sustain that.
What changed. Grammatically this is a better sentence. It is shorter, it is declarative, and it reads as though someone did the work. It also states the opposite of what the writer said. The original records an open question with a cost attached — a cooling upgrade is capital expenditure — and the rewrite closes it, in the negative, on no evidence. This is the failure mode that a proofreading tool can produce and a reader will not catch, because the output has no error in it. Nothing is misspelled, nothing disagrees, and the sentence is now more confident than the person who wrote it was entitled to be.
Uncertainty is a fact, and it is the one that gets deleted
Names and numbers get attention because they look like facts. Hedging language does not, and it is more consequential. 'Roughly', 'may', 'expected', 'pending' and 'not yet' carry the epistemic state of the document — what is known, what is estimated and what is still open. A business update where everything reads as settled is not a cleaner version of the same document. It is a different document with different liabilities attached.
| Original | Rewritten as | What was lost |
|---|---|---|
| we have not yet confirmed X | X is not required | The open question, and the direction of the answer |
| may slip | will slip | The difference between a risk and a commitment |
| there is a chance we will need to revisit | we will revisit | Same. The reader now expects an action nobody approved. |
| roughly 4% | 4% | The tolerance. A precise figure invites precise challenge. |
| expected to complete by | completing by | The estimate becomes a date someone can hold you to |
| about 18 metric tonnes | 18 metric tonnes | Measurement precision you did not claim |
| pending access | access has been arranged / blocked indefinitely | The dependency, which is the actionable part of the sentence |
| I think the contract date applies | the contract date applies | Your uncertainty about your own position — the most expensive deletion on this list |
Notice that the direction is almost always the same. Hedges are removed, never added. Confident prose is the higher-probability continuation, so a model asked to improve writing will move your document toward certainty whether or not the underlying facts support it. That is a systematic bias, not a random error, and it is the reason to check for it specifically rather than hoping a general proofread covers it.
The three-minute audit
Read the whole corrected document and you will not catch these. They are not errors, so reading for errors does not find them. Auditing for tokens does.
Extract the fact list from the original first
Before you paste anything into ChatGPT, scan the original and write down every token that carries a name, a number, a date, a unit, an identifier or a hedge. In the test document above that is the ten-row table. It takes about ninety seconds and it is the step that makes the rest possible.
If you skip this, you will diff against your memory of the document rather than against the document, and your memory has already been overwritten by the output you just read.
Run the prompt with the FACTS CHECKED section
Ask the model to enumerate the tokens itself. It will get most of them right, and the enumeration is what makes an omission visible — a token missing from its own list is a token it touched.
Diff against your list, not against the document
Take your ten-row list and search the output for each token using Ctrl+F. Exact string match. A token that does not match exactly has changed, whatever the reason.
Check the hedges separately
Search the output for each of: roughly, approximately, about, may, might, could, expected, estimated, pending, not yet, possibly, likely, chance. Compare the count against the original. Fewer matches means hedges were deleted.
Re-check the ambiguous cases by reading, not searching
Dates that changed format, times that changed clock, and units that were spelled out will not fail an exact-match search in a way that is obvious. Read those sentences once, in context.
Restore by hand, do not re-run
Fix the four changed tokens manually in the output. Re-prompting for a correction gives you a new generation with new places to drift, and you will be auditing again.
Where ChatGPT is still the right tool
None of this is an argument against using ChatGPT to proofread. For documents without load-bearing facts it is very good, and it is faster than any alternative. The question is which documents those are.
| Document | Risk | Approach |
|---|---|---|
| A blog post or article with no figures in it | Low | Prompt and read once. Fine. |
| An internal Slack or Teams message | Low | Prompt, or skip it entirely |
| A cover letter with no specific numbers | Medium | Prompt, then check every name and every date you mention |
| A client status update like the test document | High | Fact-lock prompt plus the token audit. Do not skip the audit. |
| A quotation, invoice or contract clause | Very high | Do not use a generative model. Correct it by hand or with a tool that returns your text rather than new text. |
| A regulatory, safety or compliance document | Very high | Not without a documented review step. A silently inverted hedge here is not a typo. |
| Anything containing personal data | Very high | Check your organisation's policy on pasting personal data into a third-party service before you do it |
The dividing line is whether the document's value depends on its facts being exactly right. If it does, a tool that generates new text is the wrong shape of tool, however good the generation is. You want something that returns your text with the errors removed, so that the diff is small enough to actually read.
Where you paste it matters too
A secondary problem that compounds the first: the ChatGPT browser interface is a contenteditable editor, and your browser's own spell check behaves differently there than it does in a normal textarea.
- The ChatGPT web app in Chrome, Edge or Firefox runs as a normal web page. A browser extension can reach its composer field, and Chrome's own spell check may or may not underline in it depending on how the field is marked up.
- The ChatGPT desktop apps for Windows and macOS are installed programs. No browser extension can reach them, and their spell check is their own.
- The ChatGPT mobile apps are the same — separate programs, no extension support.
- Errors in ChatGPT's generated answers are a different problem again. No proofreading tool of any kind applies to text the model produced; you have to read it.
The practical consequence: if you want a correction pass on a draft before you paste it into ChatGPT, do it in a browser text field where your tools work, not inside the ChatGPT composer. And if you are proofreading ChatGPT's output, paste that output somewhere you can run a real diff before it goes anywhere near a client.
Where this breaks down
Where this breaks down
The fact-lock prompt reduces these errors; it does not eliminate them. Four of ten tokens still changed in the audited run, and a second run changed a different set.
Workaround: The token audit is mandatory for any document where a fact carries weight. There is no prompt that removes the need for it.
Results are not reproducible. ChatGPT does not expose a stable model identifier to end users, so you cannot pin the behaviour you tested to the behaviour you will get next month.
Workaround: Re-run the audit on your own document types rather than trusting anyone's published results, including ours.
A deleted hedge is invisible to grammar checking and to reading. The output is correct English, so nothing downstream flags it.
Workaround: Count the hedge words before and after. A lower count in the output is the signal, and it is mechanical enough to be reliable.
Pasting a business document into ChatGPT sends it to a third-party service. Many organisations restrict this, and the restriction usually exists because of exactly the document type this article is about.
Workaround: Check your policy first. Where it prohibits submission, use a correction tool with a documented data position, or correct by hand.
Long documents drift further. The more text the model generates, the more chances a token gets regenerated rather than copied, and the audit gets proportionally harder.
Workaround: Proofread in sections of a few hundred words. It is slower per word and considerably more reliable per fact.
The alternative for documents where facts carry weight
Frequently asked questions
Why does ChatGPT change numbers and dates when I only asked it to proofread?
Because it is generating new text rather than editing yours. A figure, a date and a name are token sequences to the model, and each token is predicted. Most of the time the prediction is an exact copy, but where a plausible alternative exists — a unit conversion, a different date format, a currency symbol instead of a code, a midpoint instead of a range — the alternative can win.
Does a better prompt fix it?
It reduces it substantially. Naming the specific categories and giving the model an escape clause — 'if fixing the grammar requires changing a fact, leave the grammar error' — is what makes the difference, because otherwise the model resolves that conflict silently in favour of the grammar fix. In our audited run four of ten tokens still changed with the full fact-lock prompt in place.
What is the most dangerous change ChatGPT makes when proofreading?
Deleting a hedge. 'We have not yet confirmed whether the cooling upgrade is needed' becomes 'the cooling upgrade is not needed'. The output is grammatically better, reads more professionally, and states the opposite of the original. Nothing downstream flags it because there is no error in it.
How do I check the output efficiently?
Extract the fact list from the original before you submit it — every name, number, date, unit, identifier and hedge. Then search the output for each token exactly. Separately, count the hedge words in both versions; a lower count in the output means hedges were removed. For a document under 300 words a plain-text diff is faster.
Can I reproduce the results in this article?
Not exactly. ChatGPT does not expose a stable model identifier to end users, and the same prompt run twice returns different text. The failure categories reproduce; the specific tokens that move do not. Run the audit on your own document types.
Does a browser extension work inside ChatGPT?
In the ChatGPT web app running in Chrome, Edge or Firefox, yes — the composer is a contenteditable field a browser extension can reach. In the ChatGPT desktop or mobile apps, no, because those are separate programs with no extension host. Errors in ChatGPT's generated answers are a different problem that no proofreading tool addresses.
Should I proofread contracts and invoices with ChatGPT?
No. For documents whose value depends on figures being exactly right, a tool that generates new text is the wrong shape of tool however good the generation is. Use something that returns your own text with the errors removed, so the diff is small enough to read in full.
Related guides
ChatGPT and AI writing · 15 min read
How to Stop ChatGPT From Rewriting Your Text When You Only Want Grammar Fixes
Ask ChatGPT to proofread and you usually get a rewrite. This prompt narrows it back to corrections — and the test results show exactly where it still oversteps.
ChatGPT and AI writing · 16 min read
How to Make ChatGPT Show Its Proofreading Changes Instead of Replacing Your Draft
ChatGPT has no tracked-changes mode. But you can make it enumerate every edit as a three-column list you can accept or reject one at a time. Here is the prompt, and what it missed.
Correction basics · 12 min read
Grammar Checker Changing Names or Technical Terms? How to Protect the Words That Matter
A grammar checker that renames your colleague or rewrites an identifier is worse than no grammar checker. Here is how to find out which words yours is changing, and how to stop it.
Written by Raheel Ashraf, builds and maintains one shot fix. Tested October 2026 on Chrome, Edge and Firefox (Windows 11). Last updated 7 October 2026.
Related pages
- All blog posts
- Professional Writing Correction Tool
- Privacy Policy
- How to Stop ChatGPT From Rewriting Your Text When You Only Want Grammar Fixes
- How to Make ChatGPT Show Its Proofreading Changes Instead of Replacing Your Draft
- Grammar Checker Changing Names or Technical Terms? How to Protect the Words That Matter
Write naturally. Send clean.
Correct prompts, emails and messages in the browser field you are already typing in. Free to install.