← Todos los artículos

Comprimir archivos en Mac para Windows sin nombres rotos

Si sueles comprimir archivos en Mac para Windows y la persona que los recibe te dice que los nombres salen raros (José aparece como "Jose" con una tilde suelta, Peña se convierte en "Pen" con una virgulilla separada, 한글 se rompe en ㅎㅏㄴㄱㅡㄹ, o Excel asegura que el archivo no existe), el archivo comprimido en sí está bien. Lo provocan dos costumbres del Mac: macOS suele guardar los nombres con tildes, eñes y caracteres coreanos o japoneses en una forma Unicode descompuesta (NFD) que Windows no espera, y el comando Comprimir del Finder añade una carpeta oculta __MACOSX con copias ._ de cada archivo. La solución, desde el lado que envía, es normalizar los nombres a NFC antes de comprimir y después generar el ZIP con una herramienta que no incluya los metadatos del Mac. En este artículo verás ese orden de pasos y qué hacer si el archivo ya ha salido.

Por qué un ZIP hecho en Mac muestra nombres rotos en Windows

Hay tres fenómenos distintos, y conviene saber cuál estás viendo.

Caracteres descompuestos (NFD). macOS lleva muchos años escribiendo los nombres de archivo en NFD, donde "é" se guarda como "e" seguida de un acento combinante aparte, "ñ" como "n" más una virgulilla, y una sílaba coreana como sus jamo individuales. Windows, la mayoría de servidores web y casi todos los programas de Windows esperan la forma compuesta (NFC), en la que "é" o "ñ" son un único carácter. El Explorador de Windows normalmente dibuja bien la letra acentuada, pero el nombre es técnicamente distinto del que escribiste. Por eso un compañero puede ver Factura_José_Núñez.xlsx en pantalla y aun así recibir "archivo no encontrado" cuando una macro, un script o un enlace de SharePoint busca la grafía NFC. Con nombres coreanos y japoneses es más evidente: las sílabas se deshacen a la vista y el dakuten se separa de su kana (が pasa a ser か más ゛).

La carpeta __MACOSX y los archivos ._. Cuando haces clic derecho y eliges Comprimir en el Finder, macOS guarda los resource forks y los metadatos del Finder como entradas ._nombre dentro de una carpeta __MACOSX. Windows no les da ningún uso. Son inofensivos, pero duplican el número de archivos, confunden a quien cree que los ._ son versiones corruptas y algunos formularios de subida los rechazan.

Codificación, no normalización. Si los nombres llegan como José o como una ristra de signos de interrogación, es otro problema: la herramienta de descompresión en Windows leyó los nombres con el juego de caracteres equivocado. El Explorador de Windows actual y 7-Zip interpretan bien los nombres UTF-8 de los ZIP que crea macOS hoy, así que esto suele pasar solo con descompresores muy antiguos. Este artículo no resuelve ese caso; trata de NFD y de la carpeta extra.

Comprimir archivos en Mac para Windows: los pasos

Hazlos en este orden. Si corriges los nombres después de comprimir tendrás que rehacer el archivo, así que normaliza primero.

1. Comprueba si tus nombres están realmente en NFD

En el Finder no se ve. Dos formas rápidas de comprobarlo:

  • Abre Terminal, entra en la carpeta con cd y ejecuta ls | python3 -c "import sys,unicodedata; [print(repr(n)) for n in sys.stdin.read().splitlines() if unicodedata.normalize('NFC', n) != n]". Cualquier nombre que aparezca está en NFD.
  • O copia un nombre de archivo desde la ventana Obtener información del Finder y pégalo en el conversor de texto de la aplicación web de FilenameFixer. Si el texto convertido no coincide con lo que pegaste, el nombre está descompuesto.

Los nombres en ASCII puro (informe_2026.pdf) nunca se ven afectados. Solo importan las letras latinas con tilde o diéresis, la ñ, el hangul, los kana con dakuten o handakuten y caracteres similares.

2. Normaliza los nombres a NFC

En un Mac con disco APFS (cualquier Mac con macOS 10.13 o posterior en su disco interno), un archivo renombrado conserva la forma que le des. Opciones:

  • Renombrado por lotes en el navegador. Arrastra los archivos a la aplicación web de FilenameFixer, revisa la lista de antes y después y descarga los archivos renombrados. El procesamiento ocurre en tu navegador; no se sube nada a ningún servidor. Es el camino más sencillo para una carpeta mezclada con documentos de compañeros coreanos o japoneses, o simplemente con muchos nombres propios en español.
  • Terminal, una línea. Dentro de la carpeta, ejecuta python3 -c "import os,unicodedata; [os.rename(n, unicodedata.normalize('NFC', n)) for n in os.listdir('.') if unicodedata.normalize('NFC', n) != n]" Esto renombra solo el primer nivel de la carpeta actual, así que repítelo en las subcarpetas o amplíalo con os.walk si te manejas con Python.
  • Si usas Homebrew, puedes instalar convmv y ejecutar convmv -f utf8 -t utf8 --nfc -r --notest . sobre la carpeta.

Atención: en un volumen HFS+ (Macs antiguos o un disco externo formateado como "Mac OS Plus") el sistema de archivos vuelve a forzar NFD, de modo que renombrar parecerá no hacer nada. En ese caso pasa directamente a la sección sobre corregir el ZIP ya terminado.

3. Comprime sin la carpeta __MACOSX

El comando Comprimir del Finder añade siempre la carpeta de metadatos. Usa una de estas alternativas:

  • Terminal con zip: zip -r -X archivo.zip NombreCarpeta. La opción -X elimina los atributos extendidos. Si además quieres dejar fuera los .DS_Store, usa zip -r -X archivo.zip NombreCarpeta -x "*.DS_Store".
  • Terminal con ditto: ditto -c -k --norsrc --noextattr NombreCarpeta archivo.zip. Es la herramienta de la propia Apple y produce un ZIP limpio, apto para Windows.
  • Keka (compresor gratuito de terceros) tiene en sus Preferencias una opción para excluir los resource forks del Mac; actívala antes de comprimir.

Tanto zip como ditto escriben los nombres en UTF-8 con el indicador correcto, así que el Explorador de Windows actual y 7-Zip los leen bien.

4. Verifica antes de enviar

Ejecuta unzip -l archivo.zip en Terminal. Deberías ver únicamente tus archivos y carpetas, sin ninguna línea __MACOSX ni entradas ._. Si quieres ser exhaustivo con el NFD, pasa ese listado por la comprobación de Python del paso 1.

Si el ZIP ya se envió, o tu disco es HFS+

A veces el archivo ya está en el correo de alguien, o estás en un volumen HFS+ donde el renombrado no se mantiene. En ambos casos puedes corregir los nombres dentro del archivo comprimido ya terminado en lugar de tocar los originales.

La herramienta de restauración de nombres en ZIP acepta un archivo de hasta 200 MB, reescribe cada nombre de entrada en NFD a NFC y te devuelve un ZIP corregido para descargar. El contenido de los archivos no se modifica y el procesamiento se queda en tu navegador. Envía el archivo corregido como reemplazo, o pide a quien lo recibió que pase el original por esa misma página desde su lado. No elimina la carpeta __MACOSX, así que si eso te importa, vuelve a crear el archivo con ditto o zip -X como se explica arriba una vez normalizados los nombres.

Si prefieres no usar ninguna herramienta, la persona en Windows puede simplemente reescribir a mano los nombres afectados después de extraer. Para cuatro o cinco archivos es más rápido que cualquier otra cosa. Para una carpeta con doscientos documentos con nombres coreanos, no.

Qué decirle a tu compañero de Windows

Una nota breve ahorra muchos correos de ida y vuelta. Algo así:

  1. Extrae con la opción integrada "Extraer todo" del Explorador o con 7-Zip; ambos leen correctamente los ZIP hechos en Mac.
  2. Borra la carpeta __MACOSX si aparece. Los archivos ._ que contiene no son copias dañadas, solo metadatos del Mac.
  3. Si un programa sigue sin poder abrir un archivo cuyo nombre parece correcto, el nombre está en forma descompuesta. Renómbralo a mano, o arrastra los archivos extraídos a la aplicación web de FilenameFixer para renombrarlos por lotes.

Si quien recibe es desarrollador, puede confirmar la causa con PowerShell: [Text.Encoding]::UTF8.GetByteCount("José") devuelve 5 para la grafía NFC y 6 para NFD. Node, Python y .NET ofrecen normalize("NFC") si un script necesita aceptar ambas formas.

Límites y problemas parecidos que se confunden con este

  • Rutas largas. Windows limita las rutas completas a 260 caracteres salvo que se active la compatibilidad con rutas largas. Las carpetas del Mac muy anidadas y con nombres largos pueden fallar al extraer, independientemente de la normalización. Acorta el nombre de la carpeta raíz antes de comprimir.
  • Archivos de más de 4 GB necesitan ZIP64; zip y ditto en el macOS actual lo gestionan, pero algunas herramientas antiguas de Windows no.
  • ZIP con contraseña creados con zip -e usan un cifrado heredado que 7-Zip abre pero el Explorador de Windows no. No es un problema de nombres, pero genera correos muy parecidos de "no funciona en Windows".
  • Caracteres reservados. Los nombres con :, ?, *, |, <, > o " son válidos en macOS pero no en Windows, y el Explorador los rechazará o renombrará al extraer. La normalización a NFC no los cambia; tienes que sustituirlos tú.
  • Viajes de ida y vuelta. Si el usuario de Windows edita los archivos y te devuelve un ZIP, no se rompe nada: los nombres en NFC se conservan en APFS. El problema solo se da en la dirección Mac a Windows.

Normaliza primero, comprime con ditto o zip -X, revisa el listado, y las respuestas sobre "nombres rotos" se acaban. Si el archivo ya está en la bandeja de entrada de alguien, reescribir los nombres dentro del ZIP es el reemplazo más rápido que puedes enviar.