Conversor gratuito de texto a CSV

Convierte datos textuales tabulares al formato CSV. Detección automática de separadores, gestión de comillas y vista previa antes de descargar.

Tus datos nunca salen de tu dispositivo

Acerca del formato CSV

CSV (Comma-Separated Values, valores separados por comas) es un formato de texto simple para almacenar datos tabulares. Cada fila representa un registro y los valores están separados por comas. CSV está ampliamente admitido por hojas de cálculo, bases de datos y herramientas de análisis.

¿Por qué convertir a CSV?

Preguntas frecuentes

¿Qué separadores admite la herramienta?

Detecta automáticamente tabulación, espacio, coma, punto y coma y barra vertical. También puedes definir un separador personalizado de un solo carácter.

¿Cómo gestionar los campos que contienen una coma?

Activa la opción «Entrecomillar los campos que contienen una coma» para rodearlos de comillas, lo que los hace conformes con CSV.

¿Puedo incluir un encabezado?

Sí, activa la opción «Incluir una fila de encabezado» si tu primera fila contiene los nombres de las columnas.

Una breve historia del CSV, más antigua que la especificación que lo define

El CSV es el formato que todo el mundo usa y que no pertenece a nadie. Su linaje es informal. El uso documentado más temprano de la convención de valores separados por comas se remonta a 1972, cuando IBM Fortran (nivel H extendido) admitía la entrada/salida dirigida por listas, donde las comas servían de separadores entre los valores de una línea. A lo largo de las décadas de 1970 y 1980, cada base de datos, hoja de cálculo, paquete estadístico y aplicación de contabilidad que necesitaba intercambiar datos con otra herramienta inventó de forma independiente alguna variante de «valores separados por algún carácter en líneas separadas por algún otro carácter». No había especificación. No había ningún organismo rector. No había ninguna implementación canónica. Solo había consenso, en el sentido más laxo posible.

A principios de la década de 2000, el coste del caos se volvió imposible de ignorar. El IETF acabó aceptando una especificación, la RFC 4180, «Common Format and MIME Type for Comma-Separated Values (CSV) Files», publicada en octubre de 2005 por Yakov Shafranovich. La RFC 4180 es corta, apenas un puñado de páginas, y codificó aquello en lo que la mayoría de la gente ya había convergido: una coma como separador de campos, la comilla doble como carácter de delimitación opcional para los campos que contienen comas, comillas o saltos de línea, las comillas dobles duplicadas ("") como forma de escapar una comilla literal dentro de un campo entrecomillado, CRLF como terminador de línea y text/csv como el tipo MIME registrado en la IANA. La especificación también definió un parámetro header opcional para el tipo MIME, de modo que un emisor pudiera indicar a un receptor si la primera línea es una fila de encabezado.

La RFC 4180 es informativa, no una norma estricta. Su cumplimiento es voluntario. Pero nos da un objetivo, lo más parecido que tiene el CSV a una definición de lo «correcto». Un documento posterior, el «Model for Tabular Data and Metadata on the Web» del W3C (CSVW, 2015), intentó ampliar la cuestión de los metadatos del CSV adjuntando un archivo JSON complementario que indica qué es cada columna y cómo interpretarla. El CSVW se cita mucho y se implementa poco.

El «CSV» del mundo real no significa lo que dice la RFC 4180

Cualquiera que haya tenido que recibir un CSV de un desconocido conoce la forma del problema. Los desacuerdos se reparten a lo largo de varios ejes:

La trampa de la BOM

Esto merece su propia sección porque es la causa más común de dolor del CSV entre plataformas. Microsoft Excel no detecta automáticamente un CSV codificado en UTF-8 a menos que el archivo empiece con una marca de orden de bytes (BOM) de UTF-8: los tres bytes EF BB BF, que codifican el carácter Unicode U+FEFF. Sin la BOM, Excel abre el archivo en la página de códigos heredada de la configuración regional de Windows del usuario (Windows-1252 en Occidente, Shift_JIS en Japón, GBK en China continental). Cualquier carácter no ASCII (letras acentuadas, símbolos de moneda, emojis, caracteres CJK) se corrompe.

La solución es anteponer la BOM. El coste es que todo lo demás se atraganta con ella. Apple Numbers (hasta versiones recientes) muestra la BOM como un carácter literal en la primera celda. Muchas herramientas de línea de comandos (awk, cut, el sed antiguo) tratan la BOM como parte del primer campo, de modo que un encabezado que debería leerse name se lee name. La mayoría de los analizadores de CSV de JavaScript la eliminan; muchos flujos de trabajo antiguos del módulo csv de Python no lo hacen (hay que abrir el archivo con el códec utf-8-sig). Dado que una herramienta en línea gratuita no puede saber dónde abrirá el usuario el archivo, omitir la BOM y documentar que los usuarios de Excel deberían usar Datos → Desde texto/CSV (que siempre permite al usuario elegir UTF-8 de forma explícita) es un valor por defecto razonable.

Excel incluye al menos cuatro formatos «CSV»

El cuadro de diálogo «Guardar como» de Excel ofrece más de una variante de CSV, y las diferencias importan:

La etiqueta que ve el usuario dice «CSV» de cuatro maneras distintas. El contenido real del archivo es sustancialmente diferente. Esta es la realidad práctica dentro de la cual opera el conversor.

Por qué convertir texto → CSV, en concreto

La mayoría de las «herramientas de CSV» en línea funcionan en sentido inverso: toman un CSV y producen otra cosa (JSON, una tabla HTML, un INSERT de SQL, un PDF imprimible). Esta funciona al revés: toma texto desordenado y produce CSV limpio. Ese es el caso de uso para:

Excel reescribirá tus datos, a veces en silencio

Un puñado de trampas del CSV muerden incluso a los usuarios cuidadosos:

Dónde encaja esta herramienta entre las alternativas modernas al CSV

El CSV sobrevive porque es texto y los humanos pueden leerlo. Para el intercambio serio de datos, varios formatos le han comido terreno en dimensiones concretas:

Para un conversor en línea gratuito dirigido a desarrolladores y oficinistas, el CSV sigue siendo el formato de salida adecuado porque es la lingua franca de la importación de datos en todas partes. Existen alternativas modernas; no han desplazado al CSV de la bandeja de entrada.

Más preguntas

¿Debería añadir una BOM de UTF-8 a la salida?

Si el archivo está destinado a abrirse con doble clic en Excel en Windows, sí: sin la BOM, Excel lo abre en la página de códigos heredada y corrompe el texto no ASCII. Si está destinado a cualquier otra cosa (Apple Numbers, scripts de línea de comandos, formularios web de subida), omite la BOM. La vía más segura es omitir la BOM e indicar a los usuarios de Excel que importen mediante Datos → Desde texto/CSV, donde pueden elegir UTF-8 de forma explícita.

Mi CSV se abre con una celda por fila en Excel, ¿qué ha salido mal?

Casi siempre es un desajuste de separador. Estás en una configuración regional donde Excel espera punto y coma (la mayor parte de Europa continental), pero el archivo usa comas, o viceversa. Ábrelo con Datos → Desde texto/CSV en lugar de hacer doble clic; ese asistente te permite elegir el delimitador de forma explícita. O guarda el archivo desde el menú Guardar como de Excel usando la variante que coincida con tu separador local.

¿Cuál es la diferencia entre TSV y CSV?

TSV usa caracteres de tabulación como separador en lugar de comas, con su propio tipo MIME text/tab-separated-values y su registro en la IANA. La ventaja de TSV es que los datos del mundo real rara vez contienen tabulaciones literales, así que casi nunca hace falta entrecomillar; la desventaja es que las tabulaciones son invisibles en los editores de texto y el comportamiento de copiar y pegar varía. La maquinaria de entrecomillado del CSV lo hace seguro para los campos que contienen el delimitador; TSV en su mayor parte evita el problema por completo.

¿Hay algún linter de CSV que pueda ejecutar antes de compartir mi archivo?

Sí: para uso en línea de comandos, el csvclean de csvkit informa de las filas con un número de columnas incorrecto. La CLI frictionless de Frictionless Data valida contra un esquema opcional. Para el trabajo en el navegador, PapaParse informa de los errores de análisis línea a línea. La validación estricta contra la RFC 4180 (finales de línea CRLF, escape de comillas duplicadas) es rara en la práctica; la mayoría de los analizadores aceptan cualquiera de las variantes comunes.

Herramientas relacionadas