Session replay

Watch every user session in pixel-perfect detail

Nevision reconstructs every scroll, click, hover, form input, and DOM mutation at 60fps so you can see exactly what your users experienced — bug reports, drop-offs, confusion points, all visible. Privacy-first by default. One script to install.

60fps DOM reconstruction

Built on rrweb. We don't record video — we record the DOM, so replays are crisp at any resolution and a fraction the size.

Privacy-first masking

Passwords, emails, credit cards, and any element tagged data-nevision-mask are redacted in the browser before any data leaves.

Under 1KB at first paint

The recorder loads asynchronously after your page is interactive. Real-user data shows zero impact on Core Web Vitals.

Session replay is the most direct way to understand a bug or a UX problem: instead of guessing from logs and analytics dashboards, you watch what the user actually did. Every modern product team uses replay alongside error tracking and analytics, but most replay tools come at a steep price — LogRocket starts at $69/month, FullStory is enterprise-only, and Hotjar limits free plans to 35 sessions a day.

Nevision was built to give you the same pixel-perfect replay (DOM-based, 60fps, accurate at any resolution) without the per-feature pricing trap. The free plan includes 1,000 sessions per month with 7 days of retention. Lite at $12/mo bumps that to 5,000 sessions and 60 days. Pro at $39/mo gets you 25,000 sessions and 90 days. Business at $99/mo handles 100,000 sessions and 365-day retention.

Replays are correlated with the same identifier as your error tracking, uptime checks, RUM metrics, and backend logs — so when a user reports a bug, you can jump from their session to the exact stack trace, the exact API call, and the exact server log line that produced it. That's the unlock: not just watching the screen, but understanding the full trace from click to query.

Privacy is the default, not the upsell

Every session replay tool can leak PII if misconfigured. Nevision masks passwords, email inputs, credit card fields, and anything tagged data-nevision-mask before the data ever leaves the browser. You can also block recording on entire URL patterns (e.g. /checkout/*). We sign DPAs on paid plans and host EU traffic in EU regions.

index.html
Setup
<!-- Add to your <head> --> <script> window.nevisionMeta = { user_id: "usr_abc123", plan: "pro" }; </script> <script src="https://api.nevision.app/recorder.js?siteId=YOUR_SITE_ID" async></script> <!-- nevisionMeta is optional: tag sessions with up to 20 keys for filtering -->

How it works

Step 1

Install the script

Paste one line into your HTML or import the npm package. Works with React, Vue, Angular, Svelte, and plain HTML.

Step 2

Sessions stream live

Every interaction is captured and uploaded in compressed chunks. Sessions appear in your dashboard seconds after they end.

Step 3

Filter, watch, fix

Filter by URL, country, device, error count, or custom events. Jump to the exact moment a bug occurred. Share replays with your team.

How Nevision compares

FeatureNevisionLogRocketFullStoryHotjar
Free plan sessions/month1,0001,00035
Starting price$0$69/moCustom$32/mo
Includes error tracking
Includes uptime monitoring
Includes server metrics
DOM-based replay (not video)
Self-host option
GDPR-compliant masking by default

Comparison based on publicly listed pricing and features as of April 2026.

Frequently asked questions

Do I need to install an SDK or just a script tag?+

Just a script tag. Drop one <script> into your <head> with your siteId and you're done — there's no npm package or bundler config to wire up.

How long are session recordings retained?+

Free: 7 days. Lite: 60 days. Pro: 90 days. Business: 365 days. After retention, replays are deleted automatically — we never sell or share session data.

Will replays look correct on my custom fonts and CSS animations?+

Yes. Because we record the DOM (not video), the replay re-renders inside an iframe using your live CSS and fonts. Custom animations, web components, and CSS-in-JS all replay accurately.

Can I exclude specific pages or elements from recording?+

Yes. Add data-nevision-block on any element to exclude it entirely, or data-nevision-mask to record the element's existence but mask its content. URL-level exclusions are configured in the dashboard.

How big is the recorder script?+

Under 1KB gzipped at first paint. The full recorder loads lazily after your page is interactive, so it never delays LCP or INP.

Can I link a replay to an error or to a specific user?+

Yes. Errors are automatically linked to the session that produced them. To attach a customer ID, set window.nevisionMeta = { user_id: "..." } before the recorder script loads — every session from that page is then tagged and filterable in the dashboard.

What custom metadata can I attach to a session?+

Any string key/value pairs you want — user_id, plan, company, feature flags, A/B variant, etc. Set them on window.nevisionMeta or pass them as data-meta='{...}' on the script tag. Up to 20 keys per session, key max 256 chars, value max 1,024 chars. Both keys and values must be strings.

Try it on your site in 60 seconds

Free plan, no credit card. One script, full observability.