Fotos HEIC del iPhone y WordPress: cómo subirlas sin líos de conversión
Cada iPhone vendido desde 2017 hace fotos en formato HEIC por defecto. Cada sitio WordPress construido antes de 2024 rechazaba archivos HEIC al subirlos. Este desencuentro me ha provocado más confusión que cualquier otro problema de formato en quince años montando WordPress.
La cosa mejoró a finales de 2024 cuando WordPress 6.7 incorporó soporte nativo para HEIC. Pero "mejor" y "resuelto" no son lo mismo. Siguen existiendo entornos de hosting donde la subida HEIC falla en silencio, plugins que se atragantan con el formato y bastantes consejos contradictorios circulando por los foros.
Esto es lo que he aprendido lidiando con el tema en decenas de sitios de clientes.
Qué es HEIC en realidad
HEIC (High Efficiency Image Container) usa el formato de imagen HEIF con compresión H.265. Apple lo adoptó en iOS 11 porque produce archivos aproximadamente entre un 40 y un 50 por ciento más pequeños que JPEG con la misma calidad visual. Una foto típica de iPhone que pesaría 6 MB en JPEG sale alrededor de los 3 MB en HEIC.
Esa diferencia de tamaño importa cuando subes por móvil y también para el almacenamiento del servidor WordPress. Archivos más pequeños, misma calidad. El formato en sí no tiene contras.
El problema es la compatibilidad. Durante años, casi nada fuera del ecosistema Apple podía abrir HEIC. Windows lo añadió en 2018. Android en 2019. WordPress no lo añadió hasta finales de 2024 con la 6.7, y aun así depende de que tu servidor tenga la librería de procesamiento de imagen adecuada.
HEIC también guarda metadatos más ricos que JPEG: profundidad de color de 10 bits en vez de 8, gama Display P3 más amplia que sRGB, y mapas de ganancia HDR que permiten a las pantallas modernas mostrar las luces con más fuerza. Al aplanar a JPEG pierdes los tres.
Por qué WordPress rechaza HEIC por defecto
Antes de WordPress 6.7, soltar un .heic en la Biblioteca de medios disparaba el temido mensaje "Lo sentimos, este tipo de archivo no está permitido por motivos de seguridad". El motivo real no es la seguridad en el sentido de malware. Es una lista blanca.
WordPress valida cada subida con wp_check_filetype_and_ext(), que compara extensión y tipo MIME contra la lista codificada en get_allowed_mime_types(). Si la combinación no está, la subida se rechaza antes de llegar a la Biblioteca de medios. La etiqueta de "seguridad" existe porque permitir cualquier tipo de archivo podría dejar que un atacante subiera un ejecutable disfrazado de imagen, pero en la práctica el filtro es solo una lista de permitidos estricta.
En el caso de HEIC, el problema histórico era doble. Primero, image/heic no estaba en la lista por defecto. Segundo, aunque lo forzaras con un filtro, las librerías PHP de imagen (GD e ImageMagick) no podían decodificar el formato en la mayoría de servidores. WordPress era honesto al rechazarlo: ningún sentido aceptar un archivo que el sistema no puede procesar. WordPress 6.7 arregló las dos partes añadiendo image/heic y image/heif a la lista y enseñando a las clases del editor de imagen a despachar HEIC a ImageMagick cuando hay libheif disponible.
Soporte HEIC de WordPress 6.7: qué cambió
Antes de 6.7, el apaño era convertir cada foto a JPEG antes de subirla (tedioso) o añadir un fragmento en functions.php para meter el tipo MIME en la lista blanca (arriesgado si el servidor no podía procesar el archivo de verdad). He visto cómo ambos enfoques rompen sitios de forma sutil: el de la lista blanca causa miniaturas rotas y el de conversión manual pierde metadatos sin avisar.
WordPress 6.7 añadió HEIC a la lista de tipos permitidos e incluyó soporte básico para generar miniaturas a partir de archivos HEIC. Si tu servidor tiene ImageMagick compilado con soporte HEIF (o libheif para GD), WordPress ya maneja HEIC de forma nativa.
Ese "si" es un "si" muy gordo.
Dónde funciona
La mayoría de los hostings gestionados modernos (Cloudways, Kinsta, SiteGround en su infraestructura más nueva) llevan ImageMagick con soporte HEIF. Si estás en uno de ellos con WordPress 6.7 o posterior, las subidas HEIC deberían ir solas.
Dónde no
El hosting compartido con infraestructura antigua es una lotería. Muchos hostings económicos corren versiones viejas de ImageMagick sin soporte HEIF. La subida puede completarse (el archivo llega al servidor), pero WordPress no genera miniaturas. Acabas con un HEIC a tamaño completo en la Biblioteca de medios y marcadores de miniatura rotos por todas partes.
No aparece un mensaje de error claro cuando esto pasa. La Biblioteca de medios simplemente muestra un icono genérico en lugar de la previsualización. He tenido clientes que reportaban "mis fotos no suben" cuando en realidad las fotos subían bien, solo que se veían rotas en el panel. Si quieres una explicación más completa de cómo debería comportarse la Biblioteca de medios cuando todo funciona, échale un ojo a mi guía de la Biblioteca de medios de WordPress.
Soporte HEIC por proveedor de hosting: tabla comparativa
Pasé un fin de semana probando el mismo archivo HEIC del iPhone en cinco hostings principales para ver cuáles lo procesaban limpiamente y cuáles rompían las miniaturas en silencio. Resultados a comienzos de 2026.
| Hosting | Subida HEIC aceptada | Miniaturas generadas | ImageMagick + libheif | Notas |
|---|---|---|---|---|
| Kinsta | Sí | Sí | Sí (ImageMagick 7 + libheif) | La experiencia más limpia. AVIF también funciona. |
| Cloudways (Vultr/DO) | Sí | Sí | Sí | Depende de la versión del stack. Servidores nuevos sin problema. |
| WP Engine | Sí | Sí | Sí | Soporte HEIC nativo añadido en la actualización de plataforma de 2024. |
| SiteGround | Sí | Parcial | Mixto | Planes nuevos funcionan. Entornos compartidos antiguos fallan en miniaturas. |
| Bluehost (compartido) | Sí | No | No (ImageMagick antiguo) | La subida termina, pero las miniaturas quedan rotas. Conviene convertir antes. |
El patrón es evidente: los hostings WordPress gestionados premium han invertido en librerías de imagen modernas, mientras que el hosting compartido barato sigue con stacks antiguos donde el soporte HEIC es, en el mejor de los casos, irregular. Si estás en Bluehost compartido o un proveedor de precio similar y HEIC importa en tu flujo, te conviene convertir antes de subir en lugar de pelearte con el servidor.
Cómo comprobar si tu servidor soporta HEIC
Ve a Herramientas > Salud del sitio > Información > Manejo de medios en el panel de WordPress. Busca la versión de ImageMagick y los formatos soportados. Si ves "HEIC" o "HEIF" en la lista, vas bien.
Si no aparece, o si estás usando GD en lugar de ImageMagick, las miniaturas HEIC no se generarán. Tienes dos opciones: pedir al hosting que actualice ImageMagick, o convertir las fotos antes de subir.
La trampa de "convierte antes de subir"
"Convierte tus HEIC a JPEG primero" es el consejo más común en los foros de WordPress. Suena razonable. También es de lo peor que puedes hacer si te importa la calidad de la imagen, porque la ruta de conversión por defecto en el iPhone tiene pérdidas que casi nadie ve venir.
Esto es lo que pasa cuando dejas que iOS convierta HEIC a JPEG automáticamente (la ruta de AirDrop a Windows, el adjunto de Mail Drop, el "compartir" hacia la mayoría de apps):
- Compresión de gama de color. El HEIC original está guardado en Display P3, un espacio de color cerca de un 25 por ciento mayor que sRGB. La exportación JPEG queda recortada a sRGB. Rojos, naranjas y verdes saturados se aplanan visiblemente.
- Reducción de profundidad de bits. HEIC guarda 10 bits de color (1024 valores por canal). JPEG está clavado en 8 bits (256 valores). Los degradados suaves del cielo pueden mostrar bandas tras la conversión.
- Pérdida del mapa de ganancia HDR. iOS incrusta un mapa de ganancia HDR junto a los píxeles SDR para que las pantallas compatibles muestren luces más brillantes. JPEG no tiene equivalente. Los detalles de sombras y luces se aplastan en la exportación.
- EXIF eliminado (a veces). Según qué app haga la conversión, pueden caerse las coordenadas GPS, datos del objetivo y ajustes de cámara. Si dependes de los metadatos para organizar o geoetiquetar, comprueba antes de convertir en lote.
- Inflado del tamaño de archivo. El motivo de existir de HEIC es la compresión. Un HEIC de 3 MB suele inflarse a 6-8 MB como JPEG con calidad 85, duplicando tu uso de almacenamiento.
La trampa es que todas estas pérdidas son invisibles a tamaño miniatura. Solo las notas cuando alguien hace zoom, imprime o ve la imagen en una pantalla de gama amplia. Para entonces ya es tarde, el JPEG es el archivo que tienes.
Lo inteligente es convertir en el momento de publicar, con una herramienta que conserve lo importante y solo aplane lo que WordPress necesita aplanado. Esa es la restricción de diseño detrás de cualquier herramienta de subida que merezca la pena.
El problema de la conversión en el propio iPhone
Convertir HEIC a JPEG antes de subir suena sencillo. En un portátil lo es. La Vista previa de macOS convierte archivos en lote en segundos. En Windows, lo hace la app Fotos.
En el iPhone es otra historia. No hay un conversor por lotes integrado. Puedes cambiar los ajustes de cámara para hacer fotos en JPEG en vez de HEIC (Ajustes > Cámara > Formatos > Más compatible), pero entonces pierdes la ventaja del 40-50 por ciento en cada foto, no solo en las que van a WordPress.
Algunos usan la app Atajos para montar un conversor HEIC a JPEG. Funciona, pero es otro paso manual en tu flujo y los archivos convertidos pesan más. Cambias un problema por otro.
Lo verdaderamente irritante es que tu iPhone ya hace esta conversión automática en algunas situaciones. Cuando envías una foto por email o la pasas por AirDrop a un PC con Windows, iOS la convierte a JPEG al vuelo. Pero al subir desde un navegador o desde la app de WordPress, manda el HEIC original. No hay ningún ajuste que cambie ese comportamiento para subidas. Si sueles enviar 10-20 fotos seguidas del iPhone a WordPress, mira mis notas sobre subida masiva de imágenes desde el móvil con técnicas que sobreviven a las rarezas de iOS.
Cómo gestiona HEIC SnapPress
Cuando construí SnapPress, el manejo de HEIC fue una de las primeras cosas que tuve que resolver. El planteamiento es directo: la app lee tu archivo HEIC original, lo convierte a JPEG localmente en el iPhone antes de subirlo y envía el JPEG a WordPress.
Eso significa que funciona con cualquier sitio WordPress, da igual la configuración del servidor. Tu hosting no necesita soporte HEIF en ImageMagick. WordPress no tiene que ser 6.7. Lo que llega al servidor es un JPEG estándar que cualquier instalación WordPress desde la 1.0 puede manejar.
La conversión ocurre en el dispositivo y tarda fracciones de segundo por foto. No la ves. No la configuras. Seleccionas tus fotos, pulsas subir y aparecen archivos JPEG en tu Biblioteca de medios con miniaturas, previsualizaciones y todo funcionando bien.
¿Es este el enfoque "correcto"? Depende de qué te importe. Si quieres el menor tamaño posible, subir HEIC nativo a un servidor compatible es técnicamente mejor. Si quieres algo que funcione en cualquier sitio sin revisar configuraciones de servidor, la conversión automática es más segura. Comparé varias apps iOS de la competencia en mi recopilatorio de mejores apps para subir fotos a WordPress si quieres ver cómo se mide SnapPress contra alternativas.
Elegí fiabilidad por encima de optimización teórica. Por experiencia, la mayoría de usuarios de WordPress no saben ni les importa qué versión de ImageMagick lleva su hosting. Solo quieren que sus fotos aparezcan.
¿Y Jetpack y la app móvil de WordPress?
La app oficial de WordPress (que se apoya en Jetpack para muchas funciones) ha gestionado HEIC de forma irregular durante años. Las versiones recientes sí convierten HEIC a JPEG antes de subir, parecido a lo que hace SnapPress, pero la conversión pasa por el pipeline de procesamiento de imagen de Jetpack, lo que requiere conexión Jetpack y una cuenta WordPress.com activa vinculada a tu sitio.
Esto va bien si ya usas Jetpack. Si no, frustra, porque a veces la app se niega a subir nada sin la conexión. Escribí una guía aparte sobre subir fotos a WordPress sin Jetpack para quien quiera un stack más ligero. La versión corta: si Jetpack no está en tu flujo, usa una app de terceros que hable directamente con la REST API de WordPress. Te saltas la dependencia de WordPress.com por completo.
El otro formato con el que te cruzarás: HEIF y AVIF
HEIC es técnicamente un formato contenedor que envuelve imágenes HEIF. A veces verás archivos con extensión .heif en lugar de .heic. WordPress 6.7 trata ambos igual.
AVIF es un formato más nuevo que está ganando tracción en la web (es lo que usan Netflix y muchos CDN para entregar imágenes). WordPress añadió soporte AVIF en 6.5. Algunos iPhones nuevos pueden hacer fotos en AVIF, aunque todavía no es el predeterminado.
Por ahora, HEIC es lo que vas a manejar el 99 por ciento del tiempo si subes fotos del iPhone. Pero ten AVIF en el radar. Comprime aún mejor que HEIC y tiene soporte multiplataforma más amplio.
AVIF en el iPhone 16: lo que viene
El iPhone 16 trae soporte AVIF completo en iOS 18: Fotos lee AVIF, Safari lo renderiza en línea y la hoja de compartir lo trata como ciudadano de primera. La cámara sigue por defecto en HEIC, pero el pipeline de renderizado y decodificación ya es AVIF de extremo a extremo.
WordPress está listo. La 6.5 añadió image/avif a los tipos MIME permitidos en marzo de 2024, y la 6.7 amplió la lógica de procesamiento para que los archivos AVIF generen miniaturas correctas. Si tu servidor tiene una versión reciente de ImageMagick con libavif, todo el pipeline funciona sin configuración.
Por qué AVIF importa para quien publica: comprime alrededor de un 20 por ciento más que HEIC con calidad perceptual equivalente y un 50 por ciento más que JPEG. Funciona en todo navegador moderno (Chrome, Firefox, Safari, Edge), a diferencia de HEIC, que nunca tuvo soporte universal en navegadores. Y es libre de regalías gracias a AV1, mientras que HEIC se asienta sobre el lío de patentes de HEVC.
Diferencia práctica: HEIC es un formato de captura con el que peleas a la entrada, AVIF es un formato de entrega que sirves a tus visitantes a la salida. La mayoría de los flujos acaban con originales HEIC desde la cámara, intermedios JPEG o AVIF en la Biblioteca de medios, y AVIF servido al navegador vía CDN o un plugin como ShortPixel. Es improbable que Apple cambie el formato por defecto de la cámara a AVIF antes de migrar ProRAW y Live Photos, lo que es un proyecto de varios años. Optimiza ahora la entrada HEIC y deja que tu CDN se encargue de AVIF en la entrega.
Mi recomendación
Si tu hosting soporta HEIC (compruébalo en Salud del sitio) y estás en WordPress 6.7+, sube los archivos HEIC directamente. Disfruta de los archivos más pequeños.
Si tu hosting no soporta HEIC, o gestionas varios sitios en hostings distintos y no quieres revisar uno por uno, usa una herramienta que convierta por ti. SnapPress lo hace de forma automática. El plugin SnapPress Connect se ocupa de la conexión con el sitio y la app gestiona la conversión de formato entre bambalinas.
No cambies el formato de la cámara del iPhone a JPEG solo porque WordPress te haya dado problemas una vez. HEIC es el mejor formato. Quien debería adaptarse es la herramienta de subida, no los ajustes de tu cámara.