Skip to content

[FEAT] Sort by similarily #168

Description

@connoryang331

Feature Request: Image Similarity Sorting & Grouping


Is your feature request related to a problem? Please describe.
When working with large collections of images (e.g., photo libraries, datasets, or downloaded folders), I often end up with many duplicate or near‑duplicate images. Manually identifying and organizing them is time‑consuming and error‑prone. Current file managers or image viewers only sort by name, date, or size – none of which group visually similar images together. I need a way to automatically detect identical images and sort them into groups, while keeping all images visible in a single unified view.

When I try to sort or reorder images by similarity (e.g., grouping duplicates or visually similar images), the current implementation always freezes the window – the UI becomes completely unresponsive. I’m not even sure if the existing “reorder” function is meant to do similarity sorting, because it never works. This makes it impossible to organise large image collections effectively.

Beyond the freezing issue, there is no built‑in way to group identical or similar images together and keep them in a single view while also allowing manual or automatic reordering within / between groups.

Freezing scenario:
clicking “Reorder” → a transparent gray overlay appears over the entire view.


Describe the solution you'd like
I would like a feature that analyzes all images in the current view (folder, album, or selection) and:

  1. Groups identical images – Perceptual hashing or pixel‑perfect comparison identifies images that are exactly the same or visually very similar (e.g., same photo with different resolution or minor compression).
  2. Sorts groups – Each group of similar images appears as a contiguous block. Within each group, images can be sorted by a secondary criterion (e.g., file size, resolution, or modification date).
  3. Single view – All images remain in the same view (no nested folders or separate tabs). Group boundaries are clearly indicated (e.g., subtle separators, background shading, or collapsible headers).
  4. User control – Options to set similarity threshold (strict exact match vs. perceptual similarity) and to manually override grouping.

Example:
[Image A] [Image B] [Image C] – all duplicates of each other – appear together, then the next distinct image, etc.


Describe alternatives you've considered

  • External duplicate finders (e.g., Duplicate Cleaner, CCleaner) – they identify duplicates but usually show results in a list of pairs, not integrated into the main image viewer. Sorting the original view is not possible.
  • Manual grouping – Using tags or moving files into folders. This disrupts the original folder structure and requires manual effort.
  • Third‑party image organizers (e.g., Adobe Bridge, DigiKam) – some offer duplicate detection but as a separate tool, not as an inline sorting mode within the main view.

None of these provide an inline, sortable, grouped view within the same window without leaving the primary interface.


Additional context

  • Use case examples:
    • A photographer sorting through exported JPEGs and original RAWs with similar content.
    • A designer collecting assets where the same image was saved under different filenames.
    • Cleaning up a “Downloads” folder full of repeated memes or screenshots.
  • Desired similarity methods:
    • Exact match (byte‑for‑byte or MD5) for identical files.
    • Perceptual hash (e.g., pHash) for visually similar but slightly different images (different resolution, watermark, or minor edits).
  • Performance: Should handle thousands of images without freezing; progress indicator while analyzing.
  • UI mockup idea:
-------------------------------------------------
| [Group: 3 similar]   (header)               |
|  img1.jpg   img2.png   img3.webp            |
-------------------------------------------------
| [Group: 2 similar]                           |
|  photo_A.jpg   photo_B.jpg                   |
-------------------------------------------------
| [Group: 1 (unique)]                          |
|  landscape.png                               |
-------------------------------------------------

This feature would transform an ordinary image view into a powerful duplicate management tool without changing the user’s workflow.

Metadata

Metadata

Assignees

Labels

P3epicLarge feature requiring significant design and architectural work.featNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions