· observability / error-tracking / session-replay

Sentry vs Highlight.run: error & replay compared (2026)

Sentry wins for most teams — proven error grouping, EU data residency, weekly releases. Highlight.run wins for native full-stack correlation or self-hosting.

By

1,737 words · 9 min read

It’s 2 AM. A user reports a blank screen. Your first move is replaying their session — but you need the backend error that caused it, not just the DOM snapshot. Sentry surfaces that error faster, with cleaner grouping and better Next.js coverage out of the box. Highlight.run links the session to the backend trace automatically, no distributed-tracing config required.

Sentry is the better default for teams that want production-grade error tracking with session replay as a secondary tool. Highlight.run earns the pick when full-stack correlation from one dashboard matters more than breadth of integrations or compliance documentation.

Who this is for

Frontend or full-stack teams choosing between two error-and-replay tools for a Next.js app. If you need pure APM (no session replay), neither tool is your primary answer — but Sentry extends further into that space. For APM-first comparisons, our Sentry vs Datadog breakdown covers logs, infrastructure, and distributed tracing.

What we compared

  • Sentry JavaScript SDK 10.56.0 — released 2026-06-02; MIT license; 8,663 stars on getsentry/sentry-javascript
  • Highlight.run — 9,288 stars on highlight/highlight monorepo; Apache 2.0 for core; last Docker release v0.5.6 dated 2025-08-08

Both tools were reviewed against their current documentation (2026-06-08). Pricing pulled from live pricing pages on the same date.

Setup

Sentry in Next.js

The wizard handles everything in one command:

npx @sentry/wizard@latest -i nextjs

It creates sentry.client.config.ts, sentry.server.config.ts, and sentry.edge.config.ts automatically — wiring up React components, Server Actions, API routes, and Edge Middleware simultaneously. You get error tracking and session replay from a single install command.

Manual client init, if you prefer control:

import * as Sentry from "@sentry/nextjs";

Sentry.init({
  dsn: "https://<key>@o<orgId>.ingest.sentry.io/<projectId>",
  // 10% of sessions recorded; 100% when an error fires (60s pre-error buffer)
  replaysSessionSampleRate: 0.1,
  replaysOnErrorSampleRate: 1.0,
  integrations: [
    Sentry.replayIntegration({
      maskAllText: true,
      blockAllMedia: true,
      maskAllInputs: true,
    }),
  ],
});

Highlight.run in Next.js

Install is a three-package dependency:

npm install highlight.run @highlight-run/react

Init goes in a client component or _app.tsx:

import { H } from 'highlight.run';
import { ErrorBoundary } from '@highlight-run/react';

H.init('<YOUR_PROJECT_ID>', {
  serviceName: "frontend-app",
  tracingOrigins: true,
  networkRecording: {
    enabled: true,
    recordHeadersAndBody: true,
    urlBlocklist: [
      "https://www.googleapis.com/identitytoolkit",
      "https://securetoken.googleapis.com",
    ],
  },
});

export default function App() {
  return (
    <ErrorBoundary>
      <YourApp />
    </ErrorBoundary>
  );
}

Backend instrumentation is a separate SDK install. You wire the frontend session to the backend trace yourself — the link is there, but it doesn’t happen automatically from this init block alone.

Verdict on setup: Sentry’s wizard wins. Client + server + edge instrumentation in one command, no manual wiring. Highlight requires at least two SDK installs and manual correlation setup.

Error tracking

Sentry’s core business is error tracking. The grouping algorithm, suspect commit identification, and Seer (Sentry’s AI debug assistant) have been refined over a decade. A new error surfaces a stack trace, the exact commit that introduced the regression, and — if you’ve wired distributed tracing — the backend span that caused it.

Highlight.run tracks errors too, but the depth is shallower. The interface focuses on session replay as the primary view. Error grouping is functional but not the product’s centre of gravity.

If your primary job is “stop regressions from reaching users and diagnose the ones that do,” Sentry is faster.

If you’re comparing Sentry against a broader field, the best error tracking tools for small SaaS teams roundup covers Honeybadger, Rollbar, and AppSignal side-by-side.

Session replay: Sentry vs Highlight.run

FeatureSentryHighlight.run
DOM recording
Network tab (requests/responses)✓ (headers + body)
Console logs in replay
Canvas recording✓ (opt-in)Not documented
Pre-error buffer60 secondsNot documented
Session max length60 minutesNot documented
Privacy maskingmaskAllText, blockAllMedia, maskAllInputsURL blocklist for network; DOM masking via config
Full-stack correlationVia distributed tracing (separate config)Native — session links to backend trace + logs automatically
Mobile replay✓ (iOS, Android)✓ (React Native)

Highlight’s full-stack correlation is the standout difference. When you open a session replay in Highlight, you see the frontend recording alongside the backend span that handled each request and the logs it emitted. In Sentry, you get the same result, but only after you’ve configured distributed tracing — it’s not on by default.

For a team where session replay is the primary diagnostic surface, Highlight’s unified view genuinely cuts investigation time.

Pricing

Sentry

PlanPriceUsersErrors/moReplays/mo
Developer$015,00050
Team$26/mo (annual)Unlimited50,00050 then $0.00375/replay
Business$80/mo (annual)Unlimited50,00050 then $0.00375/replay

Session replay overage tiers (pay-as-you-go): $0.00375/replay (50–5k), $0.003563 (5k–100k), $0.003206 (100k–900k), $0.002886 (900k–4.5M), $0.002453 (>4.5M). Retention is 90 days on Team/Business.

Highlight.run

PlanPriceSessions/moSeatsSelf-host
Free$050015Cloud only
Pay-as-you-go$50/mo base500 included15Cloud only
Business$800/moCustomUnlimitedNo
EnterpriseCustomUnlimitedUnlimited

The real comparison: At 10,000 replays/month, Sentry costs roughly $54/mo (Team plan + overages). Highlight’s $50/mo base only includes 500 sessions — overage pricing beyond that isn’t published on the pricing page, so budget modeling requires contacting them. Sentry’s per-replay pricing gives you a predictable cost curve; Highlight’s jump from $50/mo to $800/mo is steep if you outgrow pay-as-you-go.

Highlight’s free tier is more generous for teams: 15 seats vs. Sentry’s 1. If you’re a five-person team doing light session review, Highlight’s free tier covers you where Sentry’s doesn’t.

Integrations

Sentry’s integration surface is broader:

  • Notifications/incidents: Slack, Teams, PagerDuty, Opsgenie, Discord
  • Source code: GitHub, GitLab, Azure DevOps, Bitbucket, Perforce
  • Issue tracking: Jira, Linear, GitHub Issues, ClickUp, Asana
  • Deployment: GitHub Actions, Netlify, Vercel
  • Data forwarding: Amazon SQS, Segment, Splunk, Grafana
  • Cloud: AWS Lambda, Google Cloud Functions, Cloudflare Workers
  • AI/Dev tools: Claude Code, Cursor

Highlight.run covers the common bases (Slack, Linear, GitHub Issues, Jira, Segment, Amplitude, Mixpanel, Grafana, Vercel, LaunchDarkly) but skips the enterprise-tier integrations: no PagerDuty, Opsgenie, Splunk, or Perforce.

If you’re in an org that routes incidents through PagerDuty and ships source maps through a Perforce monorepo, Highlight’s integration list has visible gaps.

Self-hosting and data residency

This is where Highlight.run wins clearly.

Highlight ships a full Docker-based self-host option (Apache 2.0 core license). You own the data, you control the infrastructure. The last published Docker image is v0.5.6 from August 2025 — 10 months old as of this writing. That gap is worth noting before recommending it to a production team.

Sentry is SaaS-only for standard plans. Self-hosted deployments exist but only through Enterprise agreements. For teams with strict data sovereignty requirements that can’t be met through SaaS, this is a dealbreaker.

On cloud data residency: Sentry documents US (Iowa) and EU (Frankfurt) as selectable regions at account creation. You can’t change region after the fact, but you can choose upfront, and the choice is documented. SOC 2 Type 2 and ISO 27001 compliance is documented at sentry.io/trust/.

Highlight.run’s cloud tier has no documented region selection. No compliance certifications are listed in their documentation. If your compliance team needs documented EU residency, Highlight’s cloud doesn’t give you what you need to demonstrate it.

SDK activity and release cadence

Sentry’s JavaScript SDK ships weekly. The 10.56.0 release dropped on 2026-06-02, and commits landed on 2026-06-07. For a security patch or a framework compatibility fix, you’re likely to see it within a week.

Highlight’s monorepo last pushed code in April 2026. The self-hosted Docker image is 10 months old. This isn’t a dead project — the changelogs show meaningful work (ClickHouse-powered search, Grafana support, log-to-trace linking) — but the release velocity gap is noticeable. Teams that care about SDK patch velocity have a concrete reason to favour Sentry.

Verdict

Pick Sentry when:

  • Error tracking is your primary need and session replay is secondary
  • You need documented EU data residency or compliance certifications (SOC 2, ISO 27001)
  • Your org uses PagerDuty, Opsgenie, Splunk, or Perforce
  • You want wizard-based Next.js setup that covers server actions and edge middleware in one command
  • Predictable, per-replay pricing matters for budget forecasting

Pick Highlight.run when:

  • Native full-stack correlation is essential — you want session replay, backend traces, and logs linked without extra config
  • You need to self-host on your own infrastructure (and the 10-month Docker image age isn’t a blocker)
  • Your team has 15+ developers and the free tier’s seat count beats Sentry’s 1-user free plan
  • Backend SDK breadth matters — Highlight ships first-party SDKs for Go, Rust, Elixir, Java, PHP, and C# .NET

No “both are great” close here: Sentry is the safer default for most teams, with broader enterprise integrations, tighter compliance documentation, and faster release cadence. Highlight.run is a genuine alternative when the full-stack unified view is worth the trade-offs.

Caveats

  • No performance benchmarks (SDK bundle size, CPU overhead) were found for either tool. These comparisons are based on documentation and feature coverage, not instrumented measurements.
  • Screenshots of both UIs are pending — these would be sourced from app.sentry.io (demo org) and app.highlight.io (free tier). The article currently relies on feature comparison tables.
  • Sentry’s Partner Program exists but affiliate terms require contacting [email protected]. No affiliate links are included in this article.
  • Highlight.run’s Docker self-host image (v0.5.6, 2025-08-08) is 10 months old. Verify current maintenance status before deploying to production.

References

SourceURL
Sentry pricinghttps://sentry.io/pricing/
Sentry session replay add-on pricinghttps://docs.sentry.io/pricing/
Sentry Next.js session replay docshttps://docs.sentry.io/platforms/javascript/guides/nextjs/session-replay/
Sentry data storage locationhttps://docs.sentry.io/organization/data-storage-location/
Sentry integrationshttps://docs.sentry.io/organization/integrations/
Sentry trust/compliancehttps://sentry.io/trust/
Sentry JS SDK GitHubhttps://github.com/getsentry/sentry-javascript
Highlight pricinghttps://www.highlight.io/pricing
Highlight React SDK setuphttps://www.highlight.io/docs/getting-started/client-sdk/reactjs
Highlight integrationshttps://www.highlight.io/docs/general/integrations/overview
Highlight changeloghttps://www.highlight.io/docs/general/changelog/overview
Highlight open-source docshttps://www.highlight.io/docs/general/company/open-source
Highlight monorepo GitHubhttps://github.com/highlight/highlight