Renombrar fotos por fecha de captura en bloque, en cualquier PC
Esquemas de nombre que se ordenan bien en cualquier explorador de archivos, y cómo renombrar miles de fotos por su fecha de captura en Windows, macOS y Linux.
Cada cámara y cada teléfono que has tenido nombró sus fotos de forma distinta. IMG_0042, DSC_0042, PXL_20210813_143022, 20180402_091501, Screenshot_2019. Ordenada por nombre, una carpeta de un viaje parece barajada. Ordenada por fecha de modificación, parece bien hasta que la copias a otro sitio y las fechas se reinician.
Por qué importan los nombres
El nombre de archivo es el único metadato que todos los sistemas muestran y por el que todos ordenan. El EXIF necesita un visor. Las fechas de archivo cambian cuando los archivos se mueven. El nombre viaja con el archivo y se ve en cualquier lista.
Si el nombre empieza por la fecha de captura, la carpeta se ordena sola en orden cronológico en todas partes: Finder, Explorador, un gestor de archivos de Linux, la web de un NAS, el navegador USB de un televisor, una terminal. Sin elegir columna, sin leer metadatos.
Un esquema que se ordena bien
El orden de las partes es lo que lo hace funcionar. Primero el año, luego el mes, luego el día, luego la hora, cada uno con ceros a la izquierda, la unidad más grande a la izquierda:
2019-07-14-1105_Sevilla.jpg
2019-07-14-1132_Sevilla.jpg
2019-07-15-0908_Cordoba.jpg
Unas pocas reglas lo mantienen sano:
Usa años de cuatro cifras y meses y días de dos. 2019-7-4 se ordena después de 2019-10-1 como texto. 2019-07-04 no.
Incluye la hora, al menos hasta el minuto. Dos fotos del mismo día necesitan algo que las mantenga en orden, y una ráfaga de diez fotos en un minuto aún necesita un contador, que las herramientas añaden como _1, _2.
Deja un separador entre la fecha y la hora. 20190714_1105 está bien. 201907141105 es ilegible.
Evita caracteres que algunos sistemas de archivos rechazan. Los dos puntos no pueden aparecer en nombres de archivo en Windows ni en macOS, así que la hora es 1105 o 11-05, no 11:05. Las barras quedan fuera por la misma razón.
Si quieres conservar el nombre original, ponlo después de la fecha, no antes: 2019-07-14-1105_IMG_4821.jpg. La fecha sigue mandando en el orden y aún puedes relacionar el archivo con una tarjeta de cámara.
De dónde debe salir la fecha
El renombrado tiene que leer la fecha en que se tomó la foto de la etiqueta DateTimeOriginal del EXIF. Renombrar por fecha de modificación es el error más común, y da a cada foto la fecha en que la copiaste, no en la que la hiciste.
Si las fotos vienen de Google Takeout, la fecha EXIF a menudo no existe y la fecha real está en un .json al lado. Renombra por EXIF y todas las fotos de esa exportación reciben el mismo día. Corrige eso primero, o usa una herramienta que lea los JSON. Lo explica las fotos de Google Takeout salen con la fecha incorrecta.
Herramientas por sistema
Windows. El renombrado del Explorador no lee EXIF. Advanced Renamer es gratuito y tiene una etiqueta de imagen para la fecha de captura. XnView MP es gratuito y su renombrado por lotes admite patrones de fecha EXIF. El renombrado por lotes de IrfanView también lee EXIF.
macOS. El renombrado por lotes del Finder tampoco lee EXIF. Automator y Atajos pueden, con algo de esfuerzo. A Better Finder Rename es de pago y lo hace bien. XnView MP también funciona en Mac.
Linux. exiftool es el estándar, y está en los repositorios de todas las distribuciones. digiKam y XnView MP tienen renombradores gráficos por lotes.
En todas partes, exiftool lo hace en una línea:
exiftool "-FileName<DateTimeOriginal" -d "%Y-%m-%d-%H%M%%-c.%%e" .
Esto renombra cada foto de la carpeta actual a 2019-07-14-1105.jpg, añadiendo -1, -2 si dos fotos comparten minuto. Añade -r para incluir subcarpetas. Se salta los archivos sin fecha EXIF, así que revisa después qué quedó fuera.
Conviene una prueba. exiftool no tiene una simulación real para renombrados, así que copia un lote pequeño a una carpeta de pruebas y ensaya ahí primero.
Hacerlo con la aplicación
Takeout JSON Metadata Fixer resuelve el renombrado, la corrección de fechas y la estructura de carpetas en una sola ejecución, así no tienes que encadenar tres herramientas. Funciona sobre cualquier carpeta de fotos, no solo sobre exportaciones de Google.
Cuatro plantillas de nombre cubren las necesidades habituales. Fecha-hora + lugar da 2019-07-14-1105_Sevilla.jpg, con el nombre del lugar obtenido a partir del GPS. Solo fecha-hora quita el lugar. Original + fecha-hora conserva el nombre de la cámara y añade la fecha detrás, como IMG_1234_20190714_1105.jpg. Conservar nombre original deja los nombres en paz si solo quieres fechas y carpetas.
Puedes añadir tu propio prefijo o sufijo a cualquier plantilla, así un lote puede llevar Boda_ delante o _escaneo detrás.
La fecha de cada nombre sale del JSON de Takeout si lo hay, luego del EXIF, y de la fecha del archivo como último recurso, y la aplicación escribe la fecha real dentro del archivo al mismo tiempo. Así el nombre y el EXIF coinciden, cosa que a menudo no ocurre después de que otras herramientas hayan pasado por los archivos.
La simulación muestra cada nombre propuesto antes de renombrar nada. Funciona en Windows, Linux y Mac, sin conexión, con la interfaz en español. Gratis hasta 1000 fotos, después 19,99 USD una sola vez para fotos ilimitadas.
Preguntas frecuentes
¿Conservo el nombre original dentro del nuevo?
Consérvalo si alguna vez necesitas relacionar fotos con una tarjeta de cámara o con una copia antigua. Quítalo si quieres nombres cortos y limpios y tienes claro que los originales están respaldados en otro sitio. Ambas opciones valen. Lo que importa es la fecha delante.
¿Y los videos?
El mismo esquema funciona. Los videos guardan la fecha de creación en sus propios metadatos en lugar de en el EXIF, y exiftool la lee con -CreateDate en lugar de -DateTimeOriginal. La aplicación lee la hora de creación del propio video cuando no hay JSON.
Dos fotos tomadas en el mismo segundo reciben el mismo nombre. ¿Qué pasa?
Cualquier herramienta decente añade un contador. exiftool usa %-c en el patrón. La aplicación añade _1, _2 y así sucesivamente. Nada se sobrescribe.
¿Renombrar rompe las Live Photos o las parejas RAW+JPG?
Solo si las dos mitades reciben nombres distintos. Una pareja se reconoce por nombres coincidentes, así que ambas mitades deben renombrarse igual. La aplicación mantiene juntas las parejas de Live Photo con el mismo nombre base por defecto. Con exiftool, renombra el JPG y el MOV o RAW en el mismo comando con el mismo patrón.