Alternatives

ngrok alternative for sharing internal content

ngrok is a tunneling tool. It's excellent for webhook testing, exposing localhost to an external service, and forwarding ports during development. It's a poor fit for sharing HTML artifacts with your team. display.dev is built for that job: publish any file, get a permanent authenticated URL, done.

Works with your agents
terminal
$ display publish ./report.html
 
Uploading    47kb
Auth       Google Workspace ✓
 
✓ Published
 
→ https://view.display.dev/p/f474hfd/8f3kx9
 
Viewers    anyone at acme.com
Expires    never
Version    1
 
$ 

display.dev vs. ngrok

display.devngrok
Monthly price€49/mo flat$10–$20/seat/mo
Share HTML behind company SSO
Permanent URLs (survive restart)❌ (ephemeral by default)
Google Workspace SSO✅ Included
Microsoft 365 SSO✅ Included
File/directory publish (no process)❌ (requires live server)
Localhost tunneling
Webhook inspection
Viewer needs nothing⚠️ IP allowlist or auth config
CLI✅ (dsp publish)✅ (ngrok http)
MCP for Claude Desktop
Unlimited viewers flat price

ngrok is excellent – for tunneling

ngrok was built to expose a running process on your local machine to the internet. It's the right tool for:

  • Webhook testing – receive webhooks from Stripe, GitHub, or Twilio on your local dev server
  • OAuth callbacks – point a cloud service's redirect URI at localhost
  • External QA – let a client or contractor access a running dev server over HTTPS
  • Service debugging – expose a microservice in your local Docker network to a remote API

If your use case is any of the above, use ngrok. It's purpose-built for it and does it well.


Where ngrok falls short for internal sharing

Ephemeral URLs
Every ngrok session generates a new URL (unless you pay for a reserved domain). You run ngrok http 3000, share the URL in Slack, then close the terminal. The link dies. Everyone who bookmarked it gets a 404.
Requires a running process
ngrok tunnels to a live server. If you want to share a static HTML file, you need to spin up a local HTTP server first, then run ngrok. python3 -m http.server 8080 & + ngrok http 8080. That's two processes that both need to stay running. When you restart your laptop, the URL is gone.
No company-auth model
ngrok's auth options are IP allowlists and basic auth. Neither gives you "only people with a @yourcompany.com Google or Microsoft account can view this." There's no SSO, no per-domain restriction, no audit trail of who viewed what.
Per-agent pricing
ngrok's free tier allows 1 agent (one running ngrok process). More concurrent tunnels require paid plans. At $20/seat, a team of five sharing dev work costs $100/month – with no persistent URLs and no company auth.

What display.dev does differently

display.dev is a publishing tool, not a tunneling tool. The mental model is different:

ngrok http 3000
 
dsp publish ./report.html --name q1-analysis

You publish once. The URL works forever. Your teammates click it, authenticate with their company Google or Microsoft account, and see the full interactive HTML – charts, animations, and all. No terminal session needs to be running.


When to use display.dev instead of ngrok

  • Share a Claude Code artifact with your PMdsp publish ./proposal.html
  • Distribute an agent-authored research dossier from CI – add one step to your GitHub Actions workflow
  • Host Swagger UI / Redoc internallydsp publish ./swagger-ui/ --name api-docs
  • Share any AI-generated HTML report – one command, authenticated permanent link

Any time the artifact is a file (not a running process) and you need it to be accessible after you close your laptop, display.dev is the right tool.


Pricing

2 months free
Free

Try it. No credit card.

€0
  • Included: 10 gated artifacts
  • Included: Unlimited public artifacts*
  • Included: 50MB storage
  • Not included: Version history
  • Not included: Google + Microsoft SSO
  • Not included: Private artifacts
  • Not included: Audit logs

display.dev branded

Get started
Solo

Individuals. Unlimited gated sharing.

€15/mo
  • Included: Unlimited gated artifacts
  • Included: Unlimited public artifacts
  • Included: 1GB storage
  • Included: 10 versions
  • Not included: Google + Microsoft SSO
  • Not included: Private artifacts
  • Not included: Audit logs
Get started
Enterprise

For compliance-driven organizations.

Contact us

From €499/mo

  • Included: Unlimited gated artifacts
  • Included: Unlimited public artifacts
  • Included: Custom storage
  • Included: Unlimited versions
  • Included: Google + Microsoft SSO
  • Included: Private artifacts
  • Included: 365 days audit logs
Talk to us

ngrok Pro is $10–$20/month per developer – and gives you tunnels, not publishing. display.dev Pro is €49/month for the entire company.

Features

Authentication

Viewers click a link and sign in with their Google or Microsoft account, or a one-time password. No app to install. No account to create. No IT ticket.

Comments

Inline comments on every artifact. Your agent reads them via MCP, fetches the current version, republishes with short_id and base_version, and resolves the thread. The artifact stays a living document, not a one-shot screenshot.

Publish in 15 seconds

dsp publish ./file.html from your terminal, or one sentence in Claude Desktop. No git repo, no deploy pipeline, no project to configure.

Permanent URLs

Every artifact gets a URL that keeps working. Share in Slack, link in Notion, paste in email. It still works six months later.

Unlimited viewers

No per-seat pricing at any tier. Share with your PM, exec, legal team, or designer for the same flat price.

Any agent

Claude Code, Codex, and Cursor all work, along with anything else that creates HTML or Markdown output.

Common questions.

Can display.dev replace ngrok entirely?+

No. ngrok handles tunneling to live processes – webhook testing, OAuth callbacks, live server forwarding. display.dev is for publishing static files. If you need both, use both. Many teams use ngrok during development and display.dev for sharing outputs.

Does display.dev have a tunneling feature?+

Not currently. display.dev is built for the "publish a file, get a permanent authenticated URL" workflow. If you need to expose localhost:3000 to the internet during a live session, ngrok or Cloudflare Tunnel are the right tools.

What if I want to share my dev server with a client during a demo?+

For a live demo of a running dev server, use ngrok. For sharing the HTML output after the demo – the proposal, the report, the prototype export – use display.dev.

How do permanent URLs work?+

Every artifact you publish gets a URL like acme.dsp.so/0kzNYG7O-artifact-name. That URL is permanent as long as your display.dev account is active – it doesn't depend on any running process. Share it in Slack, bookmark it in Notion, link it in a Jira ticket.

Does display.dev work in CI/CD?+

Yes. Add DISPLAY_TOKEN as a secret, install @displaydev/cli, and run dsp publish ./output/ as a step. The artifact URL can be posted as a PR comment automatically.

Publish your first artifact in 15 seconds.

Free tier. No credit card. One-time password auth on free, Google + Microsoft SSO on Pro (€49/month flat).