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.
Tested October 2026 on Chrome, Edge and Firefox (Windows 11)
Free · works in Chrome, Edge and Firefox
On this page
The short answer
ChatGPT cannot show tracked changes. There is no redline mode, no margin markup and no accept-and-reject interface for arbitrary text you paste into the chat. What it can do is enumerate its edits in a table, and that is close enough to be genuinely useful — provided you ask for the table explicitly, because the default response is just the rewritten text.
The prompt below asks for three columns: the original phrase, the corrected phrase, and the reason. It also forbids the model from inventing edits, which is the failure mode you get without that rule. Below the prompt are the results of running it, including what it missed and what it flagged that was not an error.
The three ways to see changes, compared
People searching for tracked changes in ChatGPT are usually looking at three different things. They are not equivalent, and only one of them is a workflow you fully control.
| Approach | What you actually get | What it costs you |
|---|---|---|
| Chat table (the prompt below) | A three-column list of edits in the conversation. You decide what to accept. Works on any text, in any language ChatGPT handles, with no extra tools. | You apply the accepted edits by hand. There is no click-to-accept. |
| ChatGPT Canvas | A side panel for longer documents where the model edits a draft you can revise. Selection and inline editing are available within Canvas itself. | The text has to live in Canvas. It is not a way to review edits to a message you are typing in Gmail or a form field. Availability and behaviour change between account types and releases, so check what your own account offers. |
| Third-party editors such as editGPT | A document editor that sends text to a model and shows highlighted changes with accept and reject controls. | A separate product, a separate account, and your text goes to a third party in addition to the model provider. Features vary widely between tools. |
| A correction extension in the field | Corrected text where you were typing. One Shot Fix shows the corrected version in a popup; it does not highlight which words changed. | No diff. You read the corrected text as a whole rather than reviewing a change list. |
The honest summary: if what you need is a reviewable list of changes, a chat table or a dedicated editor gives you that and an in-field correction tool does not. If what you need is speed on short everyday text, the in-field tool wins and the table is overhead. They solve different problems, and this article is about the first one.
The change-list prompt
Copy this. Replace the placeholder at the bottom.
Proofread the text below and report your edits as a Markdown table.
Columns, in this order:
| Original phrase | Corrected phrase | Reason |
Rules:
1. Report only genuine errors in grammar, spelling, punctuation and
agreement. Do not report style preferences, concision suggestions,
tone changes or vocabulary upgrades.
2. If you are tempted to suggest something that is not an error,
leave it out. An empty table is a correct answer.
3. Quote the smallest phrase that shows the error. Do not quote
whole sentences unless the error is the sentence structure.
4. The Reason column must name the rule, for example "subject-verb
agreement", "comma splice", "misspelling", "wrong homophone".
Never write "reads better" or "clearer".
5. Never change proper nouns, names, numbers, dates, units, URLs,
filenames, code or technical terms. Do not report them as errors.
6. Never change the level of certainty or formality. Keep hedges,
contractions and informal register exactly as written.
7. If a sentence is ambiguous and the correct fix depends on what
the writer meant, do not choose. Add it to a section below the
table called "Needs a human decision" and explain the two
readings.
8. After the table, add a line: "Errors found: N" and a line
"Sentences unchanged: M of T".
9. Do not output a corrected version of the text. The table is the
deliverable.
Text:
<paste your text here>Four of those rules are doing real work. Rule 2 stops the model padding the table, which it will otherwise do because an empty table looks like a failure. Rule 4 forces a nameable grammatical rule, which is the filter that separates errors from preferences — 'reads better' is not a reason and cannot survive that column. Rule 7 is the one most people omit and most need: it gives the model somewhere to put ambiguity instead of resolving it silently. Rule 9 prevents the model from also returning a rewrite you did not ask for.
The test text
This is the paragraph we ran. It contains a deliberate mix of mechanical errors, agreement errors buried in long noun phrases, one ambiguous sentence, and several things that are stylistically loose but not wrong.
Me and the infra team has been looking at the incident from last tuesday, and their is two things we still dont understand. The dashboards shows a spike in 5xx responses starting at 14:02 UTC but the deploy log dont record any release in that window, which suggest the trigger was upstream. We think the connection pool might of been exhausted when the caching layer restarted, althought we cant prove it from the logs we have. Going forward the plan is to add a alert on pool saturation and to review the timeout values, which is currently set to 30 seconds across all of the services. I will send a summary to the client on friday unless you want me to hold it.For reference, the errors planted in that paragraph are: 'Me and the infra team has' (two errors — pronoun case and agreement), 'last tuesday' (capitalisation), 'their is' (wrong homophone), 'two things we still dont understand' (missing apostrophe), 'The dashboards shows' (agreement), 'the deploy log dont record' (agreement), 'which suggest' (agreement), 'might of' (wrong word), 'althought' (misspelling), 'cant' (missing apostrophe), 'a alert' (wrong article), 'which is currently set' (agreement with 'values'), and 'friday' (capitalisation). That is thirteen, plus one genuinely ambiguous sentence at the end.
What the table returned
| Original phrase | Corrected phrase | Reason |
|---|---|---|
| Me and the infra team has | The infra team and I have | Pronoun case and subject-verb agreement |
| last tuesday | last Tuesday | Capitalisation of a day |
| their is two things | there are two things | Wrong homophone and subject-verb agreement |
| we still dont understand | we still don't understand | Missing apostrophe in a contraction |
| The dashboards shows | The dashboard shows | Subject-verb agreement |
| the deploy log dont record | the deploy log doesn't record | Subject-verb agreement |
| which suggest | which suggests | Subject-verb agreement |
| might of been | might have been | Wrong word |
| althought | although | Misspelling |
| we cant prove | we can't prove | Missing apostrophe in a contraction |
| add a alert | add an alert | Wrong indefinite article before a vowel sound |
| timeout values, which is currently set | timeout values, which are currently set | Subject-verb agreement |
| on friday | on Friday | Capitalisation of a day |
Reproduced from a run in October 2026. Your output will differ in wording and possibly in coverage.
Under the table the model added the ambiguity flag we asked for in rule 7, in a section titled 'Needs a human decision': the final sentence 'I will send a summary to the client on friday unless you want me to hold it' is unclear about whether 'it' refers to the summary or the sending, and about who 'you' is. That is a correct call. The sentence is grammatically fine and semantically ambiguous, and silently rewriting it would have picked an interpretation the writer may not have meant.
What it missed
This is the section that matters. A change list you cannot trust is worse than no change list, because it makes you stop reading carefully.
| Missed item | Why it matters | How often |
|---|---|---|
| 'The dashboards shows' — the model changed the noun instead of the verb | Both fixes are grammatical, but they mean different things. One dashboard showing a spike is a different claim from several dashboards showing one. The model chose silently. | On most runs. The plural-to-singular direction is the model's default. |
| The missing comma before 'although' | A subordinating conjunction mid-sentence usually takes a comma. Not universally an error, so an omission here is defensible, but it was not reported either way. | Consistently omitted. |
| 'which is currently set to 30 seconds across all of the services' — the antecedent of 'which' | The relative clause attaches to 'timeout values', but reads as if it attaches to 'the plan'. The model fixed the verb agreement and left the ambiguity. | On every run. |
| '14:02 UTC' versus 'last tuesday' — inconsistent time reference | Not a grammar error at all, but the paragraph mixes a precise UTC timestamp with a bare weekday. A human editor would flag it. | Never flagged, which is expected: rule 1 restricts the model to grammar. |
What it flagged that was not an error
Rules 1, 2 and 4 suppress most of this, but not all of it. These are the false positives that survived the prompt across runs.
| Flagged as | Why it is not an error |
|---|---|
| 'across all of the services' — suggested 'across all services' | Dropping 'of the' is a concision preference. The original is grammatical and common in speech. |
| 'Going forward the plan is' — suggested a comma after 'Going forward' | Defensible but optional. Introductory adverbial phrases of two words frequently go without a comma, and both readings are correct. |
| 'I will send a summary' — suggested 'I'll send a summary' in one run | A formality change in the opposite direction to the usual one. The original is not an error, and the contraction would not suit a client-facing commitment. |
| 'we think the connection pool might of been' — one run also softened 'We think' to 'We believe' | A register upgrade presented as an error. 'We think' is a deliberate hedge in an incident write-up and should stay. |
Notice that every one of these has a plausible-sounding reason attached. That is why rule 4 forbids 'reads better' and 'clearer' — it does not stop the false positives, but it makes them easier to spot, because a preference dressed as a rule usually names a rule that does not exist.
Applying the edits without re-typing everything
The table is the deliverable, so you still have to make the changes. Here is the fastest way that does not involve rebuilding the paragraph by hand.
Reject rows first, before you touch the text
Go down the Reason column and cross out anything that is a preference rather than a rule. In our test that removed four of seventeen rows. Do this before you start editing so you are not switching between judging and typing.
Check the ambiguous section
Read the 'Needs a human decision' entries and make the call yourself. This is the part no tool can do.
Use find-and-replace in your own editor
For a document, work through the accepted rows with Ctrl+F and replace each original phrase with its corrected version. For a short message in a browser field, do it by hand — the overhead of find-and-replace is larger than the edit.
Re-read the whole paragraph once
Twelve small edits can leave a sentence rhythmically broken even when every clause is now grammatical. Read the final version end to end.
When a change table is the wrong tool
This workflow costs you a prompt, a wait, an audit and a round of manual edits. That is a good trade for a 300-word incident report going to a client. It is a bad trade for a Slack reply.
| Situation | Better tool | Why |
|---|---|---|
| A client-facing document over 200 words | Change table | You want to see and judge every edit, and the reading cost is small relative to the document. |
| A message you are about to send in a browser field | In-field correction | The round trip out of the composer and back costs more than the correction is worth. |
| Text with many technical terms or names | Change table, or an in-field tool with a protected-words list | You need to verify that identifiers survived, and a table shows you that explicitly. |
| A draft you are not sure about structurally | Neither — ask for feedback, not proofreading | A change table only covers sentence-level errors. If the argument is wrong, fixing the commas is wasted work. |
| The same kind of text every day | In-field correction | You learn the tool's habits after a week and stop needing the audit. |
For the in-field case, be clear about what you get. One Shot Fix shows the corrected text in a popup and you click Apply. It does not highlight the changed words and it does not produce a change list, so review means reading the corrected version rather than scanning a table. If a diff view is a hard requirement for how you work, use the ChatGPT table workflow above and do not expect it from an in-field tool.
Where this breaks down
Where this breaks down
ChatGPT has no native tracked changes. Nothing in this article gives you accept-and-reject controls on your own document; you are reading a table and editing by hand.
Workaround: Use the two-step follow-up described above to have the model apply only the rows you approved, or use a dedicated document editor with real revision tracking.
The model silently chooses between equally grammatical fixes. Changing 'dashboards shows' to 'dashboard shows' is presented as an agreement fix and hides a meaning change.
Workaround: Re-read any row where the corrected phrase changes a noun, a number or a verb tense rather than adding punctuation or fixing a spelling.
Long documents get truncated. The table stops partway and the 'Errors found' count reflects only what it processed, with no obvious signal that it gave up.
Workaround: Send text in sections under a few hundred words and check that the reported sentence count matches what you sent.
Output is not stable. The same paragraph run twice produces overlapping but different tables, so you cannot treat one run as a definitive audit.
Workaround: For high-stakes documents, run it twice and take the union of both tables, then judge each row yourself.
Your text is sent to the model provider. For incident reports, legal correspondence or anything under NDA, that is a data path you may not be permitted to use.
Workaround: Check your organisation's policy before pasting internal documents into any AI tool.
Frequently asked questions
Does ChatGPT have a tracked changes mode?
No. There is no redline or accept-and-reject interface for text you paste into the chat. The closest equivalent is asking for a structured table of edits, which is what the prompt in this article produces.
What about ChatGPT Canvas?
Canvas is a side panel for working on longer documents, with inline editing inside the panel. It is not a way to review edits to text you are typing somewhere else, and its availability and behaviour differ by account type and release. Check what your own account offers rather than relying on a description.
Why does ChatGPT invent errors when I ask it to proofread?
Because an empty or near-empty response looks like a failure, so the model pads the table with style preferences. Add an explicit rule that an empty table is a correct answer, and require the reason column to name a grammatical rule rather than say 'reads better'.
Does One Shot Fix show which words changed?
No. The popup shows the corrected text and you click Apply. There is no diff highlighting and no change list, so reviewing means reading the corrected version. Use the ChatGPT table workflow if you need to see each edit enumerated.
Is the change table reliable enough to skip my own review?
No. In our test it found thirteen real errors and produced four false positives, missed an ambiguous relative clause on every run, and silently changed a plural noun to singular while reporting it as an agreement fix. Treat the table as a draft audit, not a verdict.
Can I use this prompt for long documents?
Only in sections. ChatGPT truncates long inputs and the reported counts will not tell you it did. Send a few hundred words at a time and confirm the sentence count in the output matches what you sent.
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 · 21 min read
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.
Correction basics · 9 min read
Grammar Checker That Doesn't Rewrite Your Text
Why some writing tools over-edit, and how to test any checker with a repeatable three-text method before you trust 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.
Write naturally. Send clean.
Correct prompts, emails and messages in the browser field you are already typing in. Free to install.