Break an HTTP request into DNS, TCP, TLS, TTFB, and total time
Build a paste-ready command, then review its compatibility and effects before running it.
curl -sS -o /dev/null -w 'status=%{http_code} dns=%{time_namelookup}s tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s remote=%{remote_ip}\n' <url>Complete required fields to copy the generated command.
Compatibility
Linux + macOS + WindowsVerified for Linux, macOS, Windows using bash, zsh, powershell syntax.
Operational knowledgereview due 2027-01-19
Requirementscurlcurl must be installed and available on PATH.Network accessThe target must be reachable from the current environment.
Version supportcurl Current supported releasesVerified for linux, macos, windows using bash, zsh, powershell syntax; consult compatibility notes for platform-specific differences.
Expected signalsstatus=200 dns=0.012s tcp=0.031s tls=0.084s ttfb=0.126s total=0.127s remote=93.184.216.34Representative successful output; values vary with the selected target and system state.
Known errorscurl: command not foundcurl is missing or is not available on PATH.
Verifycurl -sS -o /dev/null -w 'status=%{http_code} dns=%{time_namelookup}s tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s remote=%{remote_ip}\n' {{url}}The output matches the expected target and exits without an error.Rollback noteNot required: this command is read-only and does not change system state.
Command breakdown
01curlCommandRuns the curl stage of this one-liner.
02-sSOptionConfigures curl with the -sS option.
03-oOptionSelects an output file or output format for this command.
04/dev/nullArgumentPasses /dev/null to curl.
05-wOptionConfigures curl with the -w option.
06'status=%{http_code} dns=%{time_namelookup}s tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s remote=%{remote_ip}\n'ArgumentPasses 'status=%{http_code} dns=%{time_namelookup}s tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s remote=%{remote_ip}\n' to curl.
07<url>ParameterA value supplied in the Fill parameters section.
This advanced community-curated one-liner combines several stages. Review every option and placeholder before running it.
Example input
curl -sS -o /dev/null -w 'status=%{http_code} dns=%{time_namelookup}s tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s remote=%{remote_ip}\n' https://example.com
Example output
status=200 dns=0.012s tcp=0.031s tls=0.084s ttfb=0.126s total=0.127s remote=93.184.216.34
Illustrative output — exact values vary by system and data.
Official sources