A lightweight, cross-platform internet speed test tool for Windows PowerShell that provides accurate download/upload speed measurements and network diagnostics.
irm https://get.speedtest.dev | iex
- Fast & Accurate: Tests download and upload speeds using multiple reliable servers
- Network Diagnostics: Measures ping latency and detects network issues
- Location Detection: Automatically identifies your ISP and geographic location
- Multiple Formats: Choose between detailed results or simple one-line output
- Easy Installation: One-command global installation with automatic PATH setup
- No Dependencies: Pure PowerShell - no external tools required
- Privacy Focused: No data collection or tracking
╔══════════════════════════════════════════╗
║ SPEED TEST RESULTS ║
╠══════════════════════════════════════════╣
║ ║
║ Public IP: 203.0.113.42 ║
║ ISP: Example Internet Provider ║
║ Location: New York, United States ║
║ ║
║ Download: 85.43 Mbps ║
║ Upload: 12.67 Mbps ║
║ Ping: 23.45 ms ║
║ ║
╚══════════════════════════════════════════╝
irm https://get.speedtest.dev | iex
- Download the script:
Invoke-WebRequest -Uri "https://get.speedtest.dev" -OutFile "speedtest.ps1"
- Install globally:
.\speedtest.ps1 -Install
# Run directly without installation
irm https://get.speedtest.dev | iex
# Run a standard speed test
speedtest
# Simple one-line output
speedtest -Simple
# Detailed verbose output
speedtest -Verbose
# Custom test duration (default: 10 seconds)
speedtest -Duration 15
# Test with specific server
speedtest -Server "https://speed.cloudflare.com/__down?bytes=100000000"
# Show help and all options
speedtest -Help
# Install the tool globally
speedtest -Install
# Uninstall the tool
speedtest -Uninstall
Option | Description | Example |
---|---|---|
-Simple |
Show results in one line format | speedtest -Simple |
-Verbose |
Display detailed testing information | speedtest -Verbose |
-Duration <n> |
Set test duration in seconds (default: 10) | speedtest -Duration 15 |
-Server <url> |
Use custom test server URL | speedtest -Server "https://example.com/test" |
-Install |
Install globally for system-wide access | speedtest -Install |
-Uninstall |
Remove the installed tool | speedtest -Uninstall |
-Help |
Show detailed help information | speedtest -Help |
SpeedTest CLI performs comprehensive network testing through multiple methods:
- Uses multiple high-performance test servers (OVH, Cloudflare, Google)
- Downloads data for specified duration and measures throughput
- Automatically selects the best performing server
- Reports speed in Mbps (Megabits per second)
- Uploads random data to HTTP test endpoints
- Measures sustained upload throughput
- Uses reliable public testing services
- Accounts for protocol overhead
- Tests latency to Google DNS (8.8.8.8)
- Performs multiple ping tests for accuracy
- Reports average response time in milliseconds
- Detects public IP address using multiple services
- Identifies ISP and geographic location
- Provides connection context for results
The tool automatically uses multiple test servers for reliability:
- OVH: High-performance European servers
- Cloudflare: Global CDN with excellent coverage
- Google: Reliable infrastructure with worldwide presence
- HTTPBin: For upload testing and diagnostics
- Script:
%USERPROFILE%\.local\bin\speedtest.ps1
- Batch Wrapper:
%USERPROFILE%\.local\bin\speedtest.bat
- Install Directory:
%USERPROFILE%\.local\bin\
The installer automatically:
- Creates the local bin directory if it doesn't exist
- Adds the bin directory to your user PATH
- Creates a batch wrapper for easy command access
- Handles PowerShell execution policy requirements
"speedtest is not recognized as a command"
- Restart your terminal after installation
- Check if
%USERPROFILE%\.local\bin
is in your PATH - Run
speedtest -Install
again to repair the installation
PowerShell execution policy errors
- Run:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- Or use:
powershell -ExecutionPolicy Bypass -File speedtest.ps1
Slow or failed speed tests
- Check your internet connection
- Try running with
-Verbose
for detailed diagnostics - Firewall or proxy settings may interfere with testing
- Some corporate networks block speed test traffic
"No internet connection detected"
- Verify you can reach
8.8.8.8
(Google DNS) - Check if ping is blocked by your firewall
- Try disabling VPN temporarily
- Outbound HTTP/HTTPS access (ports 80/443)
- Ability to reach multiple test server domains
- ICMP ping access to 8.8.8.8 (for ping tests)
- No Data Collection: The tool doesn't collect or transmit personal data
- No Account Required: Works completely anonymously
- Open Source: Full source code is available for inspection
- Local Processing: All calculations performed on your machine
- Secure Connections: Uses HTTPS for all speed tests
Contributions are welcome! Please feel free to:
- Report bugs or issues
- Suggest new features or improvements
- Submit pull requests
- Improve documentation
This project is licensed under the MIT License - see the LICENSE file for details.
Feature | SpeedTest CLI | Ookla Speedtest | Fast.com |
---|---|---|---|
Installation | One command | Multi-step | Browser only |
Command Line | ✅ | ✅ | ❌ |
No Registration | ✅ | ❌ | ✅ |
Multiple Servers | ✅ | ✅ | ❌ |
Ping Testing | ✅ | ✅ | ❌ |
Offline Capable | ✅ | ❌ | ❌ |
Open Source | ✅ | ❌ | ❌ |
- Issues: Report bugs and feature requests via GitHub Issues
- Documentation: Check this README for comprehensive usage information
- Community: Join discussions in GitHub Discussions
Made with ❤️ for the PowerShell community