All Tools View Categories About Contact Privacy

Syslog Parser

Decode RFC 5424 and RFC 3164 syslog messages into facility, severity, host, structured data and body.

Runs entirely in your browser — messages never leave this page.
0
lines
0
parsed
0
failed
0
facilities
#RFCsevfacilitytimehosttag / appstructuredmessage

  

About Syslog Parser

Syslog is everywhere — routers, firewalls, sshd, cron, the Linux kernel, and countless appliances all speak it — and so is its format mess. RFC 3164 came first with its casual, loosely-defined <13>Aug 16 09:00:00 host tag: message shape (no year in the timestamp, no formal structured-data concept, and tag parsing that varies by implementation). RFC 5424 replaced it in 2009 with a stricter, structured <34>1 2026-08-16T09:00:00Z host app 1234 ID47 [...] header that adds a version number, a real ISO 8601 timestamp with timezone and fractional seconds, an explicit app-name/procid/msgid triplet, and optional bracketed structured-data elements. Real environments mix generations — an old appliance still emitting RFC 3164 next to a modern app emitting RFC 5424 into the same collector — and reading either format by eye across a scrolling terminal is slow and error-prone. Syslog Parser decodes both standards line by line into one table, auto-detecting which format each line uses so a mixed paste just works.

Every message is split into its priority (decoded into facility and severity), a normalized timestamp, hostname, the tag or app/procid/msgid detail, and the actual message text. The PRI value is not itself meaningful to read — <34> only says something once you know it decodes to facility = floor(34/8) = 4 (Auth) and severity = 34 % 8 = 2 (Critical) — so the parser does that division for you and shows the resolved names directly, with color coding so the most severe rows (Emergency, Alert, Critical, Error) stand out in red and routine Info/Debug lines fade to gray. RFC 5424 structured data — the bracketed [meta@1 key="value"] elements defined by RFC 5424 for vendor-specific metadata — is decoded into readable key/value pairs in its own column instead of being left as an unreadable wall of brackets and quotes.

The facility breakdown tells you which subsystem is generating the noise (auth failures vs. mail vs. a chatty local application logging on a custom facility), and the severity profile summarizes the whole paste as color-coded percentages so a spike of critical events is visible before you scroll through a single row. Lines that don’t start with a <PRI> marker or don’t match either timestamp shape — continuation lines from a multi-line stack trace, banner text, or output that isn’t syslog at all — are listed separately as failures with their original line numbers, so nothing is silently mis-parsed into a garbage row. Export to CSV or JSON carries the decoded facility and severity names, the normalized timestamp and the structured-data pairs into a SIEM, a spreadsheet, or a script, and every step of parsing happens locally in the browser — nothing is uploaded.

Features

  • RFC 5424 and RFC 3164 support, auto-detected per line so mixed feeds parse in one pass.
  • Facility + severity names decoded from the PRI number (facility = floor(PRI/8), severity = PRI % 8).
  • Severity color coding — red for Emergency/Alert/Critical/Error, amber for Warning, gray for Notice/Info/Debug.
  • RFC 5424 structured data decoded into readable key=value pairs, one column per message.
  • Normalized timestamps from both standards, including RFC 3164’s year-less dates.
  • Facility breakdown and severity profile cards with percentages.
  • Failed lines listed separately with their original line numbers.
  • Preferred-format override to force strict RFC 5424 or RFC 3164 parsing instead of auto-detect.
  • Copy CSV / Download CSV / Download JSON / print export.
  • 100% local — no upload.

How to Use

  1. Paste your syslog. Drop messages from a log collector, journald export, syslog-ng or rsyslog file, or appliance export into the box; parsing re-runs automatically as you type.
  2. Pick a format if needed. Leave “Auto-detect” for mixed RFC 3164/5424 feeds, or pin one format to make parsing strict and reject the other shape.
  3. Parse. Each line is split into facility, severity, timestamp, host, tag/app and message, with the PRI number decoded for you.
  4. Read the summary. Severity profile and facility-count cards summarize the whole paste at a glance, before you read a single row.
  5. Inspect structured data. RFC 5424 [key="value"] elements appear decoded in their own column instead of raw brackets.
  6. Check failures. Toggle “List failed lines” to see anything that didn’t match either format, with its original line number, so you can grep it back into context.
  7. Export. Copy as CSV, download CSV / JSON with resolved facility/severity names, or print the table.

Examples

Example 1 — RFC 3164. <13>Aug 16 09:00:00 myhost crond[123]: run-parts ran /etc/cron.hourly decodes to facility 1 (User-level), severity 5 (Notice), host myhost, tag crond with PID 123, and the message after the colon — with the current year filled in since RFC 3164 timestamps carry no year.

Example 2 — RFC 5424. <34>1 2026-08-16T09:00:01Z webserver app 8812 ID47 [meta@1 sev="err" ref="x7"] Failed to load config decodes to facility 4 (Auth), severity 2 (Critical), plus the structured [meta@1] pairs (sev=err, ref=x7) shown separately from the message text.

Example 3 — Error and emergency flood. Paste a crash window and the Emergency/Alert/Critical/Error rows all render in red, immediately separating them from routine Notice/Info noise in the same table.

Example 4 — SSH brute-force check. Paste a run of sshd lines and scan the facility/severity columns to separate “Failed password” attempts from a successful “Accepted password” login without reading full message text line by line.

Example 5 — SIEM handover. Download the JSON export and every message arrives with already-resolved facility, severity, host and structured data intact, ready to feed into an ingestion pipeline without another parsing step.

Benefits

  • Both standards handled with no configuration, mixed or uniform.
  • Facility/severity names decoded for you instead of memorizing the PRI table.
  • Structured data opened up into key/value pairs, not left as raw brackets.
  • Severity color coding surfaces the errors and emergencies that matter first.
  • Failures surfaced instead of silently dropped or mis-split.
  • CSV / JSON export straight into a pipeline or spreadsheet.
  • Private: nothing leaves the browser.

Frequently Asked Questions

Which syslog standards does this parser support?
Both current standards: RFC 5424 (the structured format with version, timestamp, hostname, app-name, procid, msgid and structured data, e.g. <34>1 2026-08-16T09:00:00Z host app 1234 ID47 [meta@1 sev="x"] message) and the classic RFC 3164 format (e.g. <13>Aug 16 09:00:00 myhost crond[123]: message).
What is PRI and how is it decoded?
PRI is the leading <number> field. The parser splits it into facility (the number divided by 8) and severity (the remainder) and shows the standard names — for example facility 4 = Auth, severity 2 = Critical — plus color-coding by severity.
How is RFC 5424 structured data handled?
Every [structured-data] element is decoded into key=value pairs and shown in its own column when present, with the raw element preserved for inspection.
Why do some lines come back as failed?
Lines without a syslog PRI marker or timestamp prefix are treated as malformed and listed separately with line numbers, so continuation lines or unrelated text are easy to spot and clean up.
Can I export the parsed messages?
Yes. Copy As CSV and Download CSV put the results in spreadsheet form, and Download JSON exports the structured records — including facility/severity names and structured data — for dashboards and scripts.
Is my syslog uploaded?
No. Everything is parsed locally in your browser with no network calls.