By · Founder, Stacktree · Last updated
alternative

An ngrok alternative when you just need to share an HTML file.

ngrok tunnels a public URL to a port on your laptop. If the artifact you're sharing is a finished HTML file rather than a live server, you don't need the tunnel — you need a host. Stacktree is the host.

Get started free

What's the simplest alternative to ngrok for sharing one HTML file privately?

Stacktree. ngrok is the right tool for tunneling a live local server; it's the wrong tool when the thing you want to share is a static HTML file an agent or build just produced. Stacktree uploads the file to a private, unguessable URL in ~200 ms. No tunnel, no laptop-stays-on requirement, no local server to keep running.

When ngrok is the right tool

  • You're developing locally and need a public URL to test webhooks.
  • You're showing a teammate a live, evolving local app.
  • You need traffic inspection or replay of live requests.

When ngrok is the wrong tool

  • The artifact is a finished HTML file — there's nothing dynamic to tunnel to.
  • You want the link to work after you close your laptop.
  • You don't want to keep a local server running just to host one file.
  • You want unguessable + email-gated access without setting up ngrok\'s OAuth/IP-whitelist controls.

The Stacktree alternative

Upload the HTML once. The agent calls publish_html via MCP, or you curl -F file=@artifact.html https://api.stacktr.ee/sites. You get back stacktr.ee/p/<token> — private, hosted on the edge, no laptop in the loop. Optional password, email-domain gate, expiry, or replace-in-place semantics all layer on with single tool calls.

Stacktree vs. ngrok — for the static-HTML case

Criterion ngrok Stacktree
What it serves Tunneled local port Hosted static file
Requires local server running Yes No
URL survives laptop sleep No Yes
Private by default Free tier is public; auth on paid plans Unguessable URL on every plan
Email-domain gate OAuth + per-user config One tool call
Live request inspection Yes No
Webhook tunneling Yes No
Best for Live local servers Finished HTML artifacts
FAQ

Frequent questions

Why use Stacktree instead of ngrok for sharing an HTML file? +
ngrok forwards a public URL to a port on your machine, which means your laptop has to stay on, the local server has to keep running, and the URL dies when either of those goes away. Stacktree uploads the file once to a private hosted URL. Close your laptop; the link still works.
Is ngrok bad for this? +
No — ngrok is excellent at what it does (tunneling local services, webhooks, dev previews). It just isn't a static-file host. If the artifact you're sharing is a finished HTML file rather than a live server, you don't need the tunnel.
What about ngrok's static endpoints? +
ngrok's static endpoints reserve a stable subdomain, but the file still has to live on a server you keep running. Stacktree stores the file in R2 and serves it from the edge — no origin server to keep alive.
Is the URL private? +
Yes — every Stacktree URL is unguessable by default. Optional password and @company.com email-domain gates layer on top.
Can my agent publish without a tunnel? +
Yes. The MCP server (stacktree-mcp) lets Claude Code, Codex, Cursor, and other MCP clients publish HTML directly. No tunnel, no port forwarding, no public hostname for your laptop.
Keep reading

Related guides

References

Sources and further reading

Send the file, not the tunnel.

One upload. One private URL. No laptop in the loop.

Sign up free →