Fork 0
Self-hosted Speed Test for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more
Go to file
sstidl 1bdffc752e
Merge pull request #626 from librespeed/update-build-pipeline
add on publish trigger
2024-05-24 16:40:43 +02:00
.github add on publish trigger 2024-05-24 14:27:58 +00:00
.logo Fixed typo in results/index.php 2021-04-13 10:27:36 +02:00
.vscode update github-actions 2024-05-24 14:17:05 +00:00
backend Merge pull request #617 from zypA13510/revert-487-patch-1 2024-05-18 22:18:59 +02:00
docker Start apache with exec 2024-04-17 20:28:03 +02:00
examples Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
results Fixed vulnerability in json.php caused my missing Content-Type header 2024-04-27 15:12:32 +02:00
.gitignore Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
Dockerfile Define stopsignal 2024-04-17 20:34:45 +02:00
LICENSE Fixed typo in results/index.php 2021-04-13 10:27:36 +02:00
README.md Merge pull request #597 from thgoebel/mention-cli 2024-02-02 16:03:49 +01:00
doc.md fix #598 2024-02-02 15:56:48 +01:00
doc_docker.md Merge pull request #540 from JoKneeMo/master 2024-02-07 17:32:25 +01:00
favicon.ico Fixed typo in results/index.php 2021-04-13 10:27:36 +02:00
index.html Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00
speedtest.js Fixed vulnerability in json.php caused my missing Content-Type header 2024-04-27 15:12:32 +02:00
speedtest_worker.js Release 5.3.0 (#587) 2023-11-26 12:46:27 +01:00


LibreSpeed Logo


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

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

Try it

Take a speed test


All modern browsers are supported: IE11, latest Edge, latest Chrome, latest Firefox, latest Safari. Works with mobile versions too.


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

Screenrecording of a running Speedtest

Server requirements

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


Assuming you have PHP installed, the installation steps are quite simple. I set this up on a QNAP. For this example, I am using a folder called speedtest in my web share area.

  1. Choose one of the example-xxx.html files in examples folder as your index.html if the default index.html does not fit.
  2. Add: speedtest.js, speedtest_worker.js, and favicon.ico to your speedtest folder.
  3. Download all of the backend folder into speedtest/backend.
  4. Download all of the results folder into speedtest/results.
  5. Be sure your permissions allow execute (755).
  6. Visit YOURSITE/speedtest/index.html and voila!

Installation Video

There is a more in-depth installation video here:

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.


A docker image is available on GitHub, check our docker documentation for more info about it.

Go backend

A Go implementation is available in the speedtest-go repo, maintained by Maddie Zhan.

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.


Donate with Liberapay Donate with PayPal


Copyright (C) 2016-2022 Federico Dossena

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/lgpl.