Takeout JSON
RU

Google Takeout: несколько архивов .zip, как их распаковать

Google делит выгрузку фото на takeout-001, -002 и дальше, и один альбом может попасть в разные архивы. Почему так и как распаковать все части сразу.

Ваша выгрузка из Takeout это не один файл. Это takeout-20260901T101500Z-001.zip, -002.zip, -003.zip и так далее, иногда десятки архивов. Распакуете один и найдете кусок альбома. Остальная часть этого альбома лежит в другом архиве.

Это нормально, и если знать правило, все решается за несколько минут.

Почему Takeout делит выгрузку

Когда вы заказываете выгрузку, Google спрашивает, каким может быть размер одного файла: 2 ГБ, 4 ГБ, 10 ГБ или 50 ГБ. Медиатека на 300 ГБ при 10 ГБ на файл превращается в тридцать архивов. Google заполняет каждый архив до предела и начинает следующий. Границы альбомов его не волнуют. Альбом, который пришелся на границу, оказывается наполовину в части 7 и наполовину в части 8.

Внутри каждой части одинаковая структура папок: Takeout/Google Photos/<папка альбома или года>/. Поэтому Photos from 2019 встречается в стольких частях, сколько нужно, чтобы вместить фото этого года. JSON-файл обычно лежит в той же части, что и фото, но не всегда. Файлы альбомов metadata.json могут повторяться в нескольких частях.

Это обычные архивы .zip, а не многотомный архив. Чтобы открыть одну часть, остальные не нужны. Каждая открывается сама по себе.

Распакуйте все в одну папку

Решение такое: распакуйте каждую часть в одну родительскую папку, и папки объединятся. На Mac выделите все архивы в Finder и дважды щелкните. Утилита архивации распакует каждый в папку Takeout там же и объединит их. Если вместо этого появятся Takeout, Takeout 2, Takeout 3, перетащите содержимое каждой папки Google Photos в первую и на вопрос ответьте "Объединить".

В Windows встроенный распаковщик работает с одним архивом за раз и медленно справляется с десятками тысяч мелких файлов. 7-Zip бесплатен и работает лучше. Выделите все части, щелкните правой кнопкой, выберите 7-Zip, затем "Распаковать здесь". Поскольку в каждой части есть папка Takeout, они объединятся автоматически. Соглашайтесь на замену повторяющихся файлов альбомов metadata.json, они одинаковые.

В Linux, из папки с архивами:

for f in takeout-*.zip; do unzip -o -q "$f" -d .; done

Флаг -o перезаписывает повторяющиеся файлы альбомов без вопросов.

Сначала убедитесь, что хватает места. Распакованная папка примерно равна по размеру всем архивам вместе, поэтому, пока существует и то и другое, нужно вдвое больше свободного места, чем занимает скачанное. Подробнее в статье сколько места на диске нужно для Takeout (на английском).

Проверьте, что ничего не пропало

Загрузки обрываются. Часть размером 3,98 ГБ, когда остальные по 10 ГБ, скорее всего, обрезана. Такой архив либо не откроется, либо откроется с ошибками. Сверьте число частей с числом на странице Takeout. Google нумерует части по порядку, поэтому пропуск между -011 и -013 значит, что -012 так и не скачалась.

Ссылки на скачивание Takeout действуют семь дней. Если часть повреждена, а неделя прошла, выгрузку придется заказывать заново с самого начала. Проверьте все в первый же день.

После распаковки поищите фото без JSON-файла и JSON-файлы без фото. Быстрый подсчет изображений и файлов .json в каждой папке покажет грубое несоответствие. Небольшая разница нормальна, а папка с 900 фото и 12 JSON-файлами значит, что какая-то часть не распаковалась.

Вариант с tgz

Takeout предлагает и .tgz вместо .zip. Он ведет себя так же, делится на части выбранного размера и чуть лучше сохраняет даты файлов. В Windows для него все равно нужен 7-Zip. Большинству людей хватит архивов .zip; если у вас Linux или Mac, с .tgz чуть меньше хлопот.

Работа прямо с архивами

Распаковывать части вручную не обязательно, если программа умеет читать их сама.

Takeout JSON Metadata Fixer принимает архивы .zip на macOS, Windows и Linux.

Выберите одну часть, и программа сама найдет и добавит соседние части из той же папки. Если в нумерации не хватает номера, она сообщит об этом до начала работы, и вы успеете скачать часть заново, пока ссылка действует. Она также сравнивает свободное место на целевом диске с размером архивов и останавливается заранее, если места не хватит на середине.

Затем она читает все части как одну медиатеку, находит для каждого фото его JSON-файл, даже если они попали в разные части, и записывает в каждый файл настоящую дату и GPS. Вы сами выбираете, сохранить исходные имена и папки или разложить все по папкам по годам и месяцам с понятными именами. Первые 1000 фото бесплатно.

Если вы предпочитаете распаковать вручную и потом запустить бесплатный инструмент, например GooglePhotosTakeoutHelper или exiftool, это тоже работает. Шаги выше в любом случае дают одну объединенную папку.

Частые вопросы

Нужно ли распаковывать части по порядку?

Нет. Это независимые архивы с пересекающимися именами папок. Распаковывайте их в любом порядке в одну родительскую папку.

Почему в Takeout больше файлов, чем фото в Google Фото?

Фото, которые входят в несколько альбомов, копируются в папку каждого альбома, и у каждого фото есть JSON-файл. Если убрать JSON-файлы и дубликаты из альбомов, число совпадет. Подробнее в статье о дубликатах и отредактированных версиях в Takeout (на английском).

Можно выбрать части побольше, чтобы этого избежать?

Да, до 50 ГБ на часть. Меньше крупных частей проще контролировать, но одна неудачная загрузка обходится дороже. 10 ГБ это разумная середина.

Одна часть вообще не открывается. Что делать?

Скачайте ее заново со страницы Takeout, если выгрузке меньше семи дней. Если срок истек, закажите новую выгрузку. Чтобы она прошла быстрее, можно ограничить ее только Google Фото.