🛠️ToolsShed

Network Speed Estimator

Estimate your network latency and download speed using browser fetch timing.

Latency

ms

Download speed

Mbps

Results are estimates based on browser fetch timing and may vary due to network conditions.

Frequently Asked Questions

Code Implementation

def estimate_transfer_time(file_size_mb: float, speed_mbps: float, efficiency: float = 0.85) -> dict:
    """
    Estimate file transfer time.
    file_size_mb: file size in megabytes
    speed_mbps:   connection speed in megabits per second
    efficiency:   real-world factor (0.0–1.0), default 0.85
    """
    file_bits = file_size_mb * 8  # convert MB to Mb
    effective_speed = speed_mbps * efficiency
    seconds = file_bits / effective_speed

    return {
        "seconds": round(seconds, 2),
        "minutes": round(seconds / 60, 2),
        "hours":   round(seconds / 3600, 4),
    }

# Common connection speeds (Mbps)
speeds = {
    "3G":          7.2,
    "4G LTE":      50,
    "5G":          400,
    "Wi-Fi 5":     600,
    "Ethernet 1G": 1000,
}

file_size_gb = 1.0
file_size_mb = file_size_gb * 1024

print(f"File size: {file_size_gb} GB ({file_size_mb} MB)")
for name, speed in speeds.items():
    result = estimate_transfer_time(file_size_mb, speed)
    print(f"{name:15s} @ {speed:>6} Mbps: {result['seconds']:>8.1f}s  ({result['minutes']:.1f} min)")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.