Convertir un feed RSS a CSV
Convierte un feed, una exportación de productos o un archivo RSS en una tabla de hoja de cálculo. El elemento de registro repetido se detecta por ti, sin XPath.
Suelta tus archivos aquí
.xml, .rss, .xhtml, .txt · hasta 300 MB
Más ajustesMenos ajustes
Cómo convertir a CSV
- 1
Suelta tu archivo XML
Arrastra un archivo .xml o .rss a la página. Primero se valida, así un cierre de etiqueta que falte se informa con su línea y columna en lugar de darte media tabla.
- 2
Confirma el elemento de registro
Se detecta el elemento repetido y se muestra con cuántos registros contiene, por ejemplo rss.channel.item con cuarenta. Elige otro candidato si no es el nivel que querías.
- 3
Convierte y descarga el CSV
Pulsa el botón y guarda la tabla.
Las filas son entradas, no etiquetas
La página se abre con rss.channel.item en «Elemento repetido», la ruta a las entradas de un feed RSS 2.0. La página principal de XML a CSV empieza en auto. El modo auto elige el elemento que más se repite, pero solo mira dentro de la primera entrada. Un feed de WordPress tiene 10 entradas por defecto, y cada categoría o etiqueta de una entrada es un elemento category. El 21 de octubre de 2026 probamos un feed de 10 entradas cuya primera entrada tenía 12 etiquetas. Auto dio 30 filas con nombres de etiquetas; la configuración de esta página dio 10 filas y 15 columnas. La página no indica qué ruta usó, así que cuenta las filas.
En qué se convierte cada entrada
Cada elemento de una entrada se convierte en una columna: title, link, pubDate, creator, category, guid, description y encoded. Los feeds de pódcast añaden enclosure.@url, enclosure.@length y enclosure.@type. Las etiquetas de una entrada comparten una celda, como «Jardinería, Tomates, Semillas». «Una columna por elemento», en «Más ajustes», da a cada etiqueta su propia columna. Las fechas se quedan como las escribió el feed: Mon, 19 Oct 2026 08:00:00 +0000. El HTML de description y content:encoded llega tal cual, entidades como … incluidas.
Dos cosas que vigilar en los feeds de WordPress
Cuando los comentarios están abiertos, WordPress da a cada entrada un enlace en comments y un recuento en slash:comments. «Quitar prefijos de espacio de nombres» está activado al empezar, así que los dos pasan a llamarse comments y comparten una celda: «…/#respond, 1». Desactívalo en «Más ajustes» para mantenerlos separados; entonces los demás nombres conservan sus prefijos, como en dc:creator. Las entradas largas son la otra cosa. El 21 de octubre de 2026, el feed de WordPress News, con 10 entradas y 293 KB, se convirtió en 10 filas y 11 columnas en 0,14 segundos. Microsoft fija el límite de una celda de Excel en 32 767 caracteres. El HTML de dos entradas lo superaba, y el más largo llegaba a 127 278.
Feeds Atom, varios feeds y el resultado
Un feed Atom guarda sus entradas en feed.entry. Aquí recibe la respuesta «Este XML no tiene un elemento repetido, así que no hay filas para crear». Escribe feed.entry o auto y pulsa «Volver a intentarlo». Los enlaces y las categorías de Atom están en atributos: «Unir en una sola celda» deja una coma suelta, y «Una columna por elemento» los conserva. La página lee un archivo .xml o .rss guardado, no la dirección de un feed. Hasta 20 feeds, 300 MB en total, llegan como pulsarkit-batch.zip, con un CSV cada uno. No se sube nada, y CSV a Excel convierte el CSV en un libro.
No se sube nada para convertirlo
El validador, el analizador y el generador de CSV son JavaScript que se ejecuta en esta pestaña del navegador. Ninguna parte de tu documento se envía a un servidor ni se registra, y la herramienta sigue funcionando con la red desconectada. Para que puedas continuar en otra herramienta, PulsarKit puede guardar en este navegador una copia local de tus datos de entrada o de tu resultado. Esa copia puede conservarse después de cerrar la pestaña o reiniciar el navegador. Para eliminarla, borra los datos del sitio de PulsarKit.
Preguntas frecuentes
¿Cómo decide la herramienta qué elemento es un registro?
Cuenta repeticiones. Cada ruta hasta una profundidad de seis se examina en busca de elementos hermanos con el mismo nombre, y la ruta con más de ellos se convierte en el registro; si dos rutas empatan, gana la más profunda. Las alternativas siguen visibles con sus recuentos, y también puedes escribir una ruta tú mismo cuando el documento es poco habitual.
¿Dónde terminan los atributos XML?
Cada atributo se convierte en una columna con un prefijo @, así un atributo id pasa a ser @id y se mantiene distinto de un elemento hijo id. Si tu exportación lleva atributos que no necesitas, al cambiar atributos a omitir se eliminan todos y la tabla queda más estrecha.
¿Qué pasa con los elementos anidados dentro de un registro?
Se convierten en columnas con nombre con puntos, como price.currency, hasta el límite de profundidad que definas. Por debajo de ese límite todo el subárbol se escribe en una sola celda como JSON, lo que mantiene los datos disponibles sin crear miles de columnas casi vacías.
¿Por qué el CSV empieza con una marca de orden de bytes?
Para que Excel reconozca el archivo como UTF-8 al hacer doble clic en lugar de adivinar una página de códigos antigua y estropear texto con acentos o cirílico. Si el archivo va a un script o a un cargador de base de datos al que no le gusta la marca, el UTF-8 sin BOM está a un ajuste de distancia.
Excel muestra todo en una sola columna. ¿Qué salió mal?
Nada en el archivo. Excel separa usando el separador de tu configuración regional, que es el punto y coma en gran parte de Europa. Convierte de nuevo con punto y coma seleccionado, o usa Datos y luego Texto en columnas en el archivo que ya tienes.
¿Funciona con un feed RSS o Atom?
Sí, ese es el caso más sencillo. La detección cae en rss.channel.item o en el elemento entry equivalente, cada item se convierte en una fila, y las extensiones con espacio de nombres como Dublin Core o etiquetas de medios llegan como columnas normales una vez quitados los prefijos.
¿Por qué aparece una comilla antes de un valor que empieza por signo igual?
Porque una hoja de cálculo lo trataría como una fórmula, y un valor de un feed no confiable se puede diseñar para ejecutar un comando al abrir el archivo. Un apóstrofo inicial lo neutraliza. Los números negativos simples como -5 se dejan tal cual.
Mi archivo tiene un DOCTYPE y fue rechazado. ¿Por qué?
Se rechaza a propósito un DOCTYPE que declare entidades. Las definiciones de entidades anidadas pueden expandirse a gigabytes de texto y congelar la pestaña, y las externas pueden intentar leer archivos de otros sitios. Quita las declaraciones de entidades del DOCTYPE y el documento se convierte con normalidad.