Skip to content
100% local

Access log analyzer

Summarize Apache and Nginx access logs into top paths, status codes, IPs and browsers.

Input
Output

Access log analyzer

Paste access log lines in the common or combined log format — the default output of Apache and Nginx — and this tool summarizes them into the numbers you actually check after a deploy or an incident: the most requested paths, a breakdown of status codes, the busiest IP addresses, and a split between browsers and bots.

Choose the log format that matches your server: common (no referer or user agent field) or combined (adds both). If your server writes a non-standard format, switch to custom pattern and describe it with the same directive tokens Apache uses — %h for the client IP, %t for the timestamp, %r for the request line, %>s for the status code, %b for bytes sent, and %{Referer}i / %{User-agent}i for the two quoted header fields.

The options control how the summary is built. Set how many entries appear in each ranking, filter to a single status code or a status class like 4xx, filter to paths containing a substring, and group request counts by hour or by day to spot traffic spikes. Turn on "separate bots" to pull crawler traffic out of the human browser breakdown, and turn on "count bytes" to total the bytes transferred. "Skip static files" drops requests for CSS, JS, images and fonts so the path ranking reflects actual pages and endpoints rather than assets. Choose whether the result reads as a summary, a table, or CSV you can drop straight into a spreadsheet.

Everything runs locally in your browser — log lines often contain real visitor IP addresses, so nothing is uploaded anywhere. Copy the result, download it as a .txt file, or send it to another tool's input to keep working on it.

FAQ

Which log formats are supported?
The Apache/Nginx common log format, the combined log format (common plus referer and user agent), and any custom format you describe with Apache-style directive tokens like %h, %t, %r, %>s and %b.
How does it tell bots from human visitors?
It matches the user agent string against common crawler and bot signatures (Googlebot, curl, headless browsers and similar). Lines without a user agent field, such as plain common-format logs, are counted as unknown rather than guessed at.
What does "skip static files" exclude?
Requests whose path ends in a common asset extension — .css, .js, .png, .jpg, .svg, .woff and similar — so the top-paths ranking shows pages and API endpoints instead of assets.
Can I filter to a specific status code or path before analyzing?
Yes. Filter by status code (an exact code, a class like 4xx, or a comma-separated list) and by a path substring, and only the matching lines are counted in every ranking.
Is my log file uploaded anywhere?
No. Access log analysis runs entirely in your browser — the log lines, which often contain real visitor IP addresses, never leave your device.