diff3 - compare three files line by line




Compare three files line by line.

Mandatory arguments to long options are mandatory for short options too.
, --show-all

output all changes, bracketing conflicts

-e, --ed

output ed script incorporating changes from OLDFILE to YOURFILE into MYFILE

-E, --show-overlap

like -e, but bracket conflicts

-3, --easy-only

like -e, but incorporate only nonoverlapping changes

-x, --overlap-only

like -e, but incorporate only overlapping changes


like -x, but bracket conflicts


append ’w’ and ’q’ commands to ed scripts

-m, --merge

output actual merged file, according to -A if no other options are given

-a, --text

treat all files as text


strip trailing carriage return on input

-T, --initial-tab

make tabs line up by prepending a tab


use PROGRAM to compare files

-L, --label=LABEL

use LABEL instead of file name (can be repeated up to three times)


display this help and exit

-v, --version

output version information and exit

The default output format is a somewhat human-readable representation of the changes.

The -e, -E, -x, -X (and corresponding long) options cause an ed script to be output instead of the default.

Finally, the -m (--merge) option causes diff3 to do the merge internally and output the actual merged file. For unusual input, this is more robust than using ed.

If a FILE is ’-’, read standard input. Exit status is 0 if successful, 1 if conflicts, 2 if trouble.


Written by Randy Smith.


Report bugs to: bug-diffutils [AT]
GNU diffutils home page: <>;
General help using GNU software: <>;


Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>;.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


cmp(1), diff(1), sdiff(1)

The full documentation for diff3 is maintained as a Texinfo manual. If the info and diff3 programs are properly installed at your site, the command

info diff3

should give you access to the complete manual.