Ajustes INI (.ini)

De Estándar

Windows Initialization Configuration (INI) es el formato clásico de archivos de configuración legibles por humanos, popularizado por Microsoft Windows. Organiza los ajustes de una aplicación en [secciones] con pares clave=valor.

Convertir de INI a JSON

Convertidor gratuito de INI a JSON en el navegador. Convierte archivos al instante en tu dispositivo.

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de INI inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de INI inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

5B ... 5D

REPRESENTACIÓN ASCII: [...]

Estandarización: De facto industry configuration standard

Especificaciones técnicas

Arquitectura del contenedorArchivo de configuración de texto plano organizado en secciones [section] con pares clave = valor y comentarios (; o #)
CompresiónArchivo de texto sin comprimir
Orden de bytes (Endianness)Flujo de texto UTF-8 o ANSI
Espacios de colorN/A (Archivo de configuración)
Canales y estructuraPropiedades de configuración de clave y valor agrupadas por secciones
Dimensiones máximasLímite histórico de 64 KB en Windows de 16 bits; ilimitado en implementaciones modernas
TransparenciaNinguna
Streaming y progresivoAnalizador secuencial que procesa el archivo línea por línea

Matriz de comparación técnica: INI frente a la competencia

Atributo técnicoINI (Actual)JSONYAMLTOML
Complejidad de sintaxisLa sintaxis más sencilla: sección y pares clave=valorSintaxis estricta con corchetes y comillasEspacios en blanco sensibles a la indentaciónTablas tipadas modernas
Soporte de comentariosNativo (comentarios ; y #)La especificación no admite comentariosNativo (comentarios #)Nativo (comentarios #)
Estructuras anidadasSolo admite secciones de un nivelAdmite objetos y matrices anidados sin límiteAdmite árboles anidados sin límiteMatrices de tablas estructuradas
Tipado de datosCadenas implícitas (la aplicación determina los tipos)Números, valores booleanos y matrices explícitosTipos y anclajes explícitosFechas, números y matrices explícitos

Modos de corrupción comunes y guía de recuperación hexadecimal

La aplicación ignora la configuración o no se inicia.

Causa raíz: Falta el corchete de cierre de la sección (por ejemplo, «[Settings» en lugar de «[Settings]») o hay un signo igual sin escapar en un valor.

Recuperación: Valida y corrija la sintaxis INI con Config Formatter de File2File.app.

Análisis de seguridad y vectores de ataque al analizador

Al deserializar archivos INI en objetos, los analizadores deben prevenir la inyección de secciones y la contaminación de prototipos.

Vectores de ataque conocidos

  • Inyección INI: un salto de línea en una entrada de usuario crea secciones de configuración no autorizadas.
  • Contaminación de prototipos en analizadores INI de JavaScript que asignan valores a «__proto__».
  • Denegación de servicio mediante la expansión recursiva y profunda de nombres de sección.

Mejores prácticas defensivas: Valida las entradas de usuario para impedir saltos de línea y prevenir la contaminación de prototipos.

Orígenes históricos e hitos

2000La biblioteca estándar de Python incluye configparser para trabajar con archivos INI.
1995Windows 95 introduce el Registro de Windows para sustituir los archivos INI monolíticos del sistema (SYSTEM.INI y WIN.INI).
1985Microsoft introduce WIN.INI como base de datos principal de configuración del sistema operativo Windows 1.0.

Ventajas principales

  • Su sintaxis es muy sencilla e intuitiva: hasta los usuarios sin conocimientos técnicos pueden leer y modificar los ajustes fácilmente.
  • Casi todos los lenguajes de programación incluyen API para analizar INI (configparser de Python, parse_ini_file de PHP, C#).
  • Las secciones evitan que coincidan los nombres de ajustes de distintas funciones de una aplicación.

Limitaciones técnicas

  • No existe una norma internacional formal: los caracteres de comentario (; o #) y las reglas de escape varían según el analizador.
  • Su jerarquía es plana: no admite matrices muy anidadas ni objetos complejos sin delimitadores personalizados.
  • Todos los valores se leen como cadenas, así que las aplicaciones deben convertir manualmente los números, valores booleanos y decimales.

Curiosidades técnicas interesantes

  • En Windows 3.1, todos los ajustes del sistema operativo se guardaban en solo dos archivos: WIN.INI y SYSTEM.INI.
  • Git usa el formato INI en el archivo de configuración principal del repositorio, ubicado en «.git/config».
  • Los archivos de accesos directos de Linux (.desktop, según la especificación XDG Desktop Entry) usan la sintaxis INI estándar.

Preguntas técnicas frecuentes

¿Para qué se utiliza un archivo INI?

Los programas de escritorio, los juegos y las herramientas de desarrollo, como la configuración de Git y PHP.ini, usan archivos INI para guardar preferencias y ajustes en un formato fácil de leer.

¿Cómo puedo editar un archivo INI?

Puedes abrir y editar archivos INI con cualquier editor de texto básico, como el Bloc de notas, TextEdit o VS Code, o hacerlo directamente en File2File.app.

¿Puedo convertir INI a JSON o YAML?

Sí. File2File.app convierte archivos INI a JSON, YAML o TOML directamente en el navegador.