Comprobador de paréntesis y corchetes
Pegue un texto y sepa si cada (, [ y { se cierra en el orden correcto: (a[b]) está equilibrado, con una profundidad máxima de 2. Si algo falla, recibe la posición del primer error. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- (a[b])
- Profundidad máxima
- 2
Compruebe si paréntesis, corchetes y llaves están equilibrados. Intención de búsqueda: comprobador de paréntesis corchetes equilibrados. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Cómo funciona
Compruebe si paréntesis, corchetes y llaves están equilibrados. El análisis con pila informa la profundidad máxima y el índice del primer error. La implementación es JavaScript puro, sin servicios externos.
No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta. Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda con palabras clave precisas.
Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos incorrectos. Si un campo es opcional, los valores por defecto figuran en params y se repiten en la salida.
Entradas, límites y redondeo
Los decimales opcionales usan half-up una vez. Las salidas repiten entradas clave para que la automatización registre el contexto completo de cada llamada. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda con palabras clave precisas. Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos incorrectos.
Cuando
Cuándo usarlo
Úselo cuando su intención de búsqueda coincida con el nombre de la calculadora y necesite una respuesta reproducible para docencia, operaciones financieras, GIS, herramientas de texto o historia de unidades. Compruebe si paréntesis, corchetes y llaves están equilibrados. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda con palabras clave precisas. Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos incorrectos.
Cuando un campo es opcional, los valores por defecto figuran en
Preguntas frecuentes
¿Llama a la red?
No. Todas las transformaciones matemáticas y de texto son locales y deterministas.
¿Quién es el autor?
Aspire (elon@forhosting.com), entrega solo en EN; Nitro hidrata los locales.
¿Qué significa que los paréntesis estén equilibrados?
Que cada paréntesis, corchete o llave de apertura tiene su cierre del mismo tipo, y que se cierran en orden inverso al que se abrieron. Tener el mismo número de signos de apertura y de cierre no basta si el orden no encaja.
¿Qué indica la profundidad máxima?
Cuántos niveles de anidación hay en el punto más profundo del texto. En (a[b]) los corchetes quedan dentro de los paréntesis, así que la profundidad máxima es 2.
¿Cómo encuentro dónde está el error?
Cuando el texto no está equilibrado, la herramienta le da la posición del primer error. Vaya directamente a ese signo en lugar de contar paréntesis a mano y, al corregirlo, vuelva a comprobar el resto.
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/text/paren-balance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"(a[b]{c})"}'const res = await fetch("https://api.kit.forhosting.com/text/paren-balance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "(a[b]{c})"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/paren-balance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "(a[b]{c})"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/paren-balance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"(a[b]{c})"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"(a[b]{c})"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/paren-balance", 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": "(a[b]{c})"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.paren_balance",
"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.
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
La calculadora es gratis en el navegador, determinista e idéntica en la ruta del API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización,
Cómo funciona
La calculadora es gratis en el navegador, determinista e idéntica en la ruta del API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización o demos docentes.
Entradas, límites y redondeo
Proporcione los parámetros obligatorios como números o cadenas JSON según la documentación. Tipos inválidos, campos obligatorios ausentes o valores fuera de rango lanzan invalid_input con un mensaje claro. La calculadora es gratis en el navegador, determinista e idéntica en la ruta del API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización o demos docentes.
Cuándo usarlo
La calculadora es gratis en el navegador, determinista e idéntica en la ruta del API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización o demos docentes.
Casos de integración
Comprobación rápida
Pegue valores en el widget gratuito y compárelos con una hoja de cálculo.
Automatización
Llame al API con el mismo contrato JSON desde n8n, scripts o CMS.
Docencia
Muestre la fórmula y los ejemplos golden fijados sin software propietario.
Preguntas técnicas
¿Es gratis en el navegador?
Sí. El nivel A se ejecuta por completo en el cliente con el mismo núcleo que el API.
¿Qué ocurre con una entrada incorrecta?
El manejador lanza invalid_input; los trabajos fallidos no se facturan.
¿Puedo usarlo desde el API?
Sí. Envíe los mismos campos JSON documentados en params.