¿Qué es esta herramienta?
Un verificador de corchetes escanea el texto carácter por carácter, siguiendo cada corchete de apertura ( [ { en una pila y emparejándolo con el siguiente corchete de cierre ) ] } que encuentra. Si un corchete de cierre no coincide con el corchete de apertura sin cerrar más reciente, o un corchete de apertura nunca se cierra, o aparece un corchete de cierre sin nada que cerrar, eso se marca como un problema con su posición exacta.
Esto es una comprobación de escaneo simple, no un analizador de lenguaje completo — funciona igual sin importar si el contenido pegado es JavaScript, Python, JSON, o simplemente prosa, lo que lo hace útil en cualquier lenguaje o formato que use corchetes.
¿Por qué utilizarlo?
- Tu linter lanza "Unexpected end of input" sin número de línea, y desplazarte por un archivo de 400 líneas para encontrar una llave que falta es perder diez minutos — pégalo aquí y la línea y columna exactas aparecen al instante.
- Estás escribiendo un JSON de configuración a mano a las 11pm y la app simplemente se niega a cargarlo sin ningún mensaje claro — pásalo por el verificador antes de empezar a dudar de cada valor del archivo.
- Una expresión regular o matemática tiene seis niveles de paréntesis anidados y perdiste la cuenta de cuál quedó sin cerrar — el verificador sigue la pila por ti, así no tienes que contar a ojo.
- Pegaste un bloque de código de un chat o un foro y no compila — una verificación rápida te dice si se perdió un corchete en el copiar y pegar antes de seguir investigando.
- Estás revisando el diff de un compañero y algo en la indentación se ve raro — pasar el bloque modificado por el verificador confirma si es un desajuste real de corchetes o solo una rareza de formato.
Cómo utilizarlo
- Pega tu código o texto en el cuadro de entrada.
- Haz clic en Verificar corchetes.
- Revisa la lista de problemas, cada uno con su número de línea y columna, o comprueba la confirmación de que todo coincide.
Ejemplo
Entrada
function foo() {
return [1, 2, (3];
}Resultado
Tipo de corchete no coincide: ] en línea 2, col 18; Tipo de corchete no coincide: } en línea 3, col 1; Corchete de apertura sin cerrar: { en línea 1, col 17El ] de la línea 2 se suponía que debía cerrar el ( abierto en la col 15, no el [ anterior — este es exactamente el tipo de error (un corchete de cierre del tipo equivocado) que es fácil pasar por alto a simple vista en un archivo largo.
Usos habituales
- Depurar un error «Unexpected token» o «Unexpected end of input» en JavaScript, JSON o Python sin releer cuidadosamente todo el archivo.
- Comprobar un fragmento de JSON escrito a mano en busca de una llave suelta o faltante antes de pegarlo en un archivo de configuración.
- Verificar paréntesis anidados en una expresión matemática o fórmula larga.
- Detectar un corchete accidental que quedó de una edición copiada y pegada durante una revisión de código.
Tipos de corchete y qué error produce cada uno
El verificador solo rastrea tres tipos de par. Saber qué etiqueta de error corresponde a qué tipo de fallo hace que el reporte sea más rápido de resolver.
| Par de corchetes | Uso común | Error típico que produce |
|---|---|---|
| ( ) | Llamadas a funciones, agrupar expresiones, fórmulas matemáticas | Corchete de apertura sin cerrar cuando falta un ) al final de una lista larga de argumentos |
| [ ] | Arreglos, indexado de listas, clases de caracteres en regex | Tipo de corchete no coincide cuando un ] se usa por error para cerrar un { o un ( |
| { } | Objetos, bloques de código, cuerpos de función | Corchete de apertura sin cerrar al final del archivo cuando se olvida un } tras un bloque anidado |
Preguntas frecuentes
¿Esto verifica también comillas o etiquetas, o solo corchetes?
Solo los tres pares de corchetes: paréntesis ( ), corchetes cuadrados [ ], y llaves { }. Las comillas y las etiquetas HTML/XML no se rastrean.
¿Cuál es la diferencia entre los tres tipos de problema?
«Corchete de apertura sin cerrar» significa que un corchete de apertura nunca se cerró antes del final del texto. «Corchete de cierre sin coincidencia» significa que apareció un corchete de cierre sin un corchete de apertura correspondiente antes. «Tipo de corchete no coincide» significa que apareció un corchete de cierre, pero es del tipo equivocado para el corchete abierto más recientemente — por ejemplo, cerrar un [ con un ).
¿Entiende que los corchetes dentro de una cadena o comentario no deberían contar?
No — esto es un escaneo de caracteres simple, no un analizador consciente del lenguaje, así que no sabe nada de literales de cadena o comentarios. Un carácter de corchete dentro de una cadena entre comillas o un comentario igualmente se cuenta. Para resultados totalmente precisos en archivos fuente reales, elimina primero las cadenas/comentarios o usa el emparejamiento de corchetes consciente de la sintaxis integrado en tu editor.
¿Se sube mi código a algún sitio?
No. La verificación se ejecuta como JavaScript local en tu navegador; no se envía nada a un servidor.
¿Maneja correctamente corchetes anidados profundamente, como ((([{...}])))?
Sí — el verificador usa una pila que sigue los corchetes en el orden en que se abren, así que empareja correctamente cualquier nivel de anidamiento. No hay límite artificial de profundidad; el único límite práctico es la memoria de tu navegador.
¿Qué pasa si pego texto sin ningún corchete?
La herramienta informa que todo coincide, ya que no hay corchetes de apertura ni de cierre que marcar como problema — un resultado vacío significa que no se encontraron problemas, no que la verificación falló.
¿Puede decirme si tengo demasiados corchetes de cierre respecto a los de apertura?
Sí, indirectamente: los corchetes de cierre extra sin nada que emparejar se reportan como "corchete de cierre sin coincidencia", mientras que los que se abren pero nunca se cierran antes del final del texto se reportan como "corchete de apertura sin cerrar" — así puedes saber de qué lado está el desequilibrio.
¿Funciona con código minificado donde todo está en una línea?
Sí — el escaneo funciona carácter por carácter sin importar los saltos de línea, aunque en ese caso el número de columna reportado se vuelve más útil que el de línea, ya que el código minificado suele ser una sola línea muy larga.
¿Esto reemplaza el emparejamiento de corchetes de mi editor de código?
No exactamente — el emparejamiento del editor suele ser consciente del lenguaje y resalta pares mientras escribes, mientras que esta herramienta es un escaneo puntual que ejecutas sobre texto pegado, útil cuando no tienes el archivo abierto en un editor o quieres un reporte de texto plano con todos los problemas a la vez.