Formateador de CSV

Formatea y normaliza datos CSV con opciones de delimitador personalizadas

Prueba un ejemplo

Entrada CSV

CSV formateado

Se ejecuta localmente · Es seguro pegar secretos
El CSV formateado aparecerá aquí…
Delimitador de salida:

¿Qué es el formateo de CSV?

El formateo de CSV (Comma-Separated Values) es el proceso de normalizar texto tabular sin procesar para que los delimitadores, el entrecomillado, los espacios en blanco y los finales de línea sigan un conjunto coherente de reglas. RFC 4180, publicado en 2005, define el estándar CSV más ampliamente adoptado: campos separados por comas, registros terminados con CRLF, y cualquier campo que contenga una coma, comilla doble o salto de línea envuelto en comillas dobles. Un formateador de CSV toma datos CSV desordenados o inconsistentes y los reescribe para ajustarse a estas convenciones.

En la práctica, los archivos CSV raramente llegan en un formato limpio. Las exportaciones de hojas de cálculo de Excel, Google Sheets y las utilidades de volcado de bases de datos aplican distintas estrategias de entrecomillado, gestionan los espacios de manera diferente y pueden usar punto y coma o tabulaciones en lugar de comas. Cuando estos archivos se envían a un parser que espera una entrada estrictamente conforme a RFC 4180, el resultado suele ser filas rotas, columnas desplazadas o pérdida silenciosa de datos. Formatear antes de procesar detecta estos problemas de forma temprana.

Un formateador de CSV es diferente de un conversor de CSV. El formateo mantiene los datos en CSV. Normaliza el entrecomillado, recorta espacios innecesarios, realinea columnas y, opcionalmente, cambia el delimitador. La conversión cambia el formato por completo, produciendo salida en JSON, HTML, SQL o Markdown.

¿Por qué usar este formateador de CSV?

Esta herramienta parsea y re-serializa tu CSV completamente en el navegador. Tus datos nunca salen de tu máquina.

Formateo instantáneo
Pega tu CSV y ve el resultado limpio de inmediato. El formateador parsea y re-serializa en el navegador mientras escribes.
🔒
Procesamiento con privacidad prioritaria
Todo el parseo y formateo ocurre en la pestaña de tu navegador. No se transmite ningún dato por la red. Seguro para conjuntos de datos propietarios, credenciales y PII que no deben salir de tu máquina.
🔧
Delimitadores configurables
Cambia entre delimitadores de coma, tabulación, punto y coma y barra vertical. La herramienta detecta automáticamente el delimitador de entrada y te permite elegir uno diferente para la salida, lo que simplifica la normalización entre formatos.
📋
Copiar y descargar con un clic
Copia el CSV formateado al portapapeles o descárgalo como archivo. Listo para importar en bases de datos, hojas de cálculo o pipelines de datos sin edición adicional.

Casos de uso del formateador de CSV

Desarrollo frontend
Limpia archivos CSV de fixtures utilizados como datos de prueba en componentes de React o Vue. Un entrecomillado coherente evita fallos de parseo durante las compilaciones de desarrollo.
Ingesta de datos en backend
Normaliza las exportaciones CSV de APIs de terceros antes de introducirlas en tu pipeline ETL. Recortar espacios y estandarizar delimitadores evita errores de desplazamiento de columnas.
DevOps y CI/CD
Formatea archivos CSV de configuración o datos semilla incluidos en el control de versiones. Un formateo coherente reduce el ruido en los diffs y agiliza las revisiones de código.
QA y pruebas
Prepara fixtures de prueba CSV con patrones de entrecomillado y delimitadores conocidos. Los archivos de entrada reproducibles facilitan la escritura de aserciones sobre la salida del parser.
Ingeniería de datos
Pre-procesa volcados CSV de bases de datos antiguas antes de cargarlos en almacenes de datos modernos. Corregir problemas de entrecomillado y discordancias de delimitadores ahorra horas de depuración.
Aprendizaje y educación
Experimenta con las reglas de entrecomillado de RFC 4180 pegando diferentes entradas y observando cómo las normaliza el formateador. Una forma práctica de entender los casos límite del CSV.

Reglas de entrecomillado y escape en CSV (RFC 4180)

RFC 4180 define reglas específicas sobre cuándo y cómo deben entrecomillarse los campos. Los seis escenarios que se muestran a continuación cubren los casos en que el comportamiento del entrecomillado es relevante.

EscenarioEjemploRegla
Field contains delimitername,"Smith, Jr."Wrap in double quotes
Field contains newline"line1\nline2"Wrap in double quotes
Field contains double quote"She said ""hello"""Double the quote character
Field is empty,,Two consecutive delimiters
Field has leading spaces" value"Quotes preserve whitespace
Field is numeric42No quotes required unless forced

Comparación de delimitadores CSV

La elección del delimitador afecta la compatibilidad, la legibilidad y la frecuencia con la que necesitarás campos entrecomillados.

Coma (,)
El valor predeterminado de RFC 4180. Compatible con todos los parsers CSV y hojas de cálculo. Requiere entrecomillado cuando los valores de campo contienen comas, lo que es habitual en datos de direcciones y texto.
Tabulación (\t)
Se utiliza en archivos TSV (Tab-Separated Values). Los caracteres de tabulación raramente aparecen en los datos de los campos, por lo que el entrecomillado casi nunca es necesario. Común en bioinformática y exportaciones de bases de datos.
Punto y coma (;)
Estándar en exportaciones CSV con configuración regional europea (Alemania, Francia, Brasil) donde la coma se utiliza como separador decimal. Excel usa punto y coma cuando la configuración regional del sistema emplea decimales con coma.
Barra vertical (|)
Poco frecuente en texto natural, lo que lo convierte en una buena opción para datos desordenados donde comas y punto y coma aparecen en los valores de los campos. Común en exportaciones de mainframes y sistemas heredados.

Ejemplos de código

Estos ejemplos muestran cómo parsear CSV desordenado y re-serializarlo con un formateo coherente en distintos lenguajes. Cada fragmento gestiona el recorte de espacios, la normalización de delimitadores y el entrecomillado.

JavaScript (Node.js)
import { parse, unparse } from 'papaparse'

const messy = `name, age ,city
Alice , 30, Berlin
Bob,25 , " Tokyo "`

// Parse with trimming, then re-serialize with consistent formatting
const parsed = parse(messy, {
  header: true,
  skipEmptyLines: true,
  transformHeader: h => h.trim(),
  transform: v => v.trim(),
})

const clean = unparse(parsed.data, { quotes: true })
console.log(clean)
// → "name","age","city"
// → "Alice","30","Berlin"
// → "Bob","25","Tokyo"
Python
import csv
import io

messy = """name, age ,city
Alice , 30, Berlin
Bob,25 , " Tokyo " """

reader = csv.DictReader(io.StringIO(messy), skipinitialspace=True)
output = io.StringIO()
writer = csv.DictWriter(
    output,
    fieldnames=[f.strip() for f in reader.fieldnames],
    quoting=csv.QUOTE_ALL,
)
writer.writeheader()
for row in reader:
    writer.writerow({k.strip(): v.strip() for k, v in row.items()})

print(output.getvalue())
# → "name","age","city"
# → "Alice","30","Berlin"
# → "Bob","25","Tokyo"
Go
package main

import (
	"encoding/csv"
	"fmt"
	"strings"
)

func main() {
	input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
	r := csv.NewReader(strings.NewReader(input))
	records, _ := r.ReadAll()

	var buf strings.Builder
	w := csv.NewWriter(&buf)
	w.UseCRLF = true // RFC 4180 line endings
	for _, record := range records {
		_ = w.Write(record)
	}
	w.Flush()
	fmt.Print(buf.String())
	// → name,age,city\r\n
	// → Alice,30,Berlin\r\n
	// → Bob,25,Tokyo\r\n
}
CLI (csvformat from csvkit)
# Re-format a CSV file with csvkit (Python-based)
csvformat -D ";" input.csv > output.csv

# Convert tabs to commas
csvformat -t input.tsv > output.csv

# Force-quote all fields
csvformat -U 1 input.csv > quoted.csv

# Using Miller (mlr) to normalize
mlr --icsv --ocsv --quote-all cat input.csv > clean.csv

Preguntas frecuentes

¿Qué hace un formateador de CSV?
Un formateador de CSV parsea texto CSV sin procesar, normaliza el entrecomillado alrededor de los campos, recorta espacios innecesarios y re-serializa los datos con un delimitador y un estilo de final de línea coherentes. El resultado es un archivo CSV limpio que se ajusta a RFC 4180 o a las reglas de formateo que hayas elegido.
¿En qué se diferencia el formateo de CSV de la validación de CSV?
La validación comprueba si un archivo CSV se ajusta a un conjunto de reglas e informa de los errores. El formateo va más allá: reescribe el archivo para corregir esos problemas. Un validador te indica que la fila 5 tiene una coma sin entrecomillar. Un formateador lo corrige añadiendo comillas alrededor del campo.
¿Por qué necesito formatear los archivos CSV antes de importarlos?
Las herramientas de importación de bases de datos, los pipelines ETL y el software de hojas de cálculo tienen reglas de parseo de CSV ligeramente diferentes. Un campo sin entrecomillar que contiene una coma se dividirá en dos columnas en parsers estrictos. Formatear tu CSV para que siga RFC 4180 antes de la importación evita estos errores de desplazamiento de columnas y la corrupción silenciosa de datos.
¿Se envían mis datos a un servidor cuando uso esta herramienta?
No. Todo el parseo y el formateo ocurre en tu navegador usando JavaScript. Tus datos CSV permanecen en tu máquina y nunca se transmiten por la red. Puedes verificarlo abriendo la pestaña Red de tu navegador mientras usas la herramienta.
¿Puedo cambiar el delimitador al formatear?
Sí. La herramienta detecta automáticamente el delimitador de entrada (coma, tabulación, punto y coma o barra vertical) y te permite seleccionar un delimitador diferente para la salida. Esto es útil cuando se convierte entre formatos CSV regionales o se cambia de TSV a CSV estándar.
¿Cómo gestiona la herramienta los campos entrecomillados con saltos de línea incrustados?
Según RFC 4180, los campos que contienen saltos de línea deben encerrarse entre comillas dobles. El formateador preserva estos saltos de línea incrustados y garantiza que las comillas envolventes estén presentes. Si un campo tiene un salto de línea sin entrecomillar en la entrada, el formateador lo envuelve en comillas durante la re-serialización.
¿Cuál es el tamaño máximo de archivo que puede manejar esta herramienta?
Dado que la herramienta se ejecuta en tu navegador, el límite práctico depende de la memoria disponible en tu dispositivo. Los archivos de hasta 10-20 MB generalmente se procesan sin problemas en máquinas modernas. Para archivos más grandes, una herramienta de línea de comandos como csvkit o Miller es una opción mejor.