search
Get Started
search
ngrok - Developer
zoom_in Click to enlarge

ngrok

language

description ngrok Overview

A local development service can become reachable from the public internet through ngrok. Its command-line agent establishes a tunnel, allowing requests to reach an application running on a developer's computer without deploying that application to a public server first. This is particularly useful when an external service must contact a local endpoint during testing. Webhook development is a common fit: a payment or messaging service can deliver an event to the exposed address while the developer inspects the local application's response.

Temporary demonstrations and API integration testing are other practical uses. ngrok works on macOS and other supported platforms, with the kind of traffic exposed depending on the configured endpoint. Its defining benefit is connecting local development with external callers, although access controls still matter whenever a private service is made publicly reachable.

help ngrok FAQ

How does ngrok allow me to test local webhooks for my Node.js app?

Ngrok creates a secure, public HTTPS tunnel that forwards traffic directly to your local Node.js port (like localhost:3000). When you register this ngrok URL with services like Stripe or the Facebook Graph API, their webhooks will hit your local development environment instantly.

Is ngrok secure to use for exposing local development environments?

Yes, ngrok uses TLS encryption to secure the tunnel between the public internet and your local machine. For premium users, ngrok also allows you to enforce HTTP Basic Authentication, IP whitelisting, or OAuth 2.0 to ensure no unauthorized users can access your local port.

Do I need to pay to get a custom static domain on ngrok?

Yes, while the free tier provides a randomly generated temporary subdomain every time you boot the program, a static, permanent domain requires a paid plan. This is highly recommended for developers who are testing webhook integrations over several weeks.

Can ngrok be used to expose local TCP servers, like a custom database?

Yes, while primarily used for HTTP traffic, ngrok supports TCP tunnels for paid users. You can run a command to securely expose your local SSH port or a local PostgreSQL database to a remote cloud service.

Reviews & Comments

Write a Review

rate_review

Be the first to review

Share your thoughts with the community and help others make better decisions.

Save to your list

Save your favorites and follow how their scores change over time.

Save favorites
Track changes
Compare scores

Already have an account? Sign in

Compare Items

See how they stack up against each other

Comparing
VS
Select 1 more item to compare