// best by category

Best tunnel for testing Stripe webhooks against localhost

Stripe webhook testing has three specific failure modes: (1) the tunnel URL changes and the Stripe dashboard config drifts, (2) the tunnel rewrites the request body and the HMAC signature mismatches, (3) the tunnel returns an HTML interstitial that Stripe rejects as malformed. We rank tunnels on these specifically.

  1. lrok

    Reserved subdomain on free = paste the URL into Stripe once and never re-paste. Proxies request bodies byte-for-byte (HMAC signatures pass). No interstitial on any plan. Built-in request inspector shows every Stripe delivery with full body for replay. The Stripe walkthrough is one CLI command.

    wins at

    URL stability (reservation on free), body fidelity (no mutation), signature pass-through, real-time replay of any captured webhook.

    loses at

    Webhook signing simulator — Stripe CLI does this natively (stripe trigger), lrok relies on the actual Stripe dashboard test events.

  2. Stripe CLI

    Stripe's official local-forwarding tool. stripe listen forwards events to your localhost over Stripe's authenticated channel — bypassing the public-internet path entirely. No tunnel infrastructure. Trade: only works for Stripe webhooks; you still need a separate tunnel for OAuth, GitHub, mobile testing, etc.

    wins at

    Officially supported by Stripe, no tunnel dependency, can replay events from the CLI (stripe trigger payment_intent.succeeded).

    loses at

    Stripe-only. If you're testing GitHub + Stripe + Auth0 in the same dev session, you still need a real tunnel for the others.

  3. ngrok Pro

    Static domains on Pro fix the URL-rotation problem. Body proxying is byte-perfect. The free-tier interstitial is removed on Pro.

    wins at

    Multi-region edge, mature dashboard, enterprise feature set if you need it.

    loses at

    Pro starts at $8/mo + bandwidth metering. lrok's $9/mo flat undercuts at the 'just need stable webhook URL' tier.

// verdict

For Stripe-only dev, the Stripe CLI is the cleanest. For multi-provider webhook + OAuth dev with one tool, lrok at $9/mo flat (or $0 with the reserved subdomain on free) is the best fit. ngrok Pro works fine if you're already on it.

← all best-by-category lists