github.com/librespeed/speedtest

Self-hosted Speed Test for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more

Open this visualization on its own page →

Contributors

30

Lines of Code

585

From

2016-03-04

To

2021-02-14

About librespeed/speedtest

LibreSpeed is a self-hosted speed testing tool built entirely with JavaScript, using XMLHttpRequest and Web Workers to measure internet connection performance without requiring Flash, Java, or WebSockets. The tool runs in all modern browsers including mobile versions and provides measurements for download speed, upload speed, ping, jitter, and optional features like IP geolocation, telemetry, and result sharing.

The project supports multiple backend options including PHP, Node.js, Go, and Rust, with the ability to configure multiple test points and store results in various databases like MariaDB, MySQL, PostgreSQL, or SQLite. It includes both classic and modern user interface designs that users can switch between, plus a dedicated stability test feature that tracks connection reliability over time with live charting, latency alerts, and CSV export capabilities. Installation is straightforward on standard web servers, and the project offers Docker deployment for easier setup and maintenance.

LibreSpeed serves a wide audience including individual users, ISP operators, and network administrators who need to monitor connection quality. The ecosystem extends beyond the main web application with official Android and CLI clients, community-maintained .NET libraries, and comprehensive documentation including Docker support and development guidelines for contributors.

Share this video