Drop an Apache or Nginx access.log (plain or .gz) to get an instant traffic report: requests, unique visitors, bandwidth and error rate, a traffic-over-time chart split by status class, and top lists of URLs, IPs, 404s, referrers, browsers and bots. Your server logs are processed on your own device.
Last updated:
Traffic over time
2xx3xx4xx5xx
Status codes
Requests by hour of day
Advertisement
Advertisement
How to use the Access Log Analyzer
Get your log: Apache usually writes /var/log/apache2/access.log (or httpd/access_log), Nginx /var/log/nginx/access.log. Download it, including rotated .gz files.
Drop the file(s) on the box. Several files are combined into one report. A sample log is analyzed until you do.
Read the summary and chart; hover or tap bars to see the exact counts per interval.
Narrow it down with the filters, for example only 5xx errors, no bots, or one URL or IP.
Explore the top lists in the tabs and download a table or the full report as CSV.
Rising 5xx bars in the traffic chart point to crashes, timeouts or an overloaded upstream (502/504 behind Nginx). Filter on 5xx errors to see which URLs fail.
404 lists show broken internal links, old URLs that need a 301 redirect, and missing assets such as favicons or images.
One IP with hundreds of 404s on paths like /wp-login.php or /.env is an automated scanner. It is usually harmless if those files do not exist, but it can be rate-limited or blocked.
Bot share: search engines and SEO crawlers often make up a large part of raw requests. Hide bots to see human traffic, and check robots.txt if a single crawler dominates.
Heavy URLs: sort the URL list by bandwidth (download the CSV) to find oversized images or downloads worth compressing or caching.
Hour of day shows when your visitors are active, which helps schedule deployments and backups for quiet hours.
Frequently asked questions
Which log formats are supported?
The Common Log Format (host ident user [time] "request" status bytes) and the Combined Log Format, which adds the referrer and user agent. These are the defaults for Apache (LogFormat combined) and Nginx (log_format combined). Lines with an extra virtual host field at the start (vhost_combined) are also read. Custom formats and JSON logs are reported as unparsed lines.
Is my log file uploaded?
No. The file is read in chunks by JavaScript in this tab and only summary counts are kept in memory. IP addresses, URLs and user agents never leave your computer, which matters because access logs contain personal data.
How big a log can it handle?
Files of a few hundred megabytes (a few million lines) work in a desktop browser; the file is streamed so it is never held as one big string. Gzip-compressed logs are decompressed on the fly in current browsers. For multi-gigabyte logs, split them by day first.
What counts as a unique visitor?
Each distinct client IP address. That is the usual approximation in log analysis, but several people behind one office or mobile network share an IP, and one person may use several, so treat it as an estimate rather than a count of people.
How are bots detected?
From the user agent: known crawlers such as Googlebot, bingbot, AhrefsBot and GPTBot, monitoring services, and scripts like curl, wget or python-requests, plus any agent containing words such as bot, crawler or spider. Bots that pretend to be a normal browser cannot be told apart from the user agent alone.
Why is the bandwidth lower than my hosting statistics?
The bytes field in the combined format is the size of the response body only (Apache %b, Nginx $body_bytes_sent). Headers, TLS overhead and responses served by a CDN in front of your server are not included, and 304 Not Modified responses have a body size of 0.
What time zone is used in the charts?
The time zone written in the log lines themselves, for example -0500. The chart labels and the hour-of-day chart use that offset, so peaks line up with the server's local clock.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.