---
name: "tdcompare"
section: "1"
platform: "linux"
package: "termdebug"
version: "2.2+dfsg-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tdcompare"
---

# tdcompare(1)

compare two recordings of a terminal program

## NAME

tdcompare - compare two recordings of a terminal program

## SYNOPSIS

**tdcompare** \[*OPTIONS*\]... *OLD* *NEW*

## DESCRIPTION

**tdcompare** compares two recordings of a terminal program to determine whether they represent the same output. The comparison can be both at the input/output level, or at the visual level. When comparing at the input/output level, the difference will be reported as line numbers in the *OLD* and *NEW* files. For visual comparisons, a textual description of the first difference can be produced, and a picture of the first different terminal state can be written (if **termdebug** was compiled with Cairo support).

**tdcompare** is useful to verify that a new recording of the same program produced the same result. To do on-line verification, use [**tdreplay**(1)](/tdreplay/1.md) instead.

## OPTIONS

**tdcompare** accepts the following options:

- **-h**, **--help**

  Display a short help message.

- **-V**, **--version**

  Print version and copyright information.

- **-v**, **--visual-compare**

  Check for visual equality, rather than exact input/output behaviour. (Requires a build with ncurses support.)

- **-D**, **--describe**

  Write a description of the first visual difference encountered. Only useful with **-v**/**--visual-compare**. (Requires a build with ncurses support.)

- **-p** *name*, **--picture**=*name*

  Write a picture of the difference to *name*. Only useful with **-v**/**--visual-compare**. (Requires a build with ncurses and Cairo support.)

- **-f** *font*, **--font**=*font*

  Use *font* to show text in generated pictures. Only useful with **-p**/**--picture** or **-P**/**--picture-series**. (Requires a build with ncurses and Cairo support.)

- **-W** *width*, **--cell-width**=*width*

  Use cells of *width* pixels wide in generated pictures. Only useful with **-p**/**--picture** or **-P**/**--picture-series**. (Requires a build with ncurses and Cairo support.)

- **-H** *height*, **--cell-height**=*height*

  Use cells of *height* pixels wide in generated pictures. Only useful with **-p**/**--picture** or **-P**/**--picture-series**. (Requires a build with ncurses and Cairo support.)

- **-P** *name*, **--picture-series**=*name*

  Create a series of pictures, representing the different visual steps in the client interface, using *name* as the file name template. *name* is a [**printf**(3)](/printf/3.md) format string, where a single d-type conversion is required. (Requires a build with ncurses and Cairo support.)

- **-s**, **--stop-on-difference**

  Stop when the first visual difference is found. Only valid with **-P**/**--picture-series**.

To stop **tdcompare** from interpreting file names that start with a dash as options, one can specify a double dash (--) after which tdreplay will interpret any following arguments as files to read.

## BUGS

If you think you have found a bug, please check that you are using the latest version of **termdebug** \<http://os.ghalkes.nl/termdebug\>. When reporting bugs, please include a minimal example that demonstrates the problem.

## AUTHOR

G.P. Halkes \<termdebug@ghalkes.nl\>

## COPYRIGHT

Copyright © 2010,2012-2013 G.P. Halkes\
 **termdebug** is licensed under the GNU General Public License version 3.\
 For more details on the license, see the file COPYING in the documentation directory. On Un\*x systems this is usually /usr/share/doc/termdebug.

## SEE ALSO

[**termdebug**(1)](/termdebug/1.md), [**tdrecord**(1)](/tdrecord/1.md), [**tdrerecord**(1)](/tdrerecord/1.md), [**tdview**(1)](/tdview/1.md), [**tdreplay**(1)](/tdreplay/1.md)
