LibreSpeed

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

Try it Now! Take a speed test

IE Logo Netscape Logo

About LibreSpeed

No Flash, No Java, No Websocket, No Bullshit.

This is a very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.

Computer Hacker Stars Divider

Compatibility

All modern browsers are supported:

IE11 latest Edge latest Chrome latest Firefox latest Safari
Works with mobile versions too.
Computer Divider

Features

Download
Upload
Ping
Jitter
IP Address, ISP, distance from server (optional)
Telemetry (optional)
Results sharing (optional)
Multiple Points of Test (optional)
Funky Rainbow Divider

Installation

Assuming you have PHP and a web server installed, the installation steps are quite simple.

  1. Download the source code and extract it
  2. Copy the following files to your web server's shared folder (ie. /var/www/html/speedtest for Apache): index.html, speedtest.js, speedtest_worker.js, favicon.ico and the backend folder
  3. Optionally, copy the results folder too, and set up the database using the config file in it. Be sure your permissions allow execute (755).
  4. Visit YOURSITE/speedtest/index.html and voila!
New

Installation Video

This video shows the installation process of a standalone LibreSpeed server:

Installation Video Link (This would be a placeholder for a real embed or link)

Quick start installation guide for Debian 12

Debian 12 Guide Link

More videos will be added later.

Under Construction Divider

Backends & Integrations

LibreSpeed supports various backends and integrations:

  • PHP (default)
  • Android app: A template to build an Android client for your LibreSpeed installation is available here.
  • CLI client: A command line client is available here.
  • Docker: A docker image is available on GitHub, check our docker documentation for more info.
  • Go backend: A Go implementation is available in the speedtest-go repo, maintained by Maddie Zhan.
  • Rust backend: A Rust implementation is available in the speedtest-rust repo, maintained by Sudo Dios.
  • Node.js backend: A partial Node.js implementation is available in the node branch, developed by dunklesToast. It's not recommended to use at the moment.
7up Spot Divider

Server Requirements

A reasonably fast web server with Apache 2 (nginx, IIS also supported)
PHP 5.4 or newer (other backends also available)
MariaDB or MySQL database to store test results (optional, Microsoft SQL Server, PostgreSQL and SQLite also supported)
A fast! internet connection
Mail Kitten Divider

Donate

Support this project!

Email Me

Donate with PayPal

Heart Divider

Uh oh! There was an error while loading.

Please reload this page.

Drudge Siren

Under Construction New! Generate your own 90s page here! Under Construction