Hay un momento muy específico en la vida de cualquier persona que programa: estás construyendo algo en tu computadora, corre perfecto en localhost, y de repente necesitas que alguien más —un servicio externo, un cliente, tu celular— lo vea. Y ahí te das cuenta de que «localhost» es, literalmente, solo tuyo. Nadie más en internet puede llegar hasta ahí. La primera vez que me topé con ese problema traté de resolverlo con configuraciones de router, redirección de puertos, hasta pensé en alquilar un servidor solo para probar un webhook. Fue un desperdicio de tiempo tremendo. Y ahí es exactamente donde entra ngrok.
¿Qué es, en el fondo?
ngrok es una herramienta que crea un túnel seguro entre internet y un servidor que corre en tu máquina local. En términos simples: agarra lo que tienes corriendo en localhost:3000 (o el puerto que sea) y le pone una puerta de entrada pública, una URL real de internet, que redirige todo el tráfico hacia tu máquina. Técnicamente funciona como un proxy inverso: crea un túnel seguro entre un endpoint público y un servicio que corre localmente, y además captura y analiza todo el tráfico que pasa por el túnel para poder inspeccionarlo o reenviarlo después.
Para que se entienda con una analogía: imagina que tu computadora es una casa sin dirección postal. ngrok le da una dirección temporal y le pone un cartero que reenvía cada carta (cada petición HTTP) directo a tu puerta, sin que tengas que mudarte ni construir nada nuevo.
Lo que empezó como una utilidad de tunneling relativamente simple se fue convirtiendo, con los años, en algo más ambicioso. Con el tiempo la plataforma amplió sus capacidades más allá del tunneling básico, sumando inspección y reenvío de tráfico, control de accesos y dominios estáticos, posicionándose como una herramienta más amplia de acceso para desarrollo y DevOps. Y no es un dato menor: la empresa detrás del proyecto atrajo inversión de capital de riesgo significativa, incluida una ronda de 50 millones de dólares liderada por Lightspeed Venture Partners, lo que da una idea de cuánta demanda real hay por resolver este problema tan puntual.
El uso básico: exponer tu localhost en tres pasos
Aquí es donde ngrok brilla de verdad, y es lo que probablemente te trajo a leer esto. El flujo típico es así:
- Instalas el cliente de ngrok en tu máquina (hay versiones para Mac, Windows y Linux, y también se puede correr como binario suelto sin instalación compleja).
- Levantas tu servidor local como siempre lo harías (tu API en Express, tu app en Django, lo que sea) corriendo en, digamos, el puerto 3000.
- Ejecutas un comando parecido a
ngrok http 3000.
Y eso es todo. En cuestión de segundos, ngrok te devuelve una URL pública (algo como https://a1b2c3d4.ngrok-free.app) que cualquiera en internet puede visitar, y que reenvía cada petición hasta tu servidor local como si nunca hubiera salido de tu máquina. Mientras el túnel está abierto, tienes además una interfaz local de inspección donde puedes ver, en tiempo real, cada petición que llega: headers, body, código de respuesta, todo. Y lo mejor es que puedes reenviar esas peticiones sin tener que provocar el evento original de nuevo, algo que se agradece muchísimo cuando estás depurando.
Dónde se usa esto en el día a día
Probar webhooks es, sin duda, el caso de uso número uno. Servicios como Stripe, Twilio o Shopify no te avisan de un evento (un pago, un mensaje, una compra) llamando a tu localhost; necesitan una URL pública real a la que enviarle esa notificación. Poder reenviar esas peticiones sin disparar de nuevo el evento original es especialmente valioso cuando se están probando manejadores de webhooks para servicios como Stripe o Shopify. Antes de ngrok, para probar esto en serio tenías que desplegar tu código a un servidor real cada vez que querías validar un cambio. Ahora simplemente corres el túnel y listo.
Otros usos que probablemente te van a sonar familiares:
- Mostrar una demo en vivo. ¿Tu app todavía no está desplegada pero tu jefe o un cliente quiere verla ya? Compartes el link de ngrok y listo, sin pasar por un proceso de deploy.
- Probar en el celular u otro dispositivo. Ideal para revisar cómo se ve tu web en un teléfono real, no en el simulador del navegador.
- Integraciones entre servicios en desarrollo. Cuando dos equipos están construyendo partes distintas de un sistema y necesitan que sus entornos locales se hablen entre sí.
- Trabajo remoto o colaborativo puntual. Compartir acceso temporal a algo que corre en tu máquina sin montar infraestructura.
Lo que hay que tener claro antes de usarlo
Acá viene la parte donde conviene ser honesto, porque ngrok no es magia gratuita ni una solución de producción. El plan gratuito ha cambiado bastante con el tiempo y hoy trae más límites que antes: sesiones con tiempo máximo, ancho de banda limitado, y una página intersticial de advertencia que ven los visitantes antes de llegar a tu contenido. Si necesitas un dominio propio fijo, más ancho de banda o funciones de seguridad como restricciones por IP, autenticación OAuth o políticas de tráfico personalizadas, eso ya entra en los planes pagos.
Y aquí va el matiz más importante: ngrok es una herramienta de desarrollo y pruebas, no de hosting. No está pensada para que tu aplicación viva ahí de forma permanente ni para tráfico de producción real. Es, literalmente, un puente temporal entre tu máquina y el mundo. Para producción existen otras soluciones (VPS, servicios cloud, plataformas de despliegue) que están diseñadas para eso.
Tampoco es la única opción del mercado (existen alternativas como Packetriot, Cloudflare Tunnel o localtunnel), pero ngrok sigue siendo, con diferencia, la más popular y la que casi todo tutorial o documentación de webhooks menciona primero.
Lo que más me gusta de ngrok es justamente su simplicidad: resuelve un problema muy concreto «necesito que internet vea lo que tengo en mi máquina, ya, sin desplegar nada» con un solo comando. No es la herramienta que vas a usar todos los días si trabajas en producción, pero es de esas utilidades que, una vez las conoces, te preguntas cómo hacías antes para probar un webhook o mostrar una demo a último momento. Si todavía no la has probado, instalarla y correr tu primer túnel te toma literalmente cinco minutos.
¿La usas para webhooks, para demos, o le has encontrado otro uso interesante? Me encantaría leer en qué la aplicas tú.
Instalación:
Pueden encontrar el instalador en la Microsoft Store

ngrok --version

Fuentes
- Wikipedia, «Ngrok»
- StackShare, comparación ngrok vs. Packetriot
- Pangea, glosario: qué es ngrok