netprofilealpha

Know your
network.

Not just speed — quality. Latency, bufferbloat, packet loss, application readiness. Open source, no tracking, no ads.

Finding server...

Three ways to test.

Different questions need different measurements. Pick the mode that matches what you want to know.

Real-world performance

Quality

Single-connection test with bufferbloat detection and quality scoring. Measures what your connection actually feels like for everyday use.

Best for: Understanding your actual experience

Peak capacity

Speed

Parallel-connection test that saturates your link to find maximum throughput. The number your ISP advertises.

Best for: Checking what you pay for

Workload simulation

Application

Tests tailored for streaming, gaming, and video calls. Measures the metrics that matter for each activity.

Best for: Knowing what your connection handles

Why this exists.

More than speed

Your 500 Mbps connection feels slow? It's probably latency or bufferbloat, not bandwidth. We measure the metrics that actually determine your experience.

Open source & self-hostable

Your infrastructure, your data. MIT licensed. Run the test server on your own network for internal benchmarking, or use our public servers. No accounts, no tracking.

Works everywhere

Browser, CLI, Go library — same protocol, same server. Automate network quality monitoring in CI, run ad-hoc tests from your terminal, or embed tests in your own app.

This is just the start.

netprofile begins with speed and quality testing, but we're building the open-source toolkit for understanding your internet connection. Network diagnostics, monitoring, traceroute visualization, ISP comparison, historical trends — all open, all yours.

Want to help shape what comes next? Join us on GitHub.

Built in the open.

Three repositories, one protocol. Pick the tool that fits your stack.

qoe-go-serverGo

Test server. Go + Docker. Handles bandwidth, latency, and WebRTC signaling.

docker run -p 3000:3000 ghcr.io/netprofile/qoe:latest
View on GitHub →
qoe-jsTypeScript

Browser client library. TypeScript. ESM. Works in any framework.

npm install @netprofile/qoe-js
View on GitHub →
qoe-goGo

Go client library + CLI. Same protocol. Automate testing from your terminal.

go install github.com/netprofile/qoe-go/cmd/qoe@latest
View on GitHub →

Quick start

import { QOEClient } from '@netprofile/qoe-js'

const client = new QOEClient()
client.setServer({ httpUrl: 'http://localhost:3000', ... })
const results = await client.runQualityTest()
console.log(results.download.bandwidthMbps, 'Mbps')