Enterprise-Grade Network Diagnostics Tool
NetSpeed Pro is a lightweight, professional network speed testing application built with vanilla JavaScript. Unlike heavy, ad-filled alternatives, this tool is designed for accuracy, privacy, and performance. It runs entirely in the browser and leverages Cloudflare's massive global edge network to provide low-latency, accurate connection metrics.
🔗 Live Demo: https://www.lovnishverma.in/netspeed-pro/
- Real-Time Diagnostics: Measures Download, Upload, Ping, and Jitter with millisecond precision.
- Packet Loss Detection: Tracks failed ping requests to calculate real packet loss percentage.
- Enterprise UI: Clean, glassmorphism-inspired interface with animated particles and smooth SVG graphs.
- Gigabit Ready: Optimized payload sizes (up to 50MB) to accurately test high-speed fiber connections.
- No Backend Required: Runs 100% client-side using public CORS-enabled APIs.
- Export Data: Built-in JSON export functionality to save test results for analysis.
- Mobile Responsive: Fully adaptive design that works on desktops, tablets, and phones.
NetSpeed Pro performs a series of distinct tests to analyze your connection health:
- Ping & Jitter: Sends rapid
HEADrequests to the server to measure latency (Ping) and the variance in response times (Jitter). Any failed requests are counted as Packet Loss. - Download Test: Downloads binary blobs of increasing size (up to 50MB) from Cloudflare's edge servers (
speed.cloudflare.com), calculating throughput in real-time. - Upload Test: Generates random binary data and POSTs it to the server to measure upstream bandwidth.
Note: We use Cloudflare's public speed test endpoints because they offer massive bandwidth capacity and are physically located close to users worldwide.
- Core: HTML5, CSS3, Vanilla JavaScript (ES6+)
- Network API:
XMLHttpRequest(for progress tracking) &Fetch API - Styling: CSS Custom Properties (Variables), Flexbox/Grid, CSS Animations
- Fonts: JetBrains Mono (Data), Lexend (UI)
To run this project locally on your machine:
- Clone the repository
git clone https://github.com/yourusername/netspeed-pro.git
cd netspeed-pro
- Run a local server
Because of browser security (CORS), speed tests may not work if you simply open the
index.htmlfile. You need a local server.
- Using Python:
python3 -m http.server 8000
- Using VS Code: Install the "Live Server" extension and click "Go Live" at the bottom right.
- Open in Browser
Visit
http://localhost:8000to see the app running.
You can tweak the test parameters by editing the CONFIG object in index.html:
const CONFIG = {
testFileSizes: {
download: 52428800, // 50 MB (Adjust for slower/faster connections)
upload: 10485760, // 10 MB
},
pingAttempts: 10, // Increase for more accurate Packet Loss data
requestTimeout: 30000, // Timeout in milliseconds
};Contributions are welcome! If you have ideas for improvements (like historical data charts or theme switching), feel free to fork the repo and submit a pull request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
*Developed by Lovnish Verma*
Here is a video explaining how to build similar speed test applications in JavaScript. Internet Speed Test App