Convertir CSV a JSON
Pegue un CSV con encabezados y obtenga un registro por fila: en Ada, "Compiler, pioneer", true la coma entre comillas queda dentro del mismo valor. Si una fila tiene columnas de más o de menos, se indica su número. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Admite comas entrecomilladas, comillas escapadas, finales de línea de Windows o Unix y saltos de línea dentro de valores entrecomillados. Cada fila debe tener exactamente tantas columnas como la cabecera; de lo contrario, la conversión se detiene con un error preciso.
Prepare el texto CSV con una cabecera fiable
Comience con una fila de cabecera que asigne a cada columna un nombre único y no vacío. Los valores permanecen como cadenas porque CSV no incorpora un sistema de tipos fiable: algo que parece un número puede ser un código de cuenta con ceros iniciales significativos, y una fecha puede ser ambigua según la región. Conservar el texto evita suposiciones destructivas y permite que la aplicación receptora aplique su propio esquema.
El conversor admite finales de línea Unix y Windows y elimina una marca de orden de bytes inicial añadida por algunas hojas de cálculo. También reconoce el entrecomillado CSV estándar. Encierre un valor entre comillas dobles si contiene una coma o un salto de línea, y duplique una comilla literal.
Los espacios se conservan.
Comprenda la validación estricta del número de columnas
La conversión aplica deliberadamente una estructura estricta. Después de analizar la cabecera, cuenta sus columnas y exige que todos los registros posteriores tengan el mismo número. Un valor final ausente debe representarse como un campo vacío, incluida la coma que lo introduce.
Del mismo modo, una coma inesperada crea otra columna salvo que esté dentro de un campo correctamente entrecomillado. Si un registro no coincide, la operación indica el número de fila CSV empezando por uno, las columnas encontradas y las esperadas. Así se evita un fallo frecuente y peligroso de los conversores permisivos: que los valores terminen bajo encabezados equivocados o que desaparezcan campos sin aviso.
Se permiten valores vacíos y se convierten en cadenas vacías; no se permiten registros incoherentes. El analizador también rechaza campos entrecomillados sin cerrar, comillas en mitad de un campo sin entrecomillar y caracteres que aparezcan después de la comilla de cierre. Estos controles revelan los archivos defectuosos antes de almacenar o transformar propiedades incorrectas.
Cómo usar los registros convertidos sin sorpresas
Como el algoritmo es determinista, el mismo texto CSV siempre genera la misma salida, sin solicitudes de red, valores aleatorios ni marcas de tiempo. Considere el resultado una conversión estructural fiel, no una limpieza de datos. La herramienta no infiere números, booleanos, fechas ni valores nulos, tampoco cambia encabezados ni repara filas rotas.
Esta separación es útil: la conversión determina qué valor corresponde a cada cabecera y un esquema posterior decide qué significa. Si el origen usa otro delimitador, normalícelo a comas antes de convertir. Conserve cualquier fila fallida como caso de regresión para impedir que futuras exportaciones repitan el defecto.
Qué puede hacer con ella
Valide un flujo de exportación
Rechace el CSV generado en cuanto un registro tenga menos o más campos que la cabecera declarada.
Preguntas frecuentes
¿Los campos pueden contener comas o saltos de línea?
Sí. Encierre el campo entre comillas dobles. Una comilla literal dentro de un campo entrecomillado se escribe dos veces.
¿Qué ocurre si una fila tiene un número de columnas incorrecto?
La conversión falla con un error de entrada que identifica la fila e indica las cantidades real y esperada.
¿Se admiten celdas vacías?
Sí. Una celda vacía se convierte en una cadena vacía si la fila mantiene el número correcto de columnas.
¿Por qué los números y las fechas se quedan como texto?
Porque un CSV no lleva tipos fiables: una cifra puede ser un código de cuenta con ceros a la izquierda que importan, y una fecha se lee distinto según la región. Su aplicación decide después qué tipo dar a cada valor.
¿Puedo convertir un archivo separado por punto y coma?
No directamente: el conversor espera valores separados por comas, así que cambie antes el separador por comas. Los valores que contengan una coma deben ir entonces entre comillas dobles.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/csv-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"name,role,active\nAda,Engineer,true\nGrace,Admiral,false"}'const res = await fetch("https://api.kit.forhosting.com/web/csv-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "name,role,active\nAda,Engineer,true\nGrace,Admiral,false"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/csv-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "name,role,active\nAda,Engineer,true\nGrace,Admiral,false"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/csv-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"name,role,active\\nAda,Engineer,true\\nGrace,Admiral,false"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"name,role,active\nAda,Engineer,true\nGrace,Admiral,false"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/csv-to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "name,role,active\nAda,Engineer,true\nGrace,Admiral,false"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.csv_to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Convierta CSV a JSON cuando necesite un objeto predecible por cada fila de datos, sin aceptar silenciosamente entradas defectuosas. Pegue texto CSV con una fila de cabecera y la herramienta usará cada encabezado como nombre de propiedad JSON.
Prepare el texto CSV con una cabecera fiable
Esos nombres se convierten en las claves de cada objeto JSON; por ejemplo, name,email,status genera objetos con esas tres claves exactas. Un documento que solo contiene la cabecera es válido y produce un array JSON vacío.
Utilice la salida JSON de forma segura
El resultado es un array JSON en el orden original, con un objeto simple por cada registro de datos. Puede enviarlo a una API, revisarlo en una prueba, guardarlo como documento JSON o pasarlo a una validación que aplique tipos específicos del dominio. Para automatizar, la API cuesta $0.002 por solicitud; la conversión interactiva puede ejecutarse en el navegador.
Casos de integración
Prepare una carga para una API
Transforme una exportación de hoja de cálculo en objetos con claves coherentes antes de aplicar el esquema de la API.
Cree casos de prueba deterministas
Convierta muestras CSV compactas en arrays JSON estables y fáciles de comparar en pruebas automatizadas.
Preguntas técnicas
¿Los números y booleanos se convierten a tipos JSON nativos?
No. Cada celda CSV sigue siendo una cadena para no alterar códigos, ceros iniciales ni valores ambiguos mediante suposiciones.
¿Cuánto cuesta la conversión por API?
La API cuesta $0.002 por solicitud. La misma conversión determinista puede ejecutarse de forma interactiva en el navegador.