Бесплатный локальный инструмент для фотографий

Поиск дубликатов фотографий

Находите дубликаты байт в байт и визуально похожие фотографии, не загружая библиотеку. Сравнивайте группы, выбирайте оригинал и экспортируйте список проверки.

Конфиденциальность заложена в основу. Данные фотографий остаются в браузере; страницу покидают только разрешённые запросы аналитики и рекламы.

Шаг 1

Выберите и отсканируйте фотографии

Выберите папку или файлы. Ничего не загружается.

Сбалансированный 8: 8

Меньшее значение требует более близких визуальных хешей. На точные SHA-256-группы настройка не влияет.

0изображений выбрано
0точных групп
0визуальных групп
Ожидание0 / 000:000%

Выберите папку или файлы.

Шаг 2

Безопасно сравните результаты

Рекомендация — лишь отправная точка. Перед изменениями проверьте имена, пути, размер, разрешение и даты.

Автоматического удаления нет. Инструмент только отмечает кандидатов и создаёт отчёты. Решение по каждому файлу остаётся за вами.

Какую задачу решает поиск дубликатов

В фототеке накапливаются повторные загрузки, копии из мессенджеров, переименованные резервные файлы и отредактированные версии. Имя не доказывает, что изображения идентичны, а сжатая копия в галерее может выглядеть как оригинал. Поэтому инструмент отдельно проверяет точное совпадение файлов и визуальное сходство.

Он предназначен для фотографов, семей, редакционных команд и всех, кто объединяет папки с телефонов, камер, облачных экспортов или старых дисков. Файлы выбираете вы сами. Приложение не обходит компьютер самостоятельно и никогда не получает права удалять данные.

Точные дубликаты и визуальные совпадения

В точную группу входят файлы с одинаковым SHA-256: их байты совпадают, даже если названия и папки различаются. Визуальные группы используют 64-битный разностный хеш dHash, рассчитанный из очень маленького полутонового изображения. Он может связать уменьшенную или повторно сжатую копию с той же сценой, хотя байты уже отличаются.

Визуальное сходство не является доказательством дубликата. Серийные кадры, слегка изменённые скриншоты и соседние снимки могут иметь близкие хеши. Чтобы цепочка слабых совпадений не объединяла несвязанные края, каждый участник группы обязан укладываться в порог относительно всех остальных.

  • Строгий 4: снижает риск ложных совпадений.
  • Сбалансированный 8: подходящая отправная точка для смешанной фототеки.
  • Широкий 12: находит больше обработанных вариантов, но требует тщательной ручной проверки.
  • Точные группы не зависят от визуального порога.

Как сканировать и проверять фототеку

  1. Используйте Выбрать папку, если браузер поддерживает доступ к каталогам, иначе выберите файлы вручную. Подпапки включаются только тогда, когда браузер передаёт пути.
  2. Сначала можно загрузить безопасное демо, чтобы увидеть процесс без личных фотографий.
  3. Задайте визуальный порог и начните сканирование. Декодирование, хеширование и группировка идут в Web Worker, поэтому прогресс и Отмена остаются доступны.
  4. Сначала откройте точные группы. Рекомендация предпочитает разрешение, затем размер и дату, но вы можете выбрать другое фото.
  5. Каждую визуальную группу рассматривайте как задачу сравнения. Изучите превью и метаданные; близкий хеш не означает, что файлы взаимозаменяемы.
  6. Экспортируйте CSV, JSON или HTML для документирования. Отмечайте кандидатов после проверки и создайте резервную копию перед ручным удалением или перемещением.

Пример: четыре файла одной фотосессии

В папке лежат beach-original.jpg, beach-copy.jpg, beach-messenger.jpg и sunset-next-frame.jpg. У первых двух разные имена, но одинаковые байты. Версия из мессенджера уменьшена и повторно сжата, а последний файл — самостоятельный кадр через несколько секунд.

Точный анализ объединит оригинал и копию по SHA-256. dHash может связать версию из мессенджера с оригиналом. При широком пороге следующий серийный кадр тоже может показаться близким, поэтому верное действие — сравнить, а не удалить автоматически.

Точный результат
2 файла с одинаковым SHA-256; один можно проверить как лишний.
Визуальный результат
Оригинал и уменьшенная копия с dHash в пределах выбранного порога.
Решение человека
Сохранить нужное качество и метаданные; отдельно оценить соседний кадр.

Как устроено локальное сравнение

Сначала файлы группируются по размеру в байтах. SHA-256 вычисляется только для размеров с двумя и более кандидатами: идентичные байт в байт файлы обязательно имеют одинаковый размер. Это сокращает лишнее полное чтение без потери точности. Дайджест создаёт Web Crypto API браузера.

Для визуального анализа браузер декодирует поддерживаемое изображение, уменьшает его до 9 на 8 пикселей и переводит в яркость. Каждый пиксель сравнивается с соседом, а 64 результата образуют dHash. Расстояние Хэмминга считает отличающиеся биты: ноль означает крайне близкую структуру, большее число допускает изменения.

BK-дерево сокращает число кандидатов вместо проверки всех возможных пар. Затем complete-link-проверка требует, чтобы каждая пара внутри группы удовлетворяла порогу. Worker регулярно уступает выполнение, а превью создаются только для результатов и небольшой выборки, чтобы ограничить память.

  • Точная идентичность: одинаковый SHA-256.
  • Визуальное расстояние: число разных битов между двумя 64-битными dHash.
  • Рекомендация: больше пикселей, затем больший файл и более новая дата.
  • Потенциальное место — оценка размеров кандидатов, а не факт удаления.

Конфиденциальность, сохранённые сканы и отчёты

Декодирование, хеши и группировка выполняются на устройстве. Фотографии, превью, хеши, имена и локальные пути не отправляются Xephory. Доступ к папке только для чтения выдаётся через окно браузера. Analytics и автоматическая реклама отдельно регулируются общим Google Consent сайта.

Последний результат можно сохранить в IndexedDB, чтобы восстановить группы и решения в этом браузере. Кнопка удаления сохранённого скана стирает запись. Отчёты создаются локально, но могут содержать имена и пути, поэтому при обмене считайте их частными документами.

Поддержка HEIC и HEIF

Сначала сканер просит браузер декодировать изображение. Если встроенной поддержки HEIC/HEIF нет, используется локальный декодер сайта. Фото не отправляется сервису конвертации. Редкая разновидность, повреждённый файл или нехватка памяти всё же могут вызвать ошибку.

HEIC без визуального декодирования может участвовать в точном сравнении, если другой выбранный файл имеет такой же размер и SHA-256. Интерфейс показывает ограничение, а не скрывает его за ошибочным выводом об отсутствии дубликата.

Важные ограничения перед очисткой

  • Перцептивный хеш измеряет структуру, но не смысл и личную ценность фотографии.
  • Обрезанная, повёрнутая или сильно обработанная копия может не совпасть.
  • Серийные кадры и повторные скриншоты могут дать ложные совпадения, особенно при широком пороге.
  • Повреждённые или неподдерживаемые изображения могут участвовать только в точном тесте.
  • Браузер не видит невыбранные папки и не обходит системные разрешения.
  • Скорость большой библиотеки зависит от устройства и памяти; при необходимости делите работу.
  • Перед удалением или перемещением оригиналов всегда храните отдельную резервную копию.

Частые вопросы о дубликатах фотографий

Мои фотографии загружаются на сервер?

Нет. Байты, превью, хеши, имена и пути обрабатываются локально и не отправляются Xephory.

Что доказывает точное совпадение?

Оба файла должны иметь одинаковый SHA-256. Сначала кандидаты фильтруются по размеру, затем хешируется их полное содержимое.

Что означает расстояние сходства 8?

Между двумя 64-битными dHash допускается до восьми разных битов. Это удобный стартовый порог, но не доказательство взаимозаменяемости.

Инструмент удаляет дубликаты?

Нет. Он создаёт рекомендации и списки проверки. Удаление и перемещение выполняются вручную в файловом менеджере.

Можно сканировать HEIC с iPhone?

Да, если вариант поддерживает браузер или включённый локальный декодер. Точное сравнение может работать даже без визуального превью.

Почему похожие фото попадают в разные группы?

Каждая пара внутри группы должна пройти порог. Так цепочка слабых совпадений не объединит действительно разные изображения.

Почему рекомендуется оставить конкретное фото?

По умолчанию учитываются число пикселей, размер файла и дата. Метаданные и личную ценность оцениваете вы.

Можно продолжить прошлую проверку?

Последний скан и выбор сохраняются в IndexedDB этого браузера. Кнопка удаления сохранённого скана стирает их.