Texto y documentos
Codificador/DecodificadorURL, Base64, HTML
Convertidor de textocamelCase, snake_case...
Diff de textoCompara dos textos
LaTeXPrevisualiza fórmulas matemáticas
MarkdownPrevisualización en tiempo real
MermaidDiagramas como código
DiagramasEditor visual tipo Visio, import Mermaid
Escapado de stringsJS, JSON, SQL, Regex, HTML, URL
Unicode / ASCIIInformación de caracteres
Números y cálculo
CalculadoraExpresiones matemáticas + LaTeX
Conversor de basesBase 2 a 64
Sistema de unidadesbits, bytes, SI, IEC
Subred / CIDRCalculadora de red
Timestamp y fechasUnix, zonas horarias, formatos
Calculadora de fechasDías entre fechas, edad exacta, día de la semana
Datos y formatos
Conversor de formatosJSON, YAML, Properties, ENV, CSV
JSON FormatterFormatea y valida JSON
Regex TesterExpresiones regulares
Diff JSONCompara dos JSON estructuralmente
Formateador de códigoSQL, CSS, HTML, JavaScript
DB StudioBase de datos Postgres visual en el navegador
SQL LabValida, ejecuta y optimiza SQL con Postgres real
Visor de ficheros gigantesAbrir CSV/logs enormes sin cargarlos
ETL visual en flujoTransformar datos encadenando nodos
Seguridad
Anonimizador de textoRedacta PII y secretos (reversible)
JWT InspectorDecodifica tokens JWT
Flujos de autenticaciónBasic, JWT y OAuth2 paso a paso
Generador de hashesSHA-256, SHA-384, SHA-512
Generador de contraseñas y UUIDContraseñas y UUIDs
Desarrollo y DevOps
CronGenerador y validador
Docker → ComposeConvierte docker run a Compose
Skaffold multi-configGrafo de dependencias y validación de requires
Linux: permisos y usuarioschmod, chown, useradd y grupos
URLParsea y construye URLs
Datos aleatoriosNombres, emails, IPs, UUIDs...
ElectrónicaOhm, resistencias en serie/paralelo
Puertas lógicasSimulador de puertas AND, OR, NOT y más
Simulador cuánticoQubits, puertas, superposición y entrelazamiento
HammingDetección de errores
Config Nginx/Apache SPAGenera configuración para servir una SPA
SemverRangos de versiones semánticas
CORS ExplainerAnaliza headers CORS de tu servidor
Cert inspectorAnaliza certificados X.509 en PEM
Rate LimiterSimula Token Bucket y Fixed Window
Simulador de ensambladorISA MIPS-simplificada · paso a paso · registros y memoria
Forja de ContextoEmpaqueta y blinda tu proyecto para IA
Inteligencia Artificial
Costes LLMSimula el gasto mensual
Constructor de promptsSystem prompt para agentes IA
EmbeddingsSimilitud, mapa 2D y RAG
IA localChat, resumen, traducción y sentimiento en el navegador
TokenizadorVisualiza tokens, compara modelos, estima costes
Probabilidad para IADistribuciones, softmax, Bayes y entropía
Descenso de gradienteSGD, Momentum, RMSProp, Adam
Red neuronalEntrena un MLP y mira la frontera formarse
Mini-LLMEntrena un modelo de lenguaje con tu texto
Reductor de dimensionalidadPCA, t-SNE y UMAP en vivo
Matriz de confusión & ROCUmbral, precisión/recall, ROC/AUC, PR
Clustering (k-means, DBSCAN)Descubre grupos sin etiquetas
Visualizador de atenciónA qué mira cada palabra en un transformer
Convolución y filtros CNNFiltros de imagen y mapas de características
Árbol de decisiónRegiones de decisión + el árbol
Fourier & convoluciónEspectro FFT y filtros de señal
DifusiónEl ruido detrás de Stable Diffusion
Regresión y MLEMínimos cuadrados, overfitting, ridge
Cadenas de MarkovEstados, distribución estacionaria y texto
Contraste de hipótesisp-valores, t-test, χ², ANOVA y potencia
OCR — Imagen a textoExtrae texto de imágenes, 100% local
Finanzas
InflaciónErosión del valor del dinero año a año
Interés compuestoCapital + aportaciones + interés compuesto
Hipoteca / préstamoCuota mensual y tabla de amortización francesa
Dividir gastosQuién le debe a quién y cuánto
Salud y bienestar
IMC y saludIMC, peso ideal, TMB y ciclos de sueño
Productividad
PomodoroTécnica de trabajo en bloques de tiempo
CronómetroCon vueltas, etapas e historial
Juegos y entretenimiento
DadosMesas de dados numéricos y simbólicos
MarcadorPuntos por jugador con cronómetro de partida
Sorteo / ruletaElige un elemento aleatorio de una lista
Generador de nombresNombres reales, fantásticos, sci-fi, nórdicos
Multimedia y diseño
Color HEX/RGB/HSLConversor de colores
Código QRGenera códigos QR
ImágenesRedimensionar, convertir, Base64
PDF ToolsUnir, extraer, marca de agua
GráficosVisualiza datos con gráficos
Contraste WCAGRatio de contraste WCAG AA/AAA
Empresa
Coste de reuniones¿Cuánto cuesta realmente cada reunión?
SLA / UptimePorcentaje de disponibilidad ↔ tiempo de caída
Break-evenPunto de equilibrio entre costes e ingresos
Burn rate / Runway¿Cuánto tiempo te queda de caja?
Test A/BSignificación estadística de experimentos
DORA MetricsClasifica tu equipo según métricas DevOps
UTM BuilderConstruye y decodifica URLs con parámetros UTM
Guía de uso
Qué es y para qué sirve

CORS (Cross-Origin Resource Sharing) es el mecanismo por el que un navegador decide si una web puede leer la respuesta de una API alojada en otro origen (otro dominio, puerto o protocolo). Sin las cabeceras CORS correctas, el navegador bloquea la lectura por seguridad. Esta herramienta simula esa comprobación del navegador: te explica, sin hacer ninguna petición real y todo en tu navegador, si tu servidor permitiría la llamada y por qué.

Qué introducir

Rellena tres cosas:

Origen (navegador) — la URL de la app que hace la petición (p. ej. https://myapp.com). Es el valor que el navegador enviaría en la cabecera Origin.
Método HTTPGET, POST, PUT, DELETE… El método decide si hace falta un preflight.
Headers de respuesta del servidor — pega las cabeceras que devuelve tu API, una por línea, con formato Nombre: valor (p. ej. Access-Control-Allow-Origin: *). El análisis se actualiza solo mientras escribes.

Petición simple vs preflight

Hay dos formas de petición cross-origin:

Petición simple — con GET, POST o HEAD y cabeceras básicas, el navegador la envía directamente y luego comprueba si la respuesta trae Access-Control-Allow-Origin.
Con preflight — con métodos como PUT, PATCH o DELETE (o cabeceras personalizadas), el navegador manda antes una petición previa de tipo OPTIONS para pedir permiso. La herramienta marca automáticamente cuándo tu método requiere preflight.

El preflight (OPTIONS) en detalle

El preflight es una petición OPTIONS que el navegador envía antes de la real para preguntar «¿me dejas hacer esto?». En esta herramienta se dispara con los métodos PUT, PATCH, DELETE y OPTIONS. Cuando aparece el aviso, tu servidor debe responder a ese OPTIONS con las cabeceras CORS adecuadas (origen, métodos y cabeceras permitidas); si no, el navegador cancela la petición real aunque tu API funcione. Añadir Access-Control-Max-Age evita repetir el preflight en cada llamada.

Access-Control-Allow-Origin

Es la cabecera imprescindible: indica qué origen puede leer la respuesta.

* — permite cualquier origen, pero no funciona con credenciales (cookies).
• Un origen concreto, p. ej. https://myapp.com — solo ese origen, y debe coincidir exactamente con tu Origen (protocolo + dominio + puerto).

Si falta esta cabecera, o el valor no coincide con * ni con tu origen, la petición se bloquea.

Access-Control-Allow-Methods

Lista los métodos HTTP que el servidor acepta desde otro origen, separados por comas (p. ej. GET, POST, PUT, DELETE). Es relevante sobre todo en el preflight. Si indicas esta cabecera pero no incluye tu método, la herramienta lo señala como problema y bloquea la petición. Si no la pones, el método no se comprueba.

Access-Control-Allow-Headers

Enumera qué cabeceras de petición puede enviar el cliente (p. ej. Content-Type, Authorization). El navegador la exige en el preflight cuando tu petición manda cabeceras no estándar. Si tu app envía Authorization y aquí no aparece, el navegador bloqueará la llamada.

Access-Control-Allow-Credentials

Con valor true permite enviar cookies y credenciales en la petición cross-origin.

Ojo, gotcha importante: las credenciales son incompatibles con Access-Control-Allow-Origin: *. Si usas credenciales, el origen debe ser específico (p. ej. https://myapp.com), nunca *. Combinar ambos hace que el navegador rechace la respuesta.

Access-Control-Max-Age y Vary

Access-Control-Max-Age indica cuántos segundos puede el navegador cachear la respuesta del preflight (p. ej. 86400 = 24 h), para no repetir el OPTIONS en cada llamada. La herramienta la incluye en los headers sugeridos cuando tu método necesita preflight. Recuerda además añadir Vary: Origin en tu servidor cuando devuelvas un origen concreto, para que las cachés no mezclen respuestas de orígenes distintos.

Cómo leer el resultado

Tras el análisis verás:

• Un banner verde (permitido) o rojo (bloqueado) con el motivo exacto: falta Access-Control-Allow-Origin, el origen no coincide o el método no está permitido.
Headers CORS encontrados — cada cabecera detectada con su valor y una explicación.
Problemas detectados — lo que impide la petición.
Headers sugeridos — un bloque listo para copiar a la configuración de tu servidor.

CORS ExplainerAnaliza headers CORS de tu servidor
CORS ExplainerAnaliza y explica los headers CORS de tu servidor
URL de la app que hace la petición
CORS permitido correctamente

Headers CORS encontrados

Access-Control-Allow-Origin*Permite cualquier origen (no funciona con credenciales)
Access-Control-Allow-MethodsGET, POSTMétodos permitidos: GET, POST

Headers sugeridos para tu servidor

Access-Control-Allow-Origin: https://myapp.com
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization