Paso la mayor parte de mi semana en un controlador Laravel, un componente React o el código base del complemento WP Adminify. Y en cada uno de ellos, la parte real de "código de escritura" es quizás la mitad del trabajo. La otra mitad es el tejido conectivo: formateando un blob JSON y una API solo escupió hacia atrás, decodificando el segmento medio de un JWT para ver por qué falla la autenticación, generando cuarenta UUID de prueba para un sembrador, convirtiendo una marca de tiempo de UNIX en una línea de registro en algo que un humano puede leer.
Durante años los hice de manera torpe: un script de Node desechable jq Si pudiera recordar la sintaxis o, con mayor frecuencia, un sitio de utilidades aleatorias con tres banners publicitarios y un muro de cookies. La última opción es lo que eventualmente me empujó a construir Toolz.dev. Demasiados de esos sitios publican silenciosamente su entrada en un servidor para un trabajo que el navegador puede hacer localmente, y me cansé de pegar fragmentos de la configuración de un cliente en el backend de un extraño solo para imprimirlo.
Esta guía es el conjunto de herramientas real: las herramientas de codificación que mantengo marcadas y abiertas varias veces al día. Cada uno se ejecuta completamente en su navegador, por lo que los datos nunca salen de su máquina y ninguno de ellos le pide que se registre. I' Revisaré cada uno de ellos de la forma en que lo uso, donde ahorra tiempo real, y los errores I' He hecho para que lo hagas'No tengo que repetirlos.
TL;Dr: Para el trabajo de API, Formateador JSON embellece y valida, y Convertidor Base64 Decodifica tokens y datos URI. Para la coincidencia de patrones, Constructor de expresiones regulares Pruebas de patrones en vivo. para las identificaciones, generador de UUID Hace V1/V4/V7 a granel. para la depuración, Convertidor de marca de tiempo convierte los segundos de la época en fechas legibles, y generador de hachas ¿MD5/SHA. Todo el lado del cliente, todo gratis.
¿Por qué usar una herramienta independiente en lugar de su IDE o la terminal?
Recibo esta pregunta de otros desarrolladores, y es justo 's - VS Code tiene extensiones y el terminal tiene jq, openssly base64 incorporado. Entonces, ¿por qué abrir una pestaña del navegador?
La respuesta honesta es la fricción y el contexto. Las herramientas CLI son fantásticas cuando ya están en un script que se ejecuta repetidamente. Pero para un único - "what's dentro de este token ahora mismo" - el coste de recordar openssl dgst -sha256 o conseguir el jq La sintaxis de filtro derecha es más alta que la tarea en sí. Las extensiones de IDE resuelven parte de eso, pero están vinculadas a un editor, necesitan instalarse y configurarse, y la mitad de ellas no se han actualizado en dos años. Cuando estoy ssh en una caja, en la máquina de un colega o en mi teléfono, nada de esa configuración existe.
Una herramienta de navegador lo elude todo. Hace un trabajo, expone exactamente las opciones que el trabajo necesita y es ' es el mismo en todos los dispositivos. Los tres marcadores permanentes de llamadas I'd son formato JSON, prueba de expresiones regulares y decodificación Base64; el resto son situacionales pero aún más rápidos que la alternativa para un pase rápido.
También hay un ángulo de privacidad, y es la razón por la que Toolz.dev es el navegador primero. Cada herramienta aquí procesa su entrada con JavaScript en su propia pestaña. No hay carga, no hay viaje de ida y vuelta del servidor, no hay registro de lo que pegaste. que importa cuando la "entrada" es un JWT con una sesión en vivo, un .env archivo, o un registro de cliente, solo se supone que debe estar depurando.
¿Cómo formatea y validas JSON rápidamente?
JSON es el idioma que habla todo: API REST, archivos de configuración, canales de registro, la mitad de las bases de datos que toco. Y JSON sin formato, especialmente una respuesta minificada, es ilegible. Aquí ' Es una forma real de algo con lo que trato constantemente:
{"users":[{"id":1,"name":"Alice","roles":["admin","editor"],"settings":{"theme":"dark","notifications":{"email":true,"push":false}}},{"id":2,"name":"Bob","roles":["viewer"],"settings":{"theme":"light","notifications":{"email":false,"push":true}}}]}
Encontrar si Bob tiene notificaciones push en escanear ese personaje por personaje. Pégalo en el Formateador JSON y se convierte en un árbol con sangría con un solo clic. Más allá de embellecer, la parte en la que más me apoyo es la validación: apunta a la línea exacta donde una coma final o una cotización sin escape rompió el documento, lo cual es un verdadero ahorro de tiempo cuando una API le entrega algo casi válido. pero no del todo válido.
Las cuatro cosas que hace que realmente uso:
- embellecerse Con 2 espacios, 4 espacios o una tabulación (uso 2 para hacer coincidir valores predeterminados más bonitos).
- minificar Para pelar espacios en blanco antes de enviar una carga útil.
- convalidar Con un mensaje de error que nombra la posición, no solo "JSON no válido".
- Vista de árbol para navegar respuestas profundamente anidadas sin contar corchetes.
Un error que cometí antes de tiempo y ahora advertí a todos sobre: una vez "corregiste" una configuración pegándola en un formateador que aceptaba silenciosamente comas y comentarios al estilo JSON5, luego me pregunté durante una hora por qué el estricto analizador en producción lo rechazó. Un buen validador lo mantiene en el Especificaciones JSON (ECMA-404 / RFC 8259)- sin comentarios, sin comas finales, claves de comillas dobles, que es exactamente lo que desea antes de implementar. Para obtener el flujo de trabajo completo, los formatos y los trucos de conversión, escribí un archivo dedicado Guía de herramientas JSON.
¿Para qué es Base64 en realidad y cuándo lo necesita?
Base64 es una de esas cosas con las que se topa todo desarrollador, pero pocos se detienen a comprender hasta que los muerde. Convierte datos binarios en un alfabeto ASCII de 64 caracteres para que sobreviva al transporte a través de canales de solo texto. No es cifrado ni compresión (hace que los datos sean aproximadamente un 33% más grandes), simplemente hace que los bytes sean seguros para pegarlos en texto.
Donde lo golpeé en la práctica:
- JWT- el encabezado y la carga útil están codificados en Base64url JSON. Decodifique el segmento medio para ver reclamaciones y vencimiento.
- URI de datos- incrustar un pequeño icono directamente en CSS con
data:image/png;base64,...Para guardar una solicitud HTTP. - Autorización básica HTTP- las credenciales obtienen la codificación Base64 en el
Authorizationcabecera - Configuración y secretos- Los secretos de Kubernetes, por ejemplo, almacenan valores codificados en Base64 (que la gente confunde constantemente con el cifrado, pero no lo es).
los Convertidor Base64 Codifica y decodifica instantáneamente: pega, elige una dirección, copia. El que vale la pena conocer es la diferencia entre base64 estándar y la variante segura de URL definida en RFC 4648- Intercambios seguros para URL +/ en -_ y deja caer el relleno, que es lo que usan los JWT. Alimente un segmento JWT a un decodificador que espera base64 estándar y se atragará en el relleno que falta. Explico el algoritmo, la variante segura de URL y la trampa Unicode que atrapa btoa() lleno Guía de codificación Base64.
¿Cómo se construye una expresión regular sin adivinar?
Las expresiones regulares son lo más poderoso y frustrante del kit de herramientas al mismo tiempo. La sintaxis es densa, implacable y un único cuantificador fuera de lugar cambia lo que coincide un patrón. La razón por la que es importante un generador visual es que convierte el bucle de escritura, prueba, error y reescritura en uno en vivo; ves que las coincidencias se resaltan a medida que escribes.
Estos son los patrones que he validado y reutilizado constantemente:
| modelo | partidos | ejemplo |
|---|---|---|
^[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}$ |
Correo electrónico práctico | [email protected] |
^https?://[\w\-.]+\.\w+ |
URL | https://toolz.dev |
^\d{3}-\d{3}-\d{4}$ |
US Teléfono | 555-123-4567 |
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)$ |
IPv4 | 192.168.1.1 |
^#(?:[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ |
Color hexagonal | #4466EE |
^\d{4}-\d{2}-\d{2}$ |
Fecha ISO | 2026-07-11 |
Pega uno en el Constructor de expresiones regulares, suelte unas pocas cadenas de prueba y conmute el g/i/m banderas para observar qué cambia. La lección más importante que he aprendido aquí es evitar un retroceso catastrófico, un patrón como ^(a+)+$ Parece inofensivo, pero se congela en una entrada larga no coincidente porque el motor explora un número exponencial de rutas. Ese es un vector de denegación de servicio real, no una curiosidad. Profundizo en eso, además de una hoja de trucos completa y peculiaridades específicas del idioma, en el Guía de constructor de expresiones regulares.
¿Qué versión de UUID debería generar?
Los identificadores universalmente únicos son valores de 128 bits que puedes generar de forma independiente en millones de máquinas sin coordinación y aún así confiar en que serán únicos. Si crea algo distribuido (microservicios, aplicaciones sin conexión, bases de datos fragmentadas), los necesita. El problema es que hay varias versiones y la mayoría de la gente busca la incorrecta por costumbre.
La versión corta de lo que recomiendo en 2026:
- V4 (aleatorio)- 122 bits aleatorios, sin fugas de tiempo ni de hardware. El valor predeterminado seguro cuando no lo hace 'No es necesario realizar pedidos.
- V1 (marca de tiempo + Mac)- ordenado por tiempo pero filtra la máquina generadora's dirección MAC. Evite nuevos trabajos.
- V7 (pedido por tiempo + aleatorio)- una marca de tiempo Unix de milisegundos seguida de aleatoriedad, estandarizada en RFC 9562 (2024). Este es mi valor predeterminado para las nuevas claves principales de la base de datos porque se ordena bien en un índice de árbol B sin los problemas de privacidad de v1.
los generador de UUID Produce ID únicos o en masa en cualquier versión con un solo clic, que es exactamente lo que quiero al sembrar una tabla. Una cosa que aprendí de la manera costosa: almacenar UUID como VARCHAR(36) en lugar de un nativo uuid/BINARY(16) Tipo duplica el almacenamiento y ralentiza cada comparación de índice. En una mesa con millones de filas que no son un error de redondeo. El desglose completo de las versiones, el almacenamiento de la base de datos y la decisión de incremento automático de V7-VS está en el Guía del generador de UUID.
¿Cómo se convierten entre marcas de tiempo y fechas legibles de Unix?
El tiempo es el área de programación más propensa a errores, y lo digo como alguien que ha enviado un error porque confundí segundos y milisegundos. Los registros del servidor hablan una época de Unix, JavaScript habla milisegundos, las API de REST hablan ISO 8601 y los encabezados de correo electrónico hablan RFC 2822. Convertir entre ellos a mano es como terminas por un factor de mil.
| formato | ejemplo | donde lo ves |
|---|---|---|
| Época Unix (segundos) | 1783929600 |
Registros del servidor, la mayoría de las API |
| Época Unix (MS) | 1783929600000 |
JavaScript, Java |
| ISO 8601 | 2026-07-11T00:00:00Z |
API de descanso, JSON |
| RFC 2822 | Sat, 11 Jul 2026 00:00:00 +0000 |
Encabezados de correo electrónico |
los Convertidor de marca de tiempo Maneja todo esto con soporte de zona horaria, que es lo que abro en el momento en que una línea de registro tiene un número básico. Vale la pena saber: el clásico de 32 bits con signo de Unix se desborda el 19 de enero de 2038 (el problema de "y2k38"), por lo que cualquier tiempo de almacenamiento debería usar un entero de 64 bits ahora. Si tratas los registros todos los días, mantén este anclado.
¿Qué pasa con YAML, hashing y conversión de formato?
Estos tres completan el conjunto diario a pesar de que los uso menos que los cabezas de cartel.
hablar con tachuelas es el lenguaje de configuración de Kubernetes, Docker Compose y GitHub Actions, y su sensibilidad de sangría lo hace frágil: una pestaña perdida (YAML prohíbe la sangría de pestañas) o una sin comillas no Eso se analiza como un booleano romperá un despliegue. los Validador YAM los atrapa al instante, y el XML a JSON y JSON a YAM Los convertidores manejan el formato de barajar cuando se mueve una configuración entre sistemas.
hachís es para la integridad, no para el secreto. uso el generador de hachas verificar un archivo descargado con su suma de verificación publicada o crear claves de caché hash de contenido. La regla que importa: MD5 y SHA-1 están bien para sumas de verificación que no sean de seguridad, pero no funcionan para cualquier cosa en la que un atacante pueda forjar una colisión; use SHA-256 o mejor allí.
| algoritmo | rendimiento | Úsalo para | salvaguardia |
|---|---|---|---|
| MD5 | 128 bits | sumas de comprobación, claves de caché | roto por seguridad |
| sha-1 | 160 bits | Compatibilidad hereda | desprotecado |
| SHA-256 | 256 bits | Firmas, integridad | cerradura |
| SHA-512 | 512 bits | Hash de alta seguridad | cerradura |
Conversión de formato- mover datos entre JSON, CSV, YAML y XML - aparece constantemente cuando I' estoy alimentando una salida API's en una hoja de cálculo o al revés. Toolz.dev tiene JSON a CSV, CSV a JSON, y los convertidores XML/YAML arriba. La única precaución: CSV no puede representar estructuras anidadas, por lo que cualquier JSON a CSV de datos profundamente anidados tiene pérdida y necesita aplanamiento primero. Siempre pruebe en una pequeña muestra antes de convertir una gran exportación.
¿Cómo es un flujo de trabajo real de múltiples herramientas?
Las herramientas obtienen la mayor parte de su valor cuando las encadenas, porque la depuración real rara vez es un paso. Un ejemplo concreto del mes pasado, depurando por qué se rechazaba un token:
- Copié el JWT de un encabezado de solicitud fallido y lo dividí en los puntos.
- Pegado el segmento medio (carga útil) en el Convertidor Base64 para decodificarlo, recordándolo 's Base64 segura para URL.
- dejó caer el JSON resultante en el Formateador JSON para leer las reclamaciones.
- tomó el
expvalor (una marca de tiempo Unix) y lo ejecutó a través de la Convertidor de marca de tiempo- que mostraba que el token había caducado cuatro horas antes. Desviación del reloj en el servidor emisor. Se corrigió en minutos en lugar de la tarde que habría sido necesario agregar el registro de depuración y volver a implementar.
Ese es el patrón: cada herramienta hace una cosa y la salida de uno alimenta la siguiente. Debido a que todo funciona en el lado del cliente, ninguno de esos datos de tokens dejó mi computadora portátil, que es exactamente lo que quieres cuando lo que estás depurando es la autenticación.
Algunos hábitos que lo mantienen rápido: marca las cinco herramientas que más tocas (Toolz.dev también aparece en los que más se han usado), se apoyan en los accesos directos del portapapeles estándar y siempre valida las configuraciones, los manifiestos y los patrones antes de que una implementación: un error de sintaxis que un validador detecta cuesta segundos; El mismo error detectado en la producción cuesta una tarde.
Preguntas frecuentes
¿Cuáles son las herramientas de codificación más esenciales para un desarrollador web?
El conjunto principal I'd le da a cualquier desarrollador web un formateador y validador JSON, un codificador/decodificador Base64, un probador de expresiones regulares, un generador UUID, un generador hash y un convertidor de marca de tiempo. Estos cubren la inmensa mayoría de las tareas que no son de código de escritura y que llenan un día normal: inspeccionar respuestas API, decodificar tokens, generar datos de prueba y leer registros. Todo lo demás es situacional.
¿Son seguras las herramientas de codificación basadas en navegador para datos confidenciales, como tokens y claves?
Depende completamente de si la herramienta procesa datos en su navegador o en un servidor. Herramientas del lado del cliente como las que están en Toolz.dev ejecute JavaScript en su propia pestaña, para que su entrada nunca se cargue ni se registre en ningún lugar. Antes de pegar cualquier elemento sensible: un JWT, una clave API, a .env valor: en cualquier herramienta en línea, confírmelo's del lado del cliente. Si una herramienta le pide que "upload" o muestra una solicitud de red cuando presiona el proceso, trate los datos como expuestos.
¿Cuál es la diferencia entre un formateador JSON y un validador JSON?
Un validador responde una pregunta: ¿es este JSON analizable, sí o no? y si la respuesta es no, le indica la línea y columna donde falló el análisis. Un formateador reimprime JSON válido con una sangría consistente para que un humano pueda leerlo. En la práctica, ellos ' son la misma operación: un formateador tiene que analizar la entrada antes de poder imprimirla de manera bonita, por lo que cualquier persona decente informa el error de sintaxis como un efecto secundario. Alcance para el validador 's mensaje de error cuando se rechaza una solicitud, y el formateador 's salida cuando una respuesta es ilegible.
¿Cómo decodificar un JWT de forma segura?
Use un decodificador que ejecute el lado del cliente y nunca pegue un poseer token de producción en cualquier cosa que tengas 't verificado. Un encabezado y una carga útil de JWT's están codificados en la URL Base64, no cifrados; cualquiera que tenga el token puede leer las afirmaciones, razón por la cual el token en sí es el secreto. La decodificación está bien para leer exp, iss, y las reclamaciones durante la depuración. Verificar la firma es un paso separado que necesita la clave de firma, y esa clave nunca debe abandonar su servidor.
¿Cómo convierto una marca de tiempo de Unix en una fecha legible?
Pegue el número en un convertidor de marca de tiempo y lea la fecha en UTC y en su zona local. La única trampa real es la unidad: un número de diez dígitos son segundos (la convención Unix y lo que emiten la mayoría de los backends), mientras que un número de trece dígitos son milisegundos (la convención JavaScript). Introduzca milisegundos en un analizador de segundos y obtendrá alrededor del año 55.000, un error que es obvio una vez que ' Lo he visto una vez y desconcertante la primera vez.
¿Cómo se comparan estas herramientas con las utilidades de CLI como JQ y OpenSSL?
Las herramientas CLI son más potentes y programables, y para cualquier cosa repetitiva que viva en un script, ganan. Las herramientas del navegador ganan por un trabajo único e interactivo: no hay nada que instalar, ni sintaxis que recordar, y funcionan de manera idéntica en cualquier máquina o teléfono. Yo uso ambos - jq En las canalizaciones, el formateador del navegador cuando solo necesito ver una respuesta. Son complementarios, no competidores.
¿Puedo usar estas herramientas sin conexión?
Necesitan una conexión para cargar la página inicialmente, pero debido a que el procesamiento en sí se ejecuta en el lado del cliente, el trabajo real no depende de un servidor después de la carga. Algunas herramientas siguen funcionando si su conexión cae a mitad de sesión. Para un uso garantizado sin conexión, una instalación progresiva de aplicaciones web o una compilación de escritorio es la ruta más confiable.
¿Por qué usar herramientas de navegador en lugar de extensiones IDE?
Las herramientas del navegador son independientes del editor y no necesitan configuración, por lo que ' están disponibles en una máquina colega 's, un servidor remoto o su teléfono - en cualquier lugar donde esté instalado y configurado un IDE y sus extensiones ' Ellos 'Son ideales para tareas rápidas y para utilidades para las que su editor simplemente no lo hace 'Tienen un buen complemento. Las extensiones IDE son mejores cuando la tarea es algo que se hace dentro de un editor docenas de veces al día.
¿A qué versión de UUID debo debo predeterminada en 2026?
Para nuevas claves primarias de bases de datos, UUID v7 - it's ordenado por tiempo para un buen rendimiento del índice sin dejar de ser único a nivel mundial, y it's ahora estandarizado en RFC 9562. Alcance para v4 cuando desee específicamente imprevisibilidad, como identificadores que debería ' No se puede adivinar. Evite v1 para cualquier cosa nueva porque filtra la dirección MAC de la máquina generadora 's.
¿Es Base64 una forma de cifrado?
No, y tratarlo como tal es un error común y peligroso. Base64 es una codificación reversible que cualquiera puede decodificar instantáneamente: existe para hacer que los datos binarios sean seguros para transmitirlos como texto, no para ocultarlos. Los secretos de Kubernetes y los encabezados de autenticación básica utilizan Base64, pero eso no ofrece ninguna confidencialidad; Cualquier cosa genuinamente secreta necesita cifrado real además.
la versión corta
La pequeña herramienta adecuada convierte una tarea de dos minutos en una de dos segundos y, a lo largo de una semana, esos segundos suman horas reales. Desde formatear una respuesta JSON hasta decodificar un token, probar una expresión regular o leer una marca de tiempo, estas son las utilidades que realmente busco, no porque sean inteligentes, sino porque se apartan del camino.
Todo aquí vive Toolz.dev, se ejecuta completamente en su navegador para obtener privacidad y velocidad, y nunca le pide que se registre. Comience con el Formateador JSON y Constructor de expresiones regulares, luego navegue por el conjunto completo de Herramientas de codificación- hay más de 600 herramientas gratuitas que cubren codificación, texto, PDF e imágenes esperando cuando las necesite.



