Back to all posts

6 Best Self-Hosted Session Replay Tools in 2026

David Viejo
David Viejo · Updated · Published

The best self-hosted session replay tool in 2026 is Temps: rrweb-based replay (off by default, inputs masked) in the same install as analytics, error tracking, uptime monitoring and deployments, free under MIT / Apache 2.0. OpenReplay is the best replay-only option.

The field splits three ways. rrweb is a raw recording library you build storage and playback around. OpenReplay and PostHog are full replay or analytics suites with their own services to run and maintain. Temps puts replay in the same self-hosted install as web analytics, error tracking, uptime monitoring and git-push deployments, free under MIT / Apache 2.0, so the only cost is the server you run it on. Matomo sells replay as a paid plugin, and Highlight.io's open-source repo is still public but its hosted service has shut down. Umami, the MIT-licensed analytics tool, has also recorded rrweb replays in its open-source build since v3.1 (April 2026); it is covered after the ranked six.

The best self-hosted session replay tools in 2026, ranked:

  1. Temps: replay bundled with analytics, error tracking, uptime and deployments; free to self-host
  2. OpenReplay: the best replay-only open-source tool, with co-browsing
  3. rrweb: the MIT-licensed library for building a fully custom replay pipeline
  4. PostHog: best if you already use its analytics (self-hosted replay is hobby-scale only)
  5. Highlight.io (open-source repo): replay plus observability, but the hosted service shut down in February 2026
  6. Matomo Heatmap & Session Recording: privacy-first, but replay is a paid plugin

FullStory, the SaaS incumbent these tools are usually compared with, has no self-hosted option. It is covered at the end as the baseline you are replacing.

Related: 6 best FullStory alternatives for session replay · How to add session replay without FullStory · Privacy-first analytics and session replay platforms


Self-Hosted Session Replay Tools Compared

The table below ranks each tool by self-hostability and open-source strength, with the Temps row first.

ToolSelf-Hosted ReplayLicense / Open SourcePricing ModelPer-MAU / Per-Session PricingBundled ObservabilityInstall FootprintData on Your Infra
TempsYesMIT / Apache 2.0Free self-host / Cloud from $29/mo (coming soon)NoneAnalytics + errors + uptime + deploySingle binary + Docker (installer sets it up)Yes
OpenReplayYesAGPL-3.0 (enterprise code separately licensed)Free self-host (infra only)NoneReplay + co-browse onlyDocker Compose (~30 min)Yes
rrwebYes (DIY)MITFree libraryNoneNone (you build it)JS libraryYes
PostHogLimited (hobby)MIT (enterprise code separately licensed)Free cloud tier / usage-basedUsage-based above freeAnalytics + flags + A/BDocker hobby / CloudHobby only
Highlight.io (repo)Technically yesApache 2.0Repo free; hosted service shut down Feb 2026N/AReplay + errors + logs + tracingSelf-host (unsupported)Yes
Matomo Heatmap & Session RecordingYes (paid plugin)GPL core + paid pluginPaid plugin subscription, priced by usersPer subscriptionAnalytics + heatmapsPHP/MySQL installYes
Also: UmamiYes (v3.1+, rrweb)MITFree self-host; on Umami Cloud replays need Business ($200/mo)None self-hostedCookie-free analytics + heatmaps (v3.2+)Node.js + PostgreSQLYes
For comparison: FullStoryNoProprietaryFree plan (30,000 sessions/mo), paid tiers quote-onlyPaid tiers quoted per accountReplay + heatmaps + AISaaS script tagNo (US or EU data centre)

Vendor plans and prices verified on on each vendor's pricing page; check them before you buy.

Self-hosted options carry infrastructure costs instead of software fees.


1. Temps — Best Self-Hosted Session Replay for All-in-One Observability

Temps is the only tool on this list that bundles rrweb-based session replay with web analytics, error tracking, uptime monitoring and git-push deployments in a single Rust binary, with managed databases on the same server. Self-hosting it is free, so the only real cost is the server you already pay for. Setup is covered in the session replay docs.

Why Temps Stands Out

The core advantage is not just that replay is free. Replay data sits next to everything else in the same install. Errors are stored with the deployment that served them and the visitor's session ID, so the error, the session, the deployment and the analytics live in one dashboard instead of being matched by timestamp across Sentry and FullStory.

Temps is also the lightweight middle ground between the two extremes on this list. rrweb hands you a library and expects you to build storage, playback, and search yourself. OpenReplay and PostHog are full multi-service suites with their own databases and background workers to operate long-term. Temps runs as one binary on the VPS you already have; the installer sets up Docker and the TimescaleDB container it stores data in, so there is no separate service pool for you to assemble.

Recording uses @temps-sdk/react-analytics. Replay is off until you enable it, and input masking is on by default. Temps records the DOM and user input only; it does not capture console logs, network requests or performance metrics.

import { TempsAnalyticsProvider } from '@temps-sdk/react-analytics';

export function Providers({ children }: { children: React.ReactNode }) {
 return (
 <TempsAnalyticsProvider
 basePath="/api/_temps"
 enableSessionRecording={true}
 sessionRecordingConfig={{
 maskAllInputs: true,
 sessionSampleRate: 1.0,
 }}
 >
 {children}
 </TempsAnalyticsProvider>
 );
}

With maskAllInputs: true, input values are redacted before anything is recorded. Replay data is stored in your own Temps instance — nothing reaches a third party.

Pricing

Self-hosted Temps is free (MIT / Apache 2.0); the only cost is the server you already run it on. There are no per-MAU charges, session caps or per-seat fees. Recordings are kept for 15 days, a fixed window. Temps Cloud, a hosted control plane for your own servers, is coming soon from $29/month.

Pros

  • Session replay bundled with deployments, analytics, error tracking, and uptime monitoring
  • All data stays on your infrastructure — zero third-party data transfer
  • No per-MAU pricing, no session caps, no per-seat fees
  • One binary to install; the installer handles Docker and the database container
  • Errors carry the session ID and deployment, so replay, errors and deploys share context

Cons

  • Smaller community than Dokku (since 2013) or Coolify — which is precisely why Temps ships the bundled-replay-plus-observability stack those older, deployment-only tools were never built for
  • No AI frustration detection, heatmaps, or console/network capture in replay
  • Replay retention is fixed at 15 days; delete sessions earlier through the CLI or dashboard if you need to
  • Requires a VPS or server to self-host (self-hosting is the entire point — this is the tradeoff every tool on this list except FullStory makes)

Best For

Developers and small teams who want session replay without adding another SaaS bill. Especially strong for GDPR-conscious teams and anyone already self-hosting their deployments.

For a head-to-head with the SaaS incumbent, see Temps vs FullStory.


2. OpenReplay — Best Replay-Only Open-Source Tool

OpenReplay is a dedicated open-source session replay platform built around rrweb, with self-hosting as the primary deployment model. The project has about 13,000 GitHub stars (October 2026), and its core is licensed under AGPL-3.0. It is the strongest replay-only open-source counterpart to FullStory's core recording.

What OpenReplay Does Well

OpenReplay focuses entirely on session replay rather than trying to be a full observability platform. The Community Edition is free and includes replay, session search, DevTools (network requests, console, Redux state), funnels, and co-browsing. The tracker is roughly 26KB (.br compressed), and a Docker Compose install runs in about 30 minutes on a single server. Recordings are stored in S3-compatible object storage (AWS S3, MinIO, or Cloudflare R2).

The co-browsing feature — letting support agents watch a live session alongside a user — is a differentiator not found in most alternatives.

Where OpenReplay Falls Short

OpenReplay does not bundle analytics-platform features, error tracking, deployments, or uptime monitoring. If you need those, you stack additional tools. There are no built-in heatmaps. The community is smaller than PostHog's.

Best For

Teams that need a dedicated self-hosted session replay tool and don't want the scope of a full observability platform.


3. rrweb — Best DIY Foundation for Custom Replay

rrweb is the open-source DOM-recording library that powers most open-source session replay tools, with about 20,000 GitHub stars (October 2026). It is used by PostHog, Sentry, Highlight, OpenReplay, and Temps. (FullStory, LogRocket, and Hotjar use their own proprietary recorders, not rrweb.) If you want to self-host replay with full control over storage and playback, rrweb is the engine you build on.

What rrweb Does Well

rrweb serializes the DOM into a compact snapshot, then records mutations, mouse movement, scrolls and input changes as a stream of events. Plugins add extras such as console capture. On playback, events replay on top of the initial snapshot to reconstruct the session.

Where rrweb Falls Short

rrweb is a developer toolkit, not a turnkey product. You build the storage backend, the playback UI, session search, and access control yourself. For most teams that work is not worth reinventing — which is exactly why tools like Temps and OpenReplay exist.

Best For

Engineering teams building a custom replay pipeline who need full control and have the capacity to maintain it.


4. PostHog — Best If You Already Use the Ecosystem

PostHog is an open-source product-analytics platform whose free cloud allowance includes 5,000 session recordings and 1 million analytics events a month (October 2026). Session replay is best on PostHog Cloud; self-hosted replay carries real caveats you should understand before committing.

What PostHog Does Well

If you already run PostHog for product analytics, adding replay is a toggle — no new vendor, no new snippet. The cloud allowance of 5,000 recordings a month covers many early-stage startups, with transparent usage-based pricing above it. PostHog also bundles feature flags, A/B testing, and surveys.

Where PostHog Falls Short

Self-hosting replay is now limited to a single-instance Docker Compose "hobby" deployment, which PostHog recommends only below roughly 300k events and 1k recordings a month, on a machine with 4 vCPU and 16 GB of RAM (as of October 2026). New Kubernetes deployments are no longer supported, and ClickHouse-backed recordings were deprecated in favor of blob storage (S3/MinIO). For production self-hosted replay at scale, PostHog is no longer the recommended fit.

Best For

Teams already in the PostHog ecosystem who want replay as an add-on and can live with cloud hosting for recordings. For replacements that cover analytics as well as replay, see the PostHog alternatives roundup.


5. Highlight.io — Open-Source Repo, Hosted Service Shut Down

Highlight.io was an Apache-2.0 full-stack monitoring tool combining session replay, error monitoring, logging and tracing; its repository has about 9,400 GitHub stars (October 2026). LaunchDarkly acquired Highlight on April 23, 2025 and folded it into LaunchDarkly Observability, which changes the picture for anyone evaluating it today.

What Highlight.io Does Well

The original product was genuinely good: session replay correlated with errors, logs, and traces in one open-source tool. The Apache-2.0 repository remains public and is technically self-hostable, so the code itself hasn't vanished.

Where Highlight.io Falls Short

The hosted service shut down on February 28, 2026, and highlight.io now redirects to LaunchDarkly. The repository still receives commits, but Highlight is no longer supported as a standalone product, so self-hosting it means running code with no vendor support or upgrade path. That is a continuity risk worth weighing; a tool with replay inside an actively maintained platform avoids it.

Best For

Teams already running a self-hosted Highlight deployment who are prepared to maintain it themselves while they plan a migration.


6. Matomo Heatmap & Session Recording — Privacy-First But Paid

Matomo is a privacy-focused analytics platform whose core is free and GPL self-hosted, but session recording is a paid premium plugin. The Heatmap & Session Recording plugin, developed by InnoCraft, is a paid Marketplace subscription priced by the number of users, with a 30-day free trial.

What Matomo Does Well

Privacy is the brand promise. Matomo is GDPR-friendly by design, fully self-hostable, and the session recording plugin keeps recordings on your own infrastructure. The same plugin adds heatmaps; among the free tools on this page, only Umami has them.

Where Matomo Falls Short

The session replay capability is not free — unlike Temps, OpenReplay, or rrweb. It also requires a full PHP/MySQL Matomo install, which is heavier than a single binary. There is no error tracking or deployment bundling.

Best For

Teams that already run Matomo for privacy-first analytics and are willing to pay the yearly plugin fee for replay on their own servers.


Also Worth a Look: Umami — Analytics With Built-In Replay

Umami is best known as a free, MIT-licensed, cookie-free web analytics tool, and it now records sessions too. Umami v3.1.0 (April 2026) added session replay built on rrweb, with configurable masking levels and per-visit recordings, and v3.2.0 (June 2026) added click and scroll heatmaps, including recording and storage for self-hosted installs. Both ship in the open-source build, which runs on Node.js and PostgreSQL.

What Umami Does Well

Replay and heatmaps sit in the same install as cookie-free analytics, so one small service covers what used to take Umami plus a separate replay tool. Self-hosted, there is no per-session charge. On Umami Cloud, replays and heatmaps are part of the Business plan: $200/month with 5,000 replays included (Umami pricing, October 2026).

Where Umami Falls Short

Replay is a recent addition, so it has less of a track record than OpenReplay's dedicated replay product. Umami has no error tracking, uptime monitoring or deployments, so a recording isn't linked to the error or the release behind it.

Best For

Teams that already run Umami, or want cookie-free analytics, and would like replay and heatmaps without adding a second service.


What You're Replacing: FullStory

FullStory is the session replay product most of these tools get compared with, but it has no self-hosted or on-premise option. As of October 2026, its free plan covers 30,000 sessions a month for up to 10 users with 12 months of retention, and the Business, Advanced and Enterprise tiers are quote-only. Data is stored in FullStory's US or EU data centre. For a direct comparison, see Temps vs FullStory; the LogRocket comparison covers the other common SaaS option.

What FullStory Does Well

FullStory's proprietary AI, including frustration scoring and rage-click detection, is its real differentiator, and no self-hosted tool fully matches it today. Setup is a single script tag with zero infrastructure to run, and many small sites fit inside the free plan.

Where FullStory Falls Short

The recordings live on FullStory's infrastructure, not yours. Even with the EU data centre, FullStory is a third-party processor, so you need a data processing agreement and careful masking. Once you outgrow the free plan, pricing is negotiated rather than published, which makes the cost hard to predict as traffic grows.

Best For

Teams that want turnkey AI frustration detection, accept SaaS hosting, and either fit the free plan or have budget for a quoted contract.


What Matters Most When Choosing a Self-Hosted Replay Tool?

Four factors decide the right tool: where your data must live, whether replay is bundled or standalone, total cost of ownership, and how much ongoing maintenance the install demands.

Privacy and Data Residency

If you handle healthcare data, financial information, or serve EU users, self-hosted replay is the simplest way to keep recordings under your own control. Temps, OpenReplay, rrweb, and Matomo keep recordings on your infrastructure. FullStory cannot, even when you choose its EU data centre. PostHog self-hosted replay is now hobby-only. The privacy-first analytics and session replay guide covers consent and cookies in more detail.

Session replay data counts as personal data under GDPR whenever it can identify a user — raw DOM recordings can capture names, email addresses, form inputs, and behavioral patterns. In the EU (and in the UK under PECR), replay typically requires prior consent under the ePrivacy rules as well as a GDPR lawful basis, so recordings should start only after a visitor agrees. In Temps you can set sessionSampleRate: 0 and call enableRecording() from the useSessionRecording() hook once consent is given.

Configure input masking before you go live, not after:

// rrweb record() options: mask every input, or only selected input types
{
 maskAllInputs: true,
 maskInputOptions: {
 password: true,
 email: true,
 tel: true,
 }
}

rrweb also has element-level controls: by default, the rr-block class replaces an element with a placeholder and the rr-mask class masks its text. Temps additionally masks text in any element matching maskTextSelector (default [data-mask]); see the privacy controls in the session replay docs.

Bundled vs Standalone

Replay is most valuable correlated with other data. Watching a replay of a user who hit an error is useful; seeing it next to the error stack trace and the deployment that served it is more useful. Temps stores errors with the session ID and deployment because it is also the error tracker and the deployment platform. With standalone tools you match timestamps across dashboards by hand.

Maintenance Footprint: Library vs Suite vs Single Binary

This list splits into three tiers of ongoing maintenance. rrweb is a library — zero maintenance for the recorder itself, but you own every piece of storage and playback infrastructure you build around it. OpenReplay, PostHog, and Matomo are multi-service suites — Docker Compose stacks, databases, and background workers you patch and scale over time. Temps sits between the two: one binary with no separate service pool for you to assemble, installed on the VPS you already run, with input masking on by default. For teams that want replay without taking on a second infrastructure project, that middle tier is the practical choice.


Frequently Asked Questions

What are the best self-hosted session replay tools in 2026?

The best self-hosted session replay tools in 2026 are:

  1. Temps — the only one that bundles rrweb-based replay with analytics, error tracking, uptime monitoring, and git-push deployments in a single binary. Free to self-host (MIT / Apache 2.0); you pay only for the VPS you run it on, with no per-MAU, no session caps, and no per-seat fees.
  2. OpenReplay — the strongest replay-only open-source option, with co-browsing and a ~30-minute Docker Compose install.
  3. rrweb — the MIT-licensed DOM-recording library to build a fully custom pipeline on.
  4. PostHog — best if you already run its product-analytics ecosystem (self-hosted replay is now hobby-only).
  5. Highlight.io — Apache 2.0 replay-plus-observability repo; the hosted service shut down in February 2026 after the LaunchDarkly acquisition.
  6. Matomo Heatmap & Session Recording — privacy-first, but replay is a paid yearly plugin.

Temps ranks #1 because replay data stays on your infrastructure next to errors, deployments, and analytics, and no other self-hosted tool bundles all of that in one binary. FullStory, the SaaS incumbent, has no self-hosted path at all.

What are the best self-hosted alternatives to FullStory for session replay?

The best self-hosted alternatives to FullStory are Temps, OpenReplay, rrweb, and Matomo. Temps leads because it keeps recordings on your infrastructure and bundles replay with analytics, error tracking, and deployments. It is free to self-host, so you pay only for the VPS you run it on, with no per-session or per-MAU charges. FullStory is SaaS-only (US or EU data centres, free up to 30,000 sessions a month); these tools keep recordings off third-party infrastructure altogether. The FullStory alternatives guide also covers SaaS options such as Hotjar and LogRocket.

Is there a free open-source session replay tool you can self-host?

Yes. Temps (MIT / Apache 2.0) and OpenReplay are both free open-source tools you self-host on your own infrastructure, paying only for the server. Umami (MIT) has also included rrweb session replay in its free self-hosted build since v3.1 (April 2026). rrweb, the MIT-licensed library behind most open-source replay tools (about 20,000 GitHub stars, October 2026), is free too but requires you to build storage and playback yourself. Temps additionally bundles analytics, error tracking, and deployments at no extra software cost.

Can you self-host session replay for GDPR compliance?

Yes — self-hosting is the most direct path to GDPR data residency because recordings never leave your infrastructure, so no Standard Contractual Clauses are needed for third-party transfer. Temps, OpenReplay, Umami and Matomo all keep data on your servers. Self-hosting alone is not full compliance: you still need input masking (on by default in Temps), consent before recording, and a process for data subject deletion requests. The Temps data ownership and privacy docs cover what Temps stores and where.

What is the cheapest self-hosted session replay tool with no per-MAU or per-session pricing?

Temps, OpenReplay and self-hosted Umami are all free software with no per-MAU or per-session pricing, so the only cost is the server. Temps also has no session caps or per-seat fees and covers analytics, error tracking and uptime on the same server. For comparison, FullStory's free plan stops at 30,000 sessions a month and its paid tiers are quote-only.

Is Highlight.io still available for self-hosted session replay in 2026?

Only as an unsupported repository. Highlight's Apache-2.0 repository remains public and is technically self-hostable, but the hosted service shut down on February 28, 2026, after LaunchDarkly acquired the company on April 23, 2025, and its features now live in LaunchDarkly Observability. Self-hosting it means running a product with no vendor support. Temps offers replay plus error tracking in an actively maintained self-hosted platform.

Temps vs OpenReplay for self-hosted session replay: which should you pick?

Pick OpenReplay if you want a dedicated replay tool with co-browsing and don't need anything beyond replay. Pick Temps if you want replay bundled with analytics, error tracking, uptime monitoring, and deployments, so errors and recordings share the same session and deployment context instead of you cross-referencing timestamps across separate dashboards. Both are free self-hosted software with no per-MAU pricing. The practical difference is install footprint: OpenReplay is a Docker Compose stack with its own database and background workers to operate long-term, while Temps runs as a single binary with no separate service pool to assemble. Teams already committed to a dedicated replay tool tend to prefer OpenReplay; teams that want replay as one part of a broader self-hosted observability stack tend to prefer Temps.


Which Self-Hosted Replay Tool Should You Pick?

The decision comes down to what else is in your stack:

  • Want replay bundled with analytics, errors, and deployments: Temps
  • Replay only, open-source, single server: OpenReplay
  • Building a fully custom pipeline: rrweb
  • Already deep in PostHog (cloud-tolerant): PostHog
  • Already running Matomo and willing to pay the plugin: Matomo Heatmap & Session Recording
  • Want cookie-free analytics with replay and heatmaps, no error tracking: Umami
  • Happy with SaaS hosting, want turnkey AI: FullStory (free up to 30,000 sessions a month, then quoted)

The session replay market has matured enough that no team needs a SaaS vendor for basic recording and playback. The self-hosted alternatives are real, the quality gap has narrowed, and they keep recordings on servers you control. Pick the tool that fits your privacy needs and your stack — then start watching sessions, because that is where the value lives.

To self-host Temps:

curl -fsSL https://temps.sh/deploy.sh | bash

Then turn on recording with the session replay docs.

Related: 6 best FullStory alternatives for session replay · How to add session replay without FullStory

OpenReplay, rrweb, PostHog, Matomo, Umami, and Temps are under active development; verify self-hosted setup requirements in their current documentation before deploying.

#best self-hosted session replay tools 2026#self-hosted session replay#self-hosted alternatives to fullstory#openreplay#rrweb#posthog session replay#highlight.io self-hosted#matomo session recording#gdpr session replay#privacy-first session replay