|
|
#1 |
|
Junior Member
![]() Posts: 4
Karma: 10
Join Date: Jul 2026
Device: none
|
Duplicate Organizer — a calibre plugin
Tidy up a messy calibre library by collapsing scattered copies of the same book into one clean record — combining all their formats, the cover, and every scrap of metadata under a single entry.
It only ever deletes true exact duplicates, keeps anything that genuinely differs, and always shows you a full review plan before changing a single thing. How it finds duplicates Any rule can be toggled. Books linked by any rule are grouped together. Title + Author Same title and same author(s), ignoring case and spacing. Close title match Ignores subtitles, punctuation, and a leading “The/A”, so different-format copies group together even when their metadata differs slightly. Identifier Same ISBN, Google, Amazon, DOI, or any other identifier. File content Identical files by SHA-256 hash — the most precise check. What it does with each group
Always shows a full, itemized review dialog before touching anything. Uncheck any group to skip it. — Deletions go through calibre's normal recoverable path, not permanent removal. — Run it on your whole library or just the books you've selected. Works with calibre 6+ (including 9.x). Configure matching rules and behavior under Preferences → Plugins → Duplicate Organizer. Now it merges everything into the kept book: All formats the kept copy is missing. Cover image — pulled from a duplicate if the kept book has none. All metadata — series, publisher, dates, rating, languages, comments, plus tags and identifiers (unioned), and any custom columns. Empty fields get filled; existing values on the kept book are never overwritten. One thing worth knowing: it fills empty fields rather than replacing populated ones, so the "keep the copy with the most formats" master stays authoritative for anything it already has. If you'd rather a specific copy's metadata always win, I can add that as an option. |
|
|
|
|
|
#2 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,019
Karma: 153695583
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
How do you merge in multiple copies of the metadata when they differ? For example, different covers.
|
|
|
|
| Advert | |
|
|
|
|
#3 | |
|
Well trained by Cats
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 31,855
Karma: 64181416
Join Date: Aug 2009
Location: The Central Coast of California
Device: Kobo Libra2,Kobo Aura2v1, K4NT(Fixed: New Bat.), Galaxy Tab A
|
Quote:
Merge is mostly for differing (file) formats. If the cover is different, it probably IS NOT the exact same book (different editions) If you want both sets comments, the MANUEL copy paste. If you want more, then don't merge. |
|
|
|
|
|
|
#4 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,019
Karma: 153695583
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
Can you have a list of the proposed duplicates? Can the proposed duplicates be SHA-256 checked to see if they are the same?
|
|
|
|
|
|
#5 | |
|
Junior Member
![]() Posts: 4
Karma: 10
Join Date: Jul 2026
Device: none
|
Quote:
If you want different behavior — e.g. always prefer the highest-resolution cover among all copies, regardless of whether the master already has one — I will add that. |
|
|
|
|
| Advert | |
|
|
|
|
#6 | |
|
Junior Member
![]() Posts: 4
Karma: 10
Join Date: Jul 2026
Device: none
|
Quote:
Use this also with the find Duplicates plug in. If you do that you can select which one to process. |
|
|
|
|
|
|
#7 |
|
Junior Member
![]() Posts: 4
Karma: 10
Join Date: Jul 2026
Device: none
|
Version 2.
This is version 2 added more preferance selections.
|
|
|
|
|
|
#8 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,019
Karma: 153695583
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
I'll give this a try when I get some spare time.
|
|
|
|
|
|
#9 |
|
Leftutti
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 641
Karma: 3671119
Join Date: Feb 2019
Location: Bavaria
Device: iPad Pro, Kobo Libra 2
|
Am I right in assuming that the merging happens automatically?
|
|
|
|
|
|
#10 |
|
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84,019
Karma: 153695583
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
If I have two duplicates based on and exact author and title match, can there be an option to delete the copy with the earlier date? Thanks.
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [GUI Plugin] Streamer - RSVP Speed Reader plugin for Calibre | npapadacis | Plugins | 6 | 04-24-2026 03:00 AM |
| Updating plugin fails because plugin file is in use by Calibre? | ownedbycats | Calibre | 1 | 12-03-2022 08:34 PM |
| Duplicate IDs in Calibre | enidad2 | Library Management | 2 | 01-01-2018 12:25 AM |
| Calibre 1.0 - Duplicate formats | icallaci | Library Management | 12 | 08-27-2013 09:44 AM |
| Duplicate detection plugin | kiwidude | Development | 262 | 05-02-2011 04:00 PM |