Logotipo de Legacy File ConverterLegacy File Converter
Lección de historia8 min de lectura

Lección de historia: ¿Qué es un archivo .ico? El formato de iconos de Windows

El formato de iconos de Windows: un archivo con varios tamaños y profundidades de color, una pequeña cabecera y un directorio al principio, imágenes comprimidas en PNG desde Windows Vista, un hermano .cur para cursores y el favicon.ico que todo sitio web sigue sirviendo.

·Por el equipo de Legacy File Converter
Un ordenador de escritorio retro con iconos en pantalla, un icono de carpeta apilado en varios tamaños, una tarjeta de documento y un cursor de flecha, sin logotipos

TL;DR

Un .ico es un archivo de iconos de Windows. Un solo archivo puede contener varias imágenes del mismo icono en distintos tamaños y profundidades de color, y Windows elige la más adecuada para el escritorio, una barra de título o un cuadro de diálogo. La estructura es sencilla: una cabecera de 6 bytes (reservado, tipo, número de imágenes), una entrada de directorio de 16 bytes por imagen y después los datos. Las entradas clásicas son mapas de bits (DIB) con una máscara AND para la transparencia; desde Windows Vista, una entrada puede ser un PNG completo, lo que hizo prácticos los iconos de 256×256. El formato de cursor .cur es casi gemelo (tipo 2 en lugar de 1, más un punto activo). En la web, Internet Explorer 5 (marzo de 1999) empezó a pedir favicon.ico en la raíz de los sitios. Para obtener una imagen normal, convierta .ico a PNG en local: Legacy File Converter lo hace en su propio PC, sin subir nada.

¿Qué es un archivo .ico?

Un archivo .ico es el formato de iconos de Windows. La mayoría de los archivos de imagen contienen una sola imagen; un archivo ICO contiene un recurso de icono: una pequeña colección de imágenes que muestran el mismo icono, cada una dibujada en un tamaño y/o profundidad de color distintos. El propio artículo de Microsoft, Icons de John Hornick, fechado el 29 de septiembre de 1995, lo dice claramente: un único archivo ICO, o un recurso de icono dentro de un EXE o DLL, puede contener varias imágenes de icono, cada una con un tamaño y/o profundidad de color diferente.

Por eso la búsqueda «qué es un archivo .ico» suele venir de alguien que encontró uno en la carpeta de un programa, en una descarga web o en un proyecto antiguo y no entiende por qué su visor de fotos solo muestra un cuadradito, o nada. El archivo es válido; simplemente es un contenedor de imágenes de icono, no una foto corriente. Para formatos relacionados en este sitio, vea Lección de historia: ¿Qué es un archivo .bmp? y Lección de historia: ¿Qué es un archivo .png?.

Los primeros iconos de Windows y la era de un solo tamaño

Los iconos forman parte de Windows desde sus primeros entornos de escritorio, pero el sistema inicial pensaba en un solo tamaño de icono. El artículo de Microsoft de 1995 señala que las funciones originales como LoadIcon, ExtractIcon y DrawIcon venían «de los tiempos de 16 bits, cuando el sistema definía un solo tamaño de icono», y estiran lo que reciben hasta el tamaño grande estándar.

Con Windows 95 y las versiones posteriores de Windows NT, Windows gestionó iconos pequeños y grandes tanto para el sistema como para el shell, y nuevas funciones (las variantes Ex, LoadImage, DrawIconEx) podían pedir un tamaño concreto. La guía de 1995 animaba a los desarrolladores a incluir al menos 16×16 y 32×32 en 16 colores y 48×48 en 256 colores. El formato podía contener tamaños poco habituales desde hacía tiempo; era Windows quien se ponía al día para usarlos.

Un archivo, muchos tamaños y profundidades de color

Cuando Windows necesita un icono, revisa las imágenes del recurso. Según las reglas de Microsoft de 1995, elige la imagen de tamaño más cercano al solicitado; si varias comparten ese tamaño, prefiere la que coincide con la profundidad de color de la pantalla y, si no, la de mayor profundidad que no la supere. Los tamaños pequeños no son simples copias reducidas: los diseñadores a menudo los redibujan para que la versión de 16×16 siga siendo legible.

Las pautas de iconos de Windows Vista de Microsoft indicaron después como conjunto completo para iconos de aplicación 16×16, 32×32, 48×48 y 256×256, con arte de 32 bits (alfa incluido) más versiones de paleta de 8 bits y 4 bits para casos como el escritorio remoto. Así, un pequeño .ico puede contener una docena de imágenes o más, que es justo lo que se ve al abrirlo en un editor de iconos.

Muchas imágenes, un icono

Si un visor muestra una imagen distinta o diminuta, probablemente eligió una entrada entre varias. Convertir a PNG suele significar escoger una entrada —normalmente la más grande— y exportarla.

Cómo está organizado un archivo .ico

La estructura cabe en un párrafo. El archivo empieza con una cabecera ICONDIR de tres palabras de 2 bytes: un valor reservado que debe ser 0, un tipo que vale 1 para iconos y un recuento de imágenes. Después viene una ICONDIRENTRY por imagen —16 bytes cada una— con el ancho, el alto, el número de colores, los planos, los bits por píxel, el número de bytes de datos de imagen y el desplazamiento donde empiezan esos datos en el archivo.

Cada imagen clásica es un DIB (mapa de bits independiente del dispositivo): un BITMAPINFOHEADER, una tabla de colores opcional, la máscara XOR (los píxeles de color) y una máscara AND de 1 bit que marca las zonas transparentes. Microsoft advierte de una trampa clásica: la altura de la cabecera es la altura combinada de ambas máscaras, así que aparece como el doble de la altura real del icono. En la misma familia, los iconos guardados dentro de archivos EXE y DLL usan estructuras casi idénticas como recursos RT_GROUP_ICON y RT_ICON.

PNG dentro del icono desde Windows Vista

Los iconos más grandes hacían pesados los datos de mapa de bits. Un artículo de MSDN Magazine de 2008 sobre la decodificación de iconos de Windows Vista explica que, al crecer, los mapas de bits ocupaban demasiado espacio en disco y en memoria, así que Microsoft eligió PNG: los iconos de Windows Vista pueden incrustar imágenes PNG en lugar de DIB, lo que hizo prácticos los iconos de 256×256 y 32 bits con una fracción del tamaño. Las pautas de Vista indican que solo la imagen de 256×256 debe comprimirse y que los tamaños menores se mantienen en la forma clásica.

Un campo de ancho o alto de un byte no puede guardar 256, así que un 0 en la entrada de directorio se interpreta como 256. Para el software escrito antes de Vista, una entrada comprimida en PNG son datos desconocidos, y esa es una de las razones por las que algunas herramientas antiguas fallan con archivos .ico modernos aunque Windows los muestre sin problema.

Herramienta antigua, icono nuevo

Un editor de la época de Windows XP puede abrir las pequeñas entradas de mapa de bits de un icono moderno pero fallar con la entrada PNG de 256×256, o rechazar el archivo entero. El icono no está dañado; el lector simplemente es anterior al PNG dentro de ICO.

El hermano .cur para cursores

Los punteros del ratón usan un formato casi idéntico con la extensión .cur. El artículo de Microsoft de 1995 dice que los cursores son «muy parecidos a los iconos», tanto que su editor de iconos de ejemplo podía leer archivos .CUR relajando una sola comprobación: el tipo de cabecera 2 para cursores en lugar de 1 para iconos. El artículo de MSDN de 2008 repite la regla: la segunda palabra es 1 para iconos y 2 para cursores.

El extra importante de un cursor es el punto activo (hotspot): las coordenadas del píxel que cuenta como la punta del puntero. Como describe Raymond Chen en The Old New Thing, los recursos de imagen de cursor empiezan con las coordenadas x e y del punto activo antes de los datos del mapa de bits. Los cursores animados (.ani) son un formato aparte y no forman parte de esta lección.

favicon.ico en la web

El formato .ico salió del escritorio a través del navegador. Internet Explorer 5, publicado en marzo de 1999, pedía un archivo llamado favicon.ico en la raíz de un sitio cuando el usuario lo añadía a Favoritos, y mostraba ese icono en la lista de Favoritos. Raymond Chen explicó más tarde que IE solo lo buscaba al añadir una página a Favoritos, no en cada visita, para no sobrecargar los servidores. Las páginas también podían indicar otra ubicación con un elemento link en el HTML.

Hoy los navegadores aceptan otros formatos para los iconos de sitio, pero muchos sitios siguen teniendo un favicon.ico en la raíz, y el equipo de IE de Microsoft señaló que la capacidad de ICO para contener varios tamaños encaja con los muchos lugares donde aparece un icono de sitio: pestañas, favoritos, accesos directos. Así que un .ico en su carpeta de Descargas suele ser simplemente un icono de sitio guardado desde la web.

Cómo convertir .ico a PNG en local

Renombrar .ico a .png no funciona: el archivo empieza con la cabecera ICONDIR, no con una firma PNG, y puede contener muchas imágenes. Una conversión real lee el directorio, elige una entrada —normalmente la más grande—, decodifica los datos de mapa de bits o PNG, aplica la máscara de transparencia y escribe un PNG normal que conserva el canal alfa. Elija JPG solo si no necesita transparencia.

Legacy File Converter abre archivos .ico en su propio PC con Windows y los convierte a PNG o JPG; no se sube nada, algo importante cuando los iconos pertenecen a un proyecto de un cliente o a una aplicación interna. Es una forma tranquila de convertir archivos heredados como antiguos juegos de iconos en imágenes que cualquier aplicación puede abrir. Para lecciones vecinas, vea BMP, PNG y WebP.

¿Listo para abrir tus archivos antiguos?

Empieza gratis y luego desbloquea las conversiones ilimitadas con una licencia Standard de pago único de $79.95. Descarga el instalador para Windows: todas las funciones para hasta 10 archivos.

Prueba gratuita

Todas las funciones de la aplicación · hasta 10 archivos

Windows 10 u 11

La misma prueba gratuita de siempre: descarga el instalador para Windows y convierte en tu PC.

Empieza la prueba gratuita: descarga el instalador

Instalador directo para Windows · MSI sin conexión

¿Es seguro? — editor, instalador y ayuda con SmartScreen

Compra Standard: $79.95

Requiere Windows 10 u 11. Sin suscripciones. 100 % nativo de Windows.