Choose the result you need

Your taskAsk ChatGPT forCheck yourself
Compare an old and a revised versionAdded, removed, changed, and important unchanged terms, with both locationsNumbers, exceptions, moved clauses, and sections the model did not mention
Compare two different documentsA topic-by-topic matrix of agreement, conflict, and missing coverageWhether the documents actually address the same question; a blank cell is not automatically a contradiction
Find every wording or formatting editUse a dedicated redline first; ask ChatGPT to explain the consequential edits afterwardThe redline and the original files, especially where layout or tracked changes matter

ChatGPT's file-upload guidance lists comparing two documents as a supported task. Support for an uploaded format does not establish that every passage, table, or image was read correctly. For an exact revision record in Word, Word Compare shows changes in a new document by default, leaving the two source documents intact.

Put both sources in one chat

Attach both files to a new chat, or paste two short texts with clear Document A and Document B boundaries. Name the baseline and revision if these are versions of one document. If they are different documents, name their roles instead, such as requirements and proposal. Tell ChatGPT the question you need to answer: a policy change, a contract clause difference, conflicting figures, or coverage of a set of requirements.

Before asking for differences, check that the model can identify the files and their main headings. A date, owner, or version label helps when it exists, but an essay or research paper should not fail merely because it has no policy owner. If a file is incomplete, the version is disputed, or text is unreadable, resolve that before trusting a comparison.

Start with an input check
I attached two documents. Treat [filename] as Document A and [filename] as Document B.
My comparison goal is: [one sentence].
First list the title or opening identifier and main headings you can read in each file.
If text, pages, tables, or sections are missing or unreadable, tell me where.
Do not infer a date, owner, or document status that the files do not state.
Wait for my confirmation before comparing them.

For sensitive documents, obtain the permission your organization requires before uploading them. The synthetic policy in the example below was pasted into a Temporary Chat; that does not make Temporary Chat an approval route for real confidential files. OpenAI's Temporary Chat guidance explains its history, training, and retention behavior.

Ask for a comparison you can verify

For two versions of the same document, compare sections by subject before comparing section numbers. A clause can move without changing its meaning. Decide what matters for your task: a deadline, amount, eligibility rule, required action, exception, responsible person, or new or removed provision. Spelling and layout can be set aside when you only need changes in meaning, but they belong in scope if you need an exact editorial review.

Comparison prompt
Compare Document A and Document B for [my goal].
These are [two versions of one document / different documents].
For each relevant point, give me:
1. the topic;
2. a short supporting quote and page or section from A;
3. a short supporting quote and page or section from B;
4. changed, unchanged, added, removed, agreement, conflict, or gap, as applicable;
5. what the difference means in plain English; and
6. anything you cannot verify from the files.
Keep exceptions, thresholds, dates, and units in the quoted scope.
Do not invent a reason for a change. If a page number is unavailable, use a heading and an exact excerpt.
If one file does not cover a topic, write NOT FOUND and name the headings you checked instead of inventing a quote.

Do not ask for “one row per expected change” unless you already have an independent answer key. Most readers do not. Start with a section or topic map, inspect unmatched sections, and then check the categories that matter to the decision. If the two files are unrelated, use not covered for a topic present in only one; calling it a “removed clause” would imply a version history that does not exist.

Here are three rows from the downloadable workshop-policy practice set. The short quotes make the conclusion checkable without hiding a condition:

TopicVersion AVersion BFinding
Eligibility§1: “any paid workshop”§1: “paid workshops priced above $20”Changed: the proposed policy adds a price threshold. Whether exactly $20 is intentionally excluded needs owner review.
Refund method§2: “original payment method”§2: “original payment method, except cash payments, which are refunded by check”Changed only for cash payments. Saying every refund changes to a check would be wrong.
Processing target§2: “15 business days after approval”§2: “15 business days after approval”Unchanged. Keep it visible if reviewers need to confirm the target survived the revision.

A new section takes a different kind of check. Version B adds a weather-closure rule, but “not present in A” is not a quotation from A. Inspect A's full section map and search for the same rule under another heading before recording it as new.

Audit the table against the originals

Open both files for every row that could affect a decision. Read the sentence around each excerpt, not just the model's quotation. Confirm the threshold and unit, whether an exception applies to all cases or only one, and whether a cross-reference changes the apparent meaning. A convincing citation can still point to a misread passage. Mark a row needs review when the source does not settle it.

Use the model to surface possible errors, then check them yourself
Audit the comparison table against both attached files.
For every row, show the exact supporting excerpts and locations.
Flag a missing quote, changed number or unit, overstated exception, or claim that a provision is absent without checking the full section map.
Return PASS, CORRECT, or UNRESOLVED for each row and explain why.
Do not change an unresolved row into PASS just to complete the table.

This second prompt is a way to find candidates for correction, not independent proof. Check the flagged rows yourself. Also scan both outlines for sections missing from the table, and search the originals for important numbers, dates, names, and exceptions. If the output is meant for someone else, keep the detailed table beside a short summary that links each conclusion back to its row.

Adjust the method when the files are harder to compare

SituationAdjustmentStop or verify when
Two different document types, such as a proposal and requirementsList the requirements or questions first, then compare what each file says about each one.A topic absent from one file is a coverage gap; it is not evidence that a previously agreed term was removed.
Long files with moved sections or cross-referencesMap headings by function, compare one topic at a time, and retain page or heading references in the table.The model cannot identify a relevant section, or a cited clause depends on another section you have not read.
Scanned PDFs, image-heavy files, or figuresCheck the extracted text and use accessible or OCR-checked copies when needed. Compare visual content separately if it matters.Text is missing or a claim relies on an image the upload did not expose. Image handling depends on plan and file type.
Contracts, rights, money, or regulated policiesUse the organization's approved comparison and review process; use ChatGPT to organize questions and explain changes.A clause's legal or operational effect needs an authorized specialist, or uploading the source is not approved.

Work through the policy example

Download the fictional Version A and Version B. Version A has five numbered sections; B has six. The editor wrote an expected change key before the retained ChatGPT run. That key is for checking this exercise, not a prerequisite for comparing your own files. The screenshots show parts of a real signed-in ChatGPT run with the synthetic text; they are not a complete transcript or a test of every file format.

Map and classify

The first response paired sections by purpose and identified Weather closure as a new section. It also recorded which version was the approved baseline and which was the proposed replacement. The next prompt classified changes to eligibility, deadlines, money, method, entitlement, approver, owner, required action, and exceptions as consequential for this policy. Those categories would change for another kind of document.

Retained ChatGPT input inventory showing Version A and Version B labels dates owners section counts and section map
Step 1 — Freeze both versions and map sections before comparing wording. Credit: Grow AI Skills retained ChatGPT viewport screenshot. Open full-size image.
Retained ChatGPT materiality contract defining material and non-material document changes with stop conditions
Step 2 — The contract defines evidence and stop conditions before the model sees the desired answer. Credit: Grow AI Skills retained ChatGPT viewport screenshot. Open full-size image.

Draft and challenge the findings

The draft ledger used eight rows, including an unchanged 15-business-day processing target. Before accepting it, the editor deliberately inserted four false candidate statements, including “every refund uses a check” and “the processing target changes to 10 days.” ChatGPT rejected the planted errors in the retained exercise. That result shows how this particular audit prompt handled known mistakes; it does not establish that another comparison will catch every omission or misreading.

Retained ChatGPT draft document change ledger with source facts locations materiality and review state
Step 3 — The draft remains NEEDS_SOURCE_AUDIT until every row is checked in both versions. Credit: Grow AI Skills retained ChatGPT viewport screenshot. Open full-size image.
Retained ChatGPT audit failing planted eligibility payment target and weather-rule errors while passing an accurate deadline change
Step 4 — Deliberate mutations prove the audit can reject plausible but source-wrong statements. Credit: Grow AI Skills retained ChatGPT viewport screenshot. Open full-size image.

The corrected ledger limits the check exception to cash, preserves the unchanged processing target, and includes the five-day refund-request window in the new weather rule. The reviewer handoff links conclusions to row IDs and leaves five questions for the policy owner, including whether a workshop priced exactly at $20 was meant to be excluded.

Retained ChatGPT corrected eight-row change ledger preserving an unchanged processing target and exact weather refund window
Step 5 — The corrected ledger bounds the cash exception, preserves CH-04, and restores the five-day weather window. Credit: Grow AI Skills retained ChatGPT viewport screenshot. Open full-size image.

What the downloadable check actually checks

The local Python check reads the final ledger and handoff. It checks row IDs, selected expected phrases, the number of owner questions, and review-state wording. The retained result passes those eight structure checks. The script does not read Version A or B, verify quotations, or discover missing changes. Run it only with the practice files; use the manual source audit above for a real comparison. The review kit bundles the exercise files and screenshots.

For this fictional policy, the final state is READY_FOR_OWNER_REVIEW. The owner still has to settle the open questions before any publication or operational use. If you cannot locate a supporting passage, cannot confirm which version is authoritative, or cannot read material parts of a file, leave the affected conclusion unresolved.