Paste JSON logs, logfmt, access lines, or plain text. Pick fields, including emails, URLs, and IPs found in the raw line. Parsing stays in the browser.
info
request
warn
slow query
error
upstream timeout
2026-10-30T12:00:01Z
info
GET
/v1/users
200
18
Extract
Pick a field, or type names. Values also come from the raw text.
3 rows
time
level
message
status
method
path
2026-10-30T12:00:01Z
info
request
200
GET
/v1/users
2026-10-30T12:00:02Z
warn
slow query
—
—
—
2026-10-30T12:00:03Z
error
upstream timeout
504
—
—
Log Parser Online — JSON, logfmt, and Access Logs
The log parser turns pasted logs into rows you can filter, then extracts the fields you pick into a table, CSV, or JSON. It reads JSON lines, logfmt, Nginx or Apache combined access logs, and lines that start with a level such as INFO or ERROR. Parsing stays in the browser.
A raw log file is hard to scan when every line is a different shape. This tool pulls out a level, a message, and the remaining fields so you can keep only errors or search for a request path. Nested JSON objects are flattened with dotted keys such as http.status.
Formats
JSON lines — one JSON object per line. level, msg, and time are recognized, including timestamp and severity.
logfmt — level=error msg="payment failed".
Access — combined log lines. Status 5xx is error, 4xx is warn, and the message is the method, path, and status.
Auto tries JSON, access, logfmt, then a level prefix. Lines that match none of those stay as plain text.
Extract fields
The extract panel lists fields found in the lines you are looking at. Parsed keys such as status and path are included, and so are values read straight from the text: email addresses, URLs, IPv4 addresses, UUIDs, and name=value pairs. A plain sentence with no JSON still produces those chips. Time, level, and message start selected when they exist, then a few of the other names. Click a chip to keep or drop it. Type extra names separated by commas, including dotted keys such as http.status. Suggested restores that starting set.
Table, CSV, and JSON change the preview. Download saves every matching row, not only the preview. Level chips and search apply first, so an error-only filter exports only those lines. There is no query language.
How to use
Paste a log or load a sample: JSON lines, Access log, or logfmt.
Leave the format on Auto, or force one format when a file mixes shapes.
Use the level chips and the search box to narrow the list.
Select a row to read its fields, or click a field name to add it to the extract.
Preview the table, CSV, or JSON, then download the full result. Share and History keep the text locally.
Parsing is local, but logs often contain emails, tokens, and customer ids. Prefer a redacted sample, and do not share a link if the text is sensitive.
Why is a line missing fields?
Auto mode only builds a structured row for JSON, logfmt, access logs, and level lines. Other text stays one message, and the extractor still pulls emails, URLs, IPs, UUIDs, and name=value pairs out of that string. Force JSON or logfmt when you know the format.
Does this tail a server?
No. Paste or upload text you already have. It does not connect to a host.