Convertir INI a XML

Aquí puedes convertir INI a XML gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.

  • Dónde se ejecuta En tu navegador. El archivo no se sube.
  • Sin pérdida No se pierde nada. XML contiene exactamente lo que contenía INI.
  • Límite de tamaño Hasta 100 MB por archivo, gratis y sin cuenta.

Hasta 100 archivos a la vez. Mezclar formatos no es problema.

Qué le ocurre a un INI en cuanto se lee

El archivo se recorre línea a línea. Las líneas vacías y las que empiezan por punto y coma o por almohadilla se descartan; una línea entre corchetes abre una sección; el resto se parte por el primer signo igual en clave y valor. Si el valor viene entre comillas, se le quitan. El resultado es un objeto: las claves sueltas del principio quedan en la raíz y cada sección se convierte en un objeto hijo con su nombre.

Ese objeto es el único punto de encuentro entre los dos formatos. El escritor de XML no ve un INI, ve una estructura, y todo lo que esta página hace o deja de hacer se explica por lo que cabe en ella. El analizador está escrito a mano y no viene de un paquete, porque las bibliotecas de INI no se ponen de acuerdo ni sobre qué carácter abre un comentario.

Las secciones se convierten en elementos, con una condición

Un documento XML necesita exactamente un elemento raíz y un INI no tiene ninguno. La regla que se aplica es sencilla: si al leer el archivo queda una sola clave de primer nivel, ésa se convierte en la raíz; si queda más de una, todo se envuelve en un elemento llamado root.

En la práctica eso significa que un INI con una única sección produce un XML cuya raíz lleva el nombre de esa sección, y que un INI con tres secciones —o con una clave suelta antes de la primera sección— produce un root con tres hijos. Merece la pena mirar la primera línea del resultado antes de meterlo en un validador que espera una raíz concreta.

Los acentos y las eñes no sobreviven en los nombres de etiqueta

Ésta es la que hay que saber si el archivo está escrito en castellano. Un nombre de elemento se depura antes de escribirlo: todo lo que no sea una letra sin tilde de la A a la Z, un dígito, un guion bajo, un punto o un guion se sustituye por un guion bajo. Una sección llamada [Configuración] sale como el elemento Configuraci_n, y una clave contraseña sale como contrase_a.

También se depuran los espacios y los comienzos que no son válidos: [Datos del cliente] se convierte en Datos_del_cliente, y una clave que empiece por un dígito recibe un guion bajo delante, porque un nombre de elemento XML no puede empezar por número. Nada de esto rompe el archivo —el XML resultante es válido y se abre en cualquier parte—, pero si otro programa espera encontrar la etiqueta con su tilde, no la va a encontrar.

Los valores sí conservan sus tildes

La depuración se aplica solo a los nombres. En el contenido de los elementos únicamente se escapan los cuatro caracteres que XML no permite tal cual —ampersand, menor que, mayor que y comillas dobles—, así que una tilde, una eñe, una diéresis, un signo de apertura de interrogación o un símbolo de euro pasan intactos.

Es una asimetría que confunde si no se conoce: el mismo archivo puede tener el valor «Dirección de envío» perfectamente escrito dentro de un elemento llamado Direcci_n. Si la etiqueta importa, la solución es renombrar la sección en el INI con letras sin tilde antes de convertir, no arreglar el XML después.

Los comentarios desaparecen, y no hay dónde ponerlos

Todo lo que empieza por punto y coma o por almohadilla se descarta al leer, y el escritor de XML no emite comentarios en ningún caso. Un archivo de configuración documentado línea a línea sale convertido en datos limpios sin una sola explicación.

Ocurre en las cuatro direcciones de esta familia: YAML, TOML, INI y XML pierden los comentarios al convertirse en cualquiera de los otros, porque el valor al que se analizan no tiene un canal donde guardarlos. Si los comentarios eran la mitad del valor del archivo —y en una configuración suelen serlo—, conserva el INI original en lugar de sustituirlo por el XML.

Números que dejan de ser texto: 007, 1.0 y 1,5

Un INI es texto puro y la lectura decide tipos: true y false se convierten en booleanos y cualquier cosa que se interprete como un número finito se convierte en número. Suena inofensivo y tiene tres consecuencias muy concretas.

Un código escrito como 007 se convierte en el número 7 y pierde los ceros a la izquierda. Un valor 1.0 se convierte en el número 1 y sale escrito como 1, sin el decimal, así que una cadena de versión deja de parecerlo. Y —esto es puramente nuestro— un valor escrito con coma decimal, 1,5, no se interpreta como número y se queda tal cual como texto, mientras que 1.5 sí se convierte. Si el INI lo escribió una herramienta con configuración regional española, el mismo campo puede acabar tipado de dos maneras distintas en dos archivos.

Una arroba delante de la clave crea un atributo

El escritor de XML sigue una convención: una clave que empieza por arroba se escribe como atributo del elemento en lugar de como elemento hijo, y una clave llamada #text se escribe como el texto del propio elemento. Es la misma convención con la que se leen los XML en la dirección contraria, de modo que una ida y vuelta devuelve el documento de partida.

En un INI eso se puede aprovechar deliberadamente: una línea @id=17 dentro de una sección produce un atributo id="17" en el elemento correspondiente. Y también se puede tropezar con ello sin querer, si el archivo usaba la arroba por otro motivo. Merece la pena mirarlo si tu INI tiene claves con símbolos delante.

Dos secciones con el mismo nombre: gana la última

Cada cabecera entre corchetes crea un objeto nuevo y lo coloca en la raíz bajo ese nombre. Si el archivo repite una cabecera —[usuario] dos veces, por ejemplo—, la segunda sustituye a la primera y las claves de la primera no llegan al XML.

La duplicación no es frecuente en archivos escritos a mano, pero aparece al concatenar dos configuraciones o al pegar un fragmento de documentación dentro de un archivo existente. Si el número de elementos del XML no cuadra con el número de secciones que creías tener, ésa es la primera causa que hay que descartar.

Las líneas sin signo igual se ignoran

Una línea que no es una cabecera de sección y no contiene ningún signo igual se salta en silencio. Es lo que permite sobrevivir a archivos con una línea suelta de encabezado o con restos de una edición a medias.

Del lado bueno, el orden se respeta escrupulosamente: nada ordena las claves ni las secciones en ningún punto del camino, así que el XML sale en el mismo orden en que estaba escrito el INI. Eso hace que comparar los dos archivos con un visor de diferencias sea una manera rápida de comprobar que no falta nada.

Las barras invertidas de una ruta de Windows

INI es un formato de Windows y las rutas de Windows van llenas de barras invertidas, que en casi cualquier otro sitio significan un escape. Aquí la lectura las respeta: un valor sin comillas se toma exactamente como está escrito, así que ruta=C:\nuevo llega íntegro y no se convierte en una ruta con un salto de línea en medio.

El escape solo se aplica a los valores que nosotros escribimos y solo cuando hace falta, y en ese caso el valor va entre comillas para que al releerlo se recupere el mismo texto. Es una asimetría deliberada: los archivos escritos a mano son los que hay que respetar tal cual, y los que generamos nosotros son los que podemos permitirnos citar.

Si el destino no fuera XML sino JSON, YAML o TOML

Los cuatro formatos de árbol de esta familia se convierten entre sí y todos conservan la estructura de secciones que sale de leer el INI. JSON, YAML, TOML y XML tienen todos dónde guardar un objeto dentro de otro, así que la elección entre ellos es de destino y de gusto, no de pérdida.

La dirección incómoda es la contraria. INI no tiene anidamiento: cualquier estructura de más de un nivel que se convierta hacia INI se aplana en claves con puntos, y eso no se deshace después. Si estás moviendo configuración entre sistemas y en algún punto pasa por un INI, ése es el paso donde se pierde la forma.

Cien megas, ningún envío y ningún motor que descargar

Esta conversión es JavaScript normal dentro de tu pestaña: no hay módulo WebAssembly que bajar y no hay servidor de por medio. Un archivo de configuración es de las cosas que menos deberían subirse a una página web —lleva rutas internas, nombres de servidor, a veces credenciales— y aquí sencillamente no se transmite.

El tope por archivo son 100 MB, que un INI no alcanza jamás, y puedes soltar hasta cien archivos de una vez para que vuelvan juntos en un ZIP. Es lo razonable cuando lo que estás migrando es la configuración de una flota de equipos y no un archivo suelto.

Cómo convertir INI a XML

  1. Suelta tu archivo INI en esta página, o haz clic para elegir uno.
  2. Elige XML como destino. La conversión ocurre en tu navegador y el archivo no se sube.
  3. Descarga el archivo XML terminado.

INI frente a XML: qué cambia

INI frente a XML
INIXML
Nombre completoConfiguración INIExtensible Markup Language
Extensión de archivo.ini, .cfg, .conf.xml
Tipo de mediotext/plainapplication/xml
Publicado por primera vez19851998
Publicado porW3C
EspecificaciónXML 1.0
LicenciaEstándar abiertoEstándar abierto
Situación actualAntiguo, aún se lee en todas partesVigente
Se abre en el navegadorNingún navegadorTodos los navegadores
Considerado en su lugarTOML, YAMLJSON, YAML

Qué se conserva

Los comentarios pasan. INI y XML tienen sintaxis de comentario, así que las notas para quien mantenga el archivo después no se tiran en silencio.

Abrir el resultado

XML se abre en cualquier navegador actual. INI llega a menos navegadores todavía. Si el archivo va a una página web o a un formulario, ese suele ser todo el motivo de la conversión.

INI es de 1985 y está prácticamente superado. XML es lo que escribe el software actual, así que convertir también es una forma de seguir pudiendo leerlo.

Visual Studio Code lee tanto INI como XML, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

Los dos apuntan a trabajos distintos: INI a la edición y XML a mover datos entre programas. Conviene sopesarlo antes, porque la razón de ser de uno suele ser la razón por la que el otro resulta incómodo.

XML viene de W3C y es de 1998, recogido en XML 1.0. Visual Studio Code y oXygen XML Editor lo leen.

De INI a XML: preguntas frecuentes

¿Se sube a algún sitio mi archivo INI?

No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.

¿Convertir INI a XML es gratis?

Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.

¿Se pierde calidad al convertir INI a XML?

No. XML guarda el mismo contenido sin tirar nada: el resultado es idéntico en calidad al original.

¿Tengo que instalar algo para abrir un archivo XML?

Para la conversión no: ocurre en el navegador que ya tienes abierto. Para abrir el resultado necesitas después el programa con el que tu dispositivo muestra normalmente Extensible Markup Language.

Más sobre estos formatos