Log to Table

Paste logs and extract columns with named regex groups or ready-made presets for Apache access logs, syslog, and log4j-style application logs. Export Markdown, CSV, TSV, or JSON locally.

Try:
Parsed table

About this tool

Log to Table extracts structured columns from semi-structured log lines. Use a custom Rust regular expression with named capture groups such as (?P<level>\w+), or choose a preset for common formats. The named groups become output columns in a Markdown table, CSV, TSV, or JSON array.

Worked example:

Log input:

ERROR 42 failed to connect
INFO 7 retry scheduled

Pattern:

^(?P<level>\w+) (?P<code>\d+) (?P<message>.*)$

CSV output:

level,code,message
ERROR,42,failed to connect
INFO,7,retry scheduled

Presets cover Apache/nginx common and combined access logs, RFC 3164-style syslog, and log4j-style application lines. For other formats, switch to custom and provide the exact named-group regex.

Limits and edge cases

FAQ

How do I create columns with a custom pattern?

Use named capture groups. For example, ^(?P<ip>\S+) (?P<status>\d{3}) (?P<path>\S+)$ creates the columns ip, status, and path in that order.

What should I use for lines that do not match?

Use skip to drop them, keep to emit an unparsed column containing the raw line, or error when every line is expected to match and mismatches should fail fast.

Can this parse Apache or syslog without writing a regex?

Yes. Choose common or combined for Apache/nginx access logs, syslog for RFC 3164-style syslog, or log4j for typical timestamp/level/logger/message application logs.

Why does my regex work elsewhere but fail here?

This tool uses Rust regex syntax. It supports named captures with (?P<name>...) and avoids features such as look-around or backreferences to keep matching predictable and safe in WebAssembly.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool log-to-table "ERROR 42 failed to connect
INFO 7 retry scheduled"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/log-to-table/?logs=ERROR%2042%20failed%20to%20connect%0AINFO%207%20retry%20scheduled&preset=custom&pattern=%5E%28%3FP%3Clevel%3E%5Cw%2B%29%20%28%3FP%3Ccode%3E%5Cd%2B%29%20%28%3FP%3Cmessage%3E.%2A%29%24&output=table&header=true&on_nomatch=skip&limit=500

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.