¿Cómo recupero la fecha correcta de mis fotos de Google Takeout?
Las fechas reales están en los archivos .json junto a tus fotos. Así se escriben de vuelta en cada imagen, con o sin línea de comandos, y cómo comprobarlo.
La fecha correcta ya está en tu exportación. Está en el archivo .json que hay junto a cada foto, en un campo llamado photoTakenTime. El problema es que ningún visor de fotos lee esos archivos. Leen el EXIF, el bloque de información guardado dentro de la propia imagen, y Google dejó esa parte vacía.
Así que la solución es un trabajo de copia: leer la fecha de cada .json, escribirla en la foto correspondiente y ajustar las fechas del archivo para que coincidan. Con una foto tardas un minuto. Con cuarenta mil necesitas un programa.
Antes de empezar
Descomprime todas las partes del Takeout en una misma carpeta. Una foto y su JSON a menudo llegan en partes distintas, y si las descomprimes por separado el emparejamiento falla. Si tienes varias carpetas Takeout, Takeout 2, Takeout 3, fusiona sus carpetas Google Fotos en una sola.
Comprueba la zona horaria de tu ordenador. Las marcas de tiempo del JSON están en UTC y se convierten a la hora local con la zona que tenga configurado tu equipo. Si vives en México y tu portátil está en hora de Madrid, todas las fotos se desplazan siete horas y las de la noche caen en el día siguiente. Pon la zona que corresponda a la mayoría de tus fotos antes de tocar nada.
Trabaja sobre una copia la primera vez, o al menos guarda los zips originales hasta que hayas revisado el resultado. Son la única copia que conserva todos los JSON.
Opción 1: a mano, para unas pocas fotos
En Windows, clic derecho sobre la foto, Propiedades, pestaña Detalles, y edita "Fecha de captura". En un Mac, abre la foto en la app Fotos y ajusta la fecha y hora desde el menú Imagen. Sirve para diez o veinte fotos que te importan de verdad. No sirve para una biblioteca.
Opción 2: exiftool, para quien se maneja con la terminal
exiftool es gratuito y funciona en Windows, Mac y Linux. Este comando copia la marca de tiempo de cada JSON dentro de la foto y en las fechas del archivo:
exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
"-DateTimeOriginal<PhotoTakenTimeTimestamp" \
"-FileModifyDate<PhotoTakenTimeTimestamp" \
-ext jpg -ext jpeg -ext heic -ext png -overwrite_original "Takeout/Google Fotos"
Funciona en cuatro de cada cinco fotos. La quinta es donde se va la tarde: los nombres de JSON que Google recorta a 46 caracteres, los dos estilos de nombre según el año de la exportación, el contador (1) de los duplicados en una posición distinta, los videos que no usan EXIF y las copias -edited sin JSON propio. Un patrón que no contempla esos casos se salta archivos en silencio. La guía de exiftool los repasa uno por uno.
Opción 3: la aplicación
Takeout JSON Metadata Fixer hace todo el trabajo de copia desde una ventana, en Windows, Linux y Mac, con la interfaz en español.
Elige tu carpeta de Takeout o directamente los zips, elige dónde quieres las fotos corregidas y pulsa iniciar. La aplicación empareja cada JSON con su foto, incluidos los nombres recortados, los duplicados con (1) y las copias editadas, y escribe la fecha, la hora y el GPS dentro del archivo. Los videos reciben su fecha en las etiquetas que usan los reproductores. Al terminar te dice qué archivos no tenían datos con los que trabajar, en lugar de dejarlos pasar en silencio.
Si solo quieres las fechas, elige "Conservar nombres" y "Conservar mis carpetas". Si quieres aprovechar la pasada, puede renombrar cada foto a algo como 2019-07-14-1105_Sevilla.jpg y ordenarlas en carpetas por año y mes o por lugar, todo en una sola ejecución. Para carpetas sin ninguna fecha útil, como escaneos, puedes fijar una fecha y un lugar a mano para toda la carpeta.
Hay una simulación que muestra el plan antes de escribir nada. No se sube nada, no hace falta cuenta, y funciona sin conexión. Las primeras 1000 fotos son gratis; Premium cuesta 19,99 USD una sola vez.
Cómo comprobar que funcionó
No te fíes de una barra de progreso con las fotos de tu familia. Elige unas cuantas fotos de las que recuerdes el día real: una de cámara, una captura de pantalla, una de WhatsApp y una que hayas cambiado de fecha dentro de Google Fotos. Las dos últimas son la prueba de verdad, porque son las que no tenían fecha en el archivo.
En Windows, clic derecho, Propiedades, Detalles, y mira "Fecha de captura". Si coincide, y "Fecha de modificación" también, las dos mitades están bien. En un Mac, abre la foto en Vista Previa, menú Herramientas, Mostrar inspector, pestaña Exif. En cualquier sistema, exiftool -DateTimeOriginal -CreateDate foto.jpg imprime la verdad sin interpretaciones.
Si una de esas fotos sigue mal, vuelve atrás mientras aún tengas los zips. Si están bien, ya puedes importar a Fotos de Apple, copiar al NAS o a un disco externo: las fechas viajan dentro de los archivos.
Preguntas frecuentes
¿Qué fecha debo copiar, photoTakenTime o creationTime?
photoTakenTime. Es la fecha en que se tomó la foto, con las correcciones que hicieras en Google Fotos. creationTime es cuándo se subió el archivo a Google, a menudo años después.
¿Escribir la fecha en el EXIF cambia la imagen?
No. Solo se reescribe el bloque de metadatos. Los píxeles quedan intactos. El archivo puede crecer unos cientos de bytes.
¿Y las fotos que no tienen JSON?
Conservan su fecha EXIF si la tienen. Si tampoco la tienen, queda la fecha del archivo. Con la aplicación puedes darle a toda una carpeta una fecha y un lugar fijos, que es la forma de resolver una caja de fotos escaneadas.
¿Puedo borrar los JSON después?
Sí, una vez que hayas comprobado que las fechas están dentro de las fotos. Antes no, porque son la única copia de esa información.