Diff bytes
Byte-by-byte comparison of two files: where they diverge, by how much, and where they realign.
Runs on your device. The file is never uploaded.
Diff bytes compares exactly two files position by position and prints how many of the shared bytes differ. Each differing region follows as a hex start and end offset with its byte count, run-length collapsed, and the listing stops after 100 of them. The comparison is positional, so inserting one byte makes everything after it read as different.
Questions
How do I read the output?
The first line counts how many of the compared bytes differ. Then, if the two files are different sizes, a line reporting both sizes and noting that only the shared leading bytes were compared. Then a list of differing regions, each as a hex start offset, a hex end offset and the length of the run. Identical files return one line: identical, followed by the byte count.
Why does it list regions instead of every differing byte?
Because a byte-by-byte list of a shifted file is useless. Differences are run-length encoded, so a 300-byte changed block prints as one region rather than 300 lines. The listing stops after 100 regions, so a file with thousands of scattered differences shows the first hundred and the total count on the first line still covers the whole comparison.
Why does everything differ after one small change?
Because the comparison is positional, not alignment aware. Inserting or deleting a single byte shifts every byte after it, so this reports one enormous differing region. That is a correct answer to the question asked and the wrong question for an insert. Use it for files of the same layout: two firmware images, a file before and after a patch, an original and a suspected tampered copy.
Why did it refuse to run?
It takes exactly two files, and it says so: "diff-bytes needs exactly 2 files, got 3". Drop the two you want to compare and nothing else. For three or more files, use Offset checker, which compares them all position by position.
What happens when the files are different sizes?
Only the shared leading bytes are compared, up to the length of the shorter file, and the output says how many that was and reports each file's size. The extra tail of the longer file is not shown or analysed. If you expect an appended payload, run Scan for embedded files on the longer one.
Are my two files uploaded to be compared?
No. Both are read in your browser and compared in a Web Worker in this tab. There is no upload, no account and no temporary copy, which matters when the two files are an evidence image and a reference build. It works with the network off.