Skip to content
Switch branches/tags
Go to file
Latest commit 5bddaac Jan 4, 2022 History
1 contributor

Users who have contributed to this file

LibreSpeed Logo


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

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

Try it

Take a Speedtest


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)


Server requirements

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

Installation videos

Android app

A template to build an Android client for your LibreSpeed installation is available here.


A docker image is available on the Docker Hub, see 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