tinyreplay
tinyreplay is a free, open-source browser session replay tool for indie developers and small teams.
What tinyreplay is
tinyreplay is a free, open-source browser session replay tool for indie developers and small teams. A browser SDK records replay batches, stores them in local SQLite, and displays sessions in a local dashboard. It captures console and error messages plus network method, URL, status, and duration metadata, while excluding network bodies and headers, cookies, and browser storage except the session ID in sessionStorage. Input masking is enabled by default, and marked elements can be masked or excluded before events are sent. Retention stays off unless RETENTION_DAYS is configured. The SDK can be served as a UMD bundle or installed as the @tinyreplay/sdk npm package. Deployment supports source or Docker with a mounted SQLite directory. Basic authentication and ingestion tokens are configurable; the project advises TLS and a stronger reverse-proxy control before external exposure. Defaults allow 100 ingest requests per minute per IP and 5,000,000-byte request bodies. It is MIT licensed and pre-1.0.
Good
- Free and MIT licensed
- Input masking enabled by default
- Stores sessions in local SQLite
- Supports source and Docker deployment
- Configurable authentication and ingestion token
Watch out
- No mobile SDKs or hosted storage
- No funnels, heatmaps, or feature flags
- Pre-1.0 behavior may change
- No compliance guarantees
Who it suits
It suits indie developers and small teams wanting self-hosted browser replay without a full analytics platform. It is intended for Linux, web, API, and self-hosted deployments where local storage is acceptable.
Verdict
tinyreplay focuses on local browser replay with explicit capture limits and privacy controls. Its pre-1.0 status and missing analytics features make it a focused rather than comprehensive platform.
Plans and prices
From tinyreplay's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Open-source (self-hosted) | Free | Self-hosted · no hosted storage or accounts · pre-1.0 |
The facts
Each one read from tinyreplay's own pages, with the date it was checked.
What it does
- Access controls
- Dashboard Basic authentication and an ingestion token can be enabled through configuration, and the project advises using TLS and stronger access control via a reverse proxy before external exposure.checked 9 Oct 2026
- Audience
- It is intended for indie developers and small teams inspecting browser sessions without adopting a full analytics platform.checked 9 Oct 2026
- Captured data
- The SDK records console and error messages plus network method, URL, status, and duration metadata; it does not read network bodies or headers, cookies, or browser storage aside from its session ID in sessionStorage.checked 9 Oct 2026
- Deployment
- The project documents running from source or using its Docker image, with the SQLite data directory mounted for persistence.checked 9 Oct 2026
- Ingestion limits
- The documented defaults are 100 ingest requests per minute per IP and a maximum request body of 5,000,000 bytes.checked 9 Oct 2026
- Integration
- A browser SDK can be loaded as a server-served UMD bundle or installed as the @tinyreplay/sdk npm package.checked 9 Oct 2026
- License and support
- The repository is MIT-licensed and directs security issue reports to a private channel described in its security policy.checked 9 Oct 2026
- Local storage
- Session data is stored in a SQLite database, and retention is off by default unless RETENTION_DAYS is configured.checked 9 Oct 2026
- Maturity
- tinyreplay is pre-1.0, and its APIs, storage format, configuration, and dashboard behavior may change before version 1.checked 9 Oct 2026
- Notable omissions
- The project says it does not provide funnels, heatmaps, feature flags, user profiles, mobile SDKs, hosted storage, SSO, distributed ingestion, or compliance guarantees.checked 9 Oct 2026
- Privacy masking
- Input masking is enabled by default, and marked elements can be masked or excluded before replay events are sent to the server.checked 9 Oct 2026
- Purpose
- tinyreplay records browser sessions with a browser SDK, stores replay batches in local SQLite, and displays them in a local dashboard.checked 9 Oct 2026
Alternatives to tinyreplay
- 1

Contentsquare
Free planAndroidiOSWebAPI8.3Free plan - 2

DeepSync
Free planAndroidiOSWebAPI8.0From ₹1,999 a month - 3

Fullstory
Free planAndroidiOSWebAPI7.8Free plan - 4

OpenReplay
Free planAndroidiOSWebAPI7.8Free plan - 5

Crazy Egg
Free planWebAPIExtension7.6From $348 a year - 6

Inspectlet
Free planWeb7.6From $39 a month
