What an exact match means
The checker compares the selected file against the UTF-8 bytes prepared from the current text field. It shows the byte count and a SHA-256 fingerprint, then compares every byte when you select a file. A match means those bytes agree. It does not prove the transcript is complete, accurately recognized, correctly attributed, or approved for reuse.
A word can be wrong before the file is prepared and still produce a perfect file match. Check important wording against the original video using our quote-review guide. This page handles the next problem: whether the text you reviewed survives delivery as the expected TXT file.
Ten constructed export checks, actually run
On October 31, 2026, we ran the export core on six author-written text samples and compared each UTF-8 Blob back to its prepared bytes. All six matched. We then changed a separate prepared sample in four specific ways. All four altered files returned a mismatch. These are deterministic file checks, not a test of Instagram audio, a speech-recognition accuracy score, or an estimate of how often real files fail.
| Constructed case | Expected | Read back | Result |
|---|---|---|---|
| Plain text | 24 | 24 | Match |
| Curved quotation marks | 29 | 29 | Match |
| Accents and emoji | 21 | 21 | Match |
| Blank lines | 23 | 23 | Match |
| A tab inside a line | 13 | 13 | Match |
| Leading and trailing spaces | 22 | 22 | Match |
| UTF-8 BOM added | 42 | 45 | Mismatch |
| LF changed to CRLF | 42 | 43 | Mismatch |
| Trailing spaces removed | 42 | 40 | Mismatch |
| Curved quotes replaced | 42 | 38 | Mismatch |
- Plain text. The original sentence produces the same bytes after a Blob round trip. This is the basic copy-through control, with no recognition or rewriting involved.
- Curved quotation marks. Curved quotation marks and apostrophes stay in UTF-8. Replacing them with straight marks would create a different file even when the sentence still looks familiar.
- Accents and emoji. The accented letters, long dash, and rocket emoji use more than one UTF-8 byte. The displayed byte count is therefore not a character count.
- Blank lines. The empty line is part of the prepared text. A tool that removes it would change the exported bytes, so we retain it rather than silently compacting paragraphs.
- A tab inside a line. The tab remains a tab instead of becoming spaces. An editor may display it at a different width without changing the underlying file.
- Leading and trailing spaces. The spaces at the beginning and end remain in the output. We check for empty input without trimming a nonempty transcript before export.
- UTF-8 BOM added. We deliberately put the three UTF-8 BOM bytes before the prepared bytes. The comparison rejects this altered file, even though some text readers hide the mark.
- LF changed to CRLF. We deliberately replace the line-feed byte with a carriage return followed by line feed. The words look the same, but an exact byte comparison correctly reports a difference.
- Trailing spaces removed. We deliberately trim the final spaces. The selected file is shorter; the checker reports a mismatch rather than treating a visually tidy ending as an exact copy.
- Curved quotes replaced. We deliberately replace curved quotation marks with straight marks. This is another readable but different file. The check does not decide whether either typography is preferable.
The four changed files started from the same 42-byte reference. The BOM version had 45 bytes; the CRLF version had 43; the trimmed version had 40; the straight-quote version had 38. Comparing only the visible words would miss several of these differences. An exact-byte mismatch still does not tell you whether a formatting change is harmful for your particular editor.
Download the original samples, hashes, and actual results. The test used the same export core loaded by this page. To repeat it with Node.js, place the core beside this reproduction script and run node reproduce.mjs. The script makes no network requests.
Read the counts without mixing them up
Our accent-and-emoji sample café — naïve 🚀
produced 21 UTF-8 bytes. That is a file length, not the number of spoken words. The plain-text control produced 24 bytes. Both passed the same exact comparison; a larger byte count does not indicate a better or worse transcript.
The browser text field represents line breaks as LF. Preparing a file does not append a final newline, trim spaces, rewrite quotation marks, or add a BOM. A leading U+FEFF already in pasted text is content and is retained. If an editor rewrites the downloaded file to CRLF or adds a BOM, the comparison reports a difference. Keep the original download when exact bytes matter.
Empty or whitespace-only text is refused rather than exported as an empty-looking file. A prepared text buffer or selected file larger than 1 MiB is also refused. These are this local checker’s limits; they do not increase the separate video retrieval allowance.
Questions about the Reel and the file
Can I check a transcript from another tool?
Yes. Paste the text you want to deliver, prepare the TXT, then compare a file against that prepared version. This does not fetch or verify the original video. For a word-for-word quotation, listen to the source separately.
Why does my editor show the same words but report a mismatch?
Encoding markers, line endings, spaces, or quotation marks can change bytes without making the text obviously different. The checker reports the first differing byte and both file lengths. It leaves the selected file untouched.
What if the public Reel cannot be retrieved?
The transcription panel shows the service’s actual error and does not substitute a sample transcript. You can still check an existing transcript locally. Private or restricted media is not unlocked by this page.
Does preparing a TXT upload my pasted text?
No. Preparing, fingerprinting, and comparing files happen in this browser. Only submitting the public video URL uses our cloud transcription service. See the privacy policy for that processing.