diffoscope 306


pip install diffoscope

  Latest version

Released: Sep 07, 2025


Meta
Author: Diffoscope developers
Requires Python: >=3.7

Classifiers

Development Status
  • 5 - Production/Stable

Intended Audience
  • Developers

License
  • OSI Approved :: GNU General Public License v3 or later (GPLv3+)

Operating System
  • POSIX

Programming Language
  • Python
  • Python :: 3
  • Python :: 3.7
  • Python :: 3.8
  • Python :: 3.9
  • Python :: 3.10

Topic
  • Utilities

diffoscope

https://badge.fury.io/py/diffoscope.svg

diffoscope will try to get to the bottom of what makes files or directories different. It will recursively unpack archives of many kinds and transform various binary formats into more human-readable form to compare them. It can compare two tarballs, ISO images, or PDF just as easily.

It can be scripted through error codes, and a report can be produced with the detected differences. The report can be text or HTML. When no type of report has been selected, diffoscope defaults to write a text report on the standard output.

diffoscope was initially started by the “reproducible builds” Debian project and now being developed as part of the (wider) “Reproducible Builds” initiative. It is meant to be able to quickly understand why two builds of the same package produce different outputs. diffoscope was previously named debbindiff.

See the COMMAND-LINE EXAMPLES section further below to get you started, as well as more detailed explanations of all the command-line options. The same information is also available in /usr/share/doc/diffoscope/README.rst or similar.

Exit status

Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.

Command-line examples

To compare two files in-depth and produce an HTML report, run something like:

$ bin/diffoscope --html output.html build1.changes build2.changes

diffoscope will exit with 0 if there’s no differences and 1 if there are.

To get all possible options, run:

$ bin/diffoscope --help

If you have enough RAM, you can improve performance by running:

$ TMPDIR=/run/shm bin/diffoscope very-big-input-0/ very-big-input-1/

By default this allowed to use up half of RAM; for more add something like:

tmpfs   /run/shm    tmpfs   size=80%    0   0

to your /etc/fstab; see man mount for details.

External dependencies

diffoscope requires Python 3 and the following modules available on PyPI: libarchive-c, python-magic.

The various comparators rely on external commands being available. To get a list of them, please run:

$ bin/diffoscope --list-tools

Contributors

Lunar, Reiner Herrmann, Chris Lamb, Mattia Rizzolo, Ximin Luo, Helmut Grohne, Holger Levsen, Daniel Kahn Gillmor, Paul Gevers, Peter De Wachter, Yasushi SHOJI, Clemens Lang, Ed Maste, Joachim Breitner, Mike McQuaid. Baptiste Daroussin, Levente Polyak.

Contact

The preferred way to report bugs about diffoscope, as well as suggest fixes and requests for improvements is to submit reports to the issue tracker at:

https://salsa.debian.org/reproducible-builds/diffoscope/issues

For more instructions, see CONTRIBUTING.rst in this directory.

Join the users and developers mailing-list: <https://lists.reproducible-builds.org/listinfo/diffoscope>

diffoscope website is at <https://diffoscope.org/>

License

diffoscope is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

diffoscope is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with diffoscope. If not, see <https://www.gnu.org/licenses/>.

See also

  • <https://diffoscope.org/>

  • <https://wiki.debian.org/ReproducibleBuilds>

306 Sep 07, 2025
305 Aug 22, 2025
304 Aug 22, 2025
303 Aug 01, 2025
302 Jul 25, 2025
301 Jul 11, 2025
300 Jun 27, 2025
299 Jun 20, 2025
298 Jun 13, 2025
297 May 30, 2025
296 May 16, 2025
295 May 09, 2025
294 Apr 11, 2025
293 Mar 29, 2025
292 Mar 29, 2025
291 Mar 21, 2025
290 Mar 21, 2025
289 Feb 21, 2025
288 Feb 07, 2025
287 Jan 31, 2025
286 Jan 24, 2025
285 Jan 17, 2025
284 Dec 06, 2024
283 Nov 08, 2024
282 Oct 25, 2024
281 Oct 18, 2024
280 Oct 11, 2024
277 Aug 30, 2024
276 Aug 18, 2024
275 Aug 16, 2024
274 Aug 09, 2024
273 Jul 31, 2024
272 Jul 05, 2024
271 Jun 07, 2024
270 Jun 04, 2024
269 May 31, 2024
268 May 24, 2024
267 May 17, 2024
266 May 10, 2024
265 Apr 19, 2024
264 Apr 12, 2024
263 Apr 05, 2024
262 Mar 29, 2024
261 Mar 22, 2024
260 Mar 08, 2024
259 Mar 01, 2024
258 Feb 23, 2024
257 Feb 12, 2024
256 Feb 09, 2024
255 Jan 26, 2024
254 Jan 19, 2024
253 Dec 08, 2023
252 Nov 17, 2023
251 Nov 06, 2023
250 Nov 06, 2023
249 Sep 01, 2023
248 Aug 25, 2023
247 Aug 04, 2023
246 Jul 28, 2023
245 Jul 21, 2023
244 Jul 14, 2023
243 Jun 23, 2023
242 May 05, 2023
241 Apr 21, 2023
240 Mar 31, 2023
239 Mar 17, 2023
238 Mar 01, 2023
237 Feb 28, 2023
236 Feb 17, 2023
235 Feb 10, 2023
234 Jan 30, 2023
233 Jan 20, 2023
232 Jan 13, 2023
231 Jan 06, 2023
230 Dec 30, 2022
229 Dec 20, 2022
228 Dec 02, 2022
227 Nov 18, 2022
226 Nov 04, 2022
224 Oct 07, 2022
223 Sep 30, 2022
222 Sep 23, 2022
221 Aug 19, 2022
220 Jul 29, 2022
219 Jul 15, 2022
218 Jul 08, 2022
217 Jun 23, 2022
216 Jun 10, 2022
215 Jun 03, 2022
214 May 27, 2022
213 May 20, 2022
212 May 13, 2022
211 Apr 28, 2022
210 Apr 15, 2022
209 Mar 27, 2022
208 Mar 25, 2022
207 Mar 04, 2022
206 Feb 25, 2022
205 Feb 19, 2022
204 Feb 11, 2022
203 Feb 04, 2022
202 Jan 28, 2022
201 Jan 21, 2022
200 Jan 14, 2022
199 Jan 07, 2022
198 Dec 31, 2021
197 Dec 17, 2021
196 Dec 10, 2021
195 Dec 05, 2021
194 Nov 26, 2021
193 Nov 19, 2021
192 Nov 12, 2021
191 Nov 12, 2021
190 Nov 05, 2021
189 Oct 29, 2021
188 Oct 22, 2021
187 Oct 08, 2021
186 Oct 01, 2021
185 Sep 21, 2021
184 Sep 17, 2021
183 Sep 03, 2021
182 Aug 27, 2021
181 Aug 20, 2021
180 Aug 06, 2021
179 Jul 30, 2021
178 Jul 16, 2021
177 Jun 04, 2021
176 May 28, 2021
175 May 14, 2021
174 May 07, 2021
173 Apr 30, 2021
172 Apr 02, 2021
171 Mar 26, 2021
170 Mar 19, 2021
169 Mar 12, 2021
168 Feb 27, 2021
167 Feb 19, 2021
166 Jan 30, 2021
165 Jan 23, 2021
164 Jan 08, 2021
163 Dec 11, 2020
162 Nov 27, 2020
161 Oct 20, 2020
160 Sep 11, 2020
159 Sep 04, 2020
158 Aug 28, 2020
157 Aug 21, 2020
156 Aug 14, 2020
155 Aug 07, 2020
154 Jul 31, 2020
153 Jul 24, 2020
152 Jul 18, 2020
151 Jul 10, 2020
150 Jul 03, 2020
149 Jun 26, 2020
148 Jun 19, 2020
147 Jun 11, 2020
146 May 30, 2020
145 May 23, 2020
144 May 14, 2020
143 Apr 27, 2020
142 Apr 22, 2020
141 Apr 15, 2020
140 Apr 11, 2020
139 Apr 03, 2020
138 Mar 30, 2020
137 Feb 18, 2020
136 Jan 24, 2020
135 Jan 14, 2020
134 Dec 27, 2019
133 Nov 28, 2019
132 Nov 26, 2019
131 Nov 23, 2019
130 Nov 14, 2019
129 Oct 28, 2019
128 Oct 25, 2019
127 Oct 24, 2019
126 Oct 14, 2019
125 Sep 18, 2019
124 Sep 17, 2019
123 Sep 07, 2019
122 Aug 30, 2019
121 Aug 16, 2019
120 Jul 29, 2019
119 Jul 29, 2019
118 Jul 13, 2019
117 Jul 09, 2019
116 Jul 07, 2019
115 May 29, 2019
114 Apr 28, 2019
113 Mar 04, 2019
112 Feb 19, 2019
111 Feb 10, 2019
110 Feb 06, 2019
108 Jan 13, 2019
107 Dec 06, 2018
106 Nov 23, 2018
105 Nov 08, 2018
104 Oct 25, 2018
103 Oct 03, 2018
102 Sep 23, 2018
101 Sep 15, 2018
100 Sep 01, 2018
99 Jul 08, 2018
98 Jun 29, 2018
97 Jun 28, 2018
96 Jun 16, 2018
95 May 20, 2018
94 May 06, 2018
93 Mar 29, 2018
92 Mar 22, 2018
91 Mar 01, 2018
90 Dec 26, 2017
89 Dec 25, 2017
88 Nov 04, 2017
87 Sep 22, 2017
86 Sep 03, 2017
85 Jul 31, 2017
84 Jul 12, 2017
83 Jun 18, 2017
82 Apr 26, 2017
81 Mar 27, 2017
80 Mar 16, 2017
79 Mar 16, 2017
78 Feb 26, 2017
77 Feb 13, 2017
76 Feb 09, 2017
75 Feb 09, 2017
74 Feb 09, 2017
73 Feb 09, 2017
72 Feb 08, 2017
71 Feb 08, 2017
70 Jan 26, 2017
69 Jan 17, 2017
68 Jan 16, 2017
67 Jan 04, 2017
66 Dec 24, 2016
65 Dec 23, 2016
64 Dec 22, 2016
63 Dec 02, 2016
62 Nov 01, 2016
61 Sep 29, 2016
60 Sep 11, 2016
59 Aug 18, 2016
56 Jul 27, 2016
55 Jul 15, 2016
54 Jun 03, 2016
52 Apr 20, 2016
51 Mar 25, 2016
49 Feb 17, 2016
48 Jan 26, 2016
47 Jan 23, 2016
46 Jan 19, 2016
45 Jan 04, 2016
44 Dec 18, 2015
43 Dec 15, 2015
42 Nov 23, 2015
41 Nov 14, 2015
40 Nov 13, 2015
39.post1 Nov 12, 2015
39
Extras:
Dependencies:
python-magic
libarchive-c