Your timeline
Leave Format override (optional) blank for automatic detection. When all overrides are blank, filling the first field and leaving it copies its value to the remaining fields once. Later edits affect only the edited field; clearing every override enables copying again. Detected format shows the result separately after successful automatic parsing. Set each File timezone below or the global fallback timezone for timestamps without offsets. UTC is assumed with a warning only when all nonempty selected files need a timezone and none has an assignment.
Add files to build your timeline.
Used when a timestamp has no offset and its File timezone is blank. UTC is assumed with a warning only when all nonempty selected files need a timezone and none has an assignment.
Add files to merge automatically. Uncheck to exclude; the trash button removes a loaded file without changing it on disk. Timezone, format, and time-adjustment changes apply with either Remerge button or the next automatic merge.
Automatic formats: %Y-%m-%dT%H:%M:%S, %Y-%m-%d %H:%M:%S, %Y/%m/%d %H:%M:%S. Optional dot/comma fractions (up to nine digits) and attached Z, ±HH:MM, or ±HHMM offsets.
Automatic detection consumes complete fractions and offsets and prefers one full timestamp over date-only message text, such as a BIOS date or --since 2026-09-08. Leave the format field blank for these logs. Two date-and-time candidates still require a distinguishing override. The error lists possible formats from valid supported timestamps on the failing line, including exact fractions and offset tokens. Copy one into Format override without the surrounding quotes; it may still need distinguishing literals and must fit the entire file. Suggestions are not applied automatically. Duplicate formats appear once; invalid or unsupported candidates are omitted, and the error says none if no valid supported candidates exist. Malformed or incomplete timestamps remain errors.
Override specifiers: %Y %m %d %H %M %S, %1N through %9N (%N means nine digits), %:z (Z or colon offset), %z (compact offset), %F (date), %T (clock), and %% (literal %). Include a literal dot or comma before fractional digits. Override fields are required with exact widths. Nonblank overrides preserve literal leading and trailing spaces; a trailing literal separator may precede message text. Letters, punctuation, and brackets are literal, so [%F %T] matches a bracketed timestamp. Numeric day/month record timestamps need an override, for example %d/%m/%Y %H:%M:%S.
Filename templates use the same date-specifier syntax as format overrides. Filename specifiers are case-sensitive: %Y is the four-digit year, %m the month (01–12), %d the day of month (01–31), %H the 24-hour clock hour (00–23), %M the minute (00–59), and %S the second (00–59). Numeric fields are zero-padded. %F is the full date (%Y-%m-%d), such as 2026-10-04. %1N, %2N, and %3N are tenths, hundredths, and milliseconds: a fraction of .037 produces 0, 03, and 037. Write the decimal point yourself, such as %S.%3N. %z is the local UTC offset as signed hours/minutes, such as -0400 for four hours behind UTC. %s is whole seconds since 1970-01-01 00:00:00 UTC, rounded down. %% produces a literal percent sign: report-100%%.log saves as report-100%.log. Download includes an expandable Filename specifier reference with examples for every specifier. The filename and local time are captured together when Download is clicked, independently of the log timezone. Blank uses merge--%Y%m%d.%H%M%S.log; a custom template stays in the field and expands fresh on each click. The preview refreshes while typing or opening Download; invalid specifiers disable Download. Fractions truncate milliseconds; %s is Unix epoch seconds. Use %z instead of %:z and %H%M%S instead of %T to avoid colons; filename fractions above three digits and %N are unsupported.
Explicit epochs: epoch-s (optional decimal fraction), epoch-ms, epoch-us, epoch-ns (integers). Multiple matching timestamps on one line are errors. Epoch overrides reject recognizable calendar dates and leading clock-only records; joined values such as 123-456 are not standalone epochs.
One format per file. Complete dates only; named timezones and leap seconds are unsupported. Leading lines stay before their first entry; subsequent continuation lines follow their preceding entry. Nonempty files without timestamps are errors. Empty files are ignored.
Explicit timestamp offsets and epochs take precedence over File timezone, then the global Fallback timezone. File timezone accepts UTC or ±HH:MM, including +05:30 and +05:45; blank inherits the global fallback. If every nonempty selected file needs a timezone and none has an assignment, UTC is assumed with a warning. Mixed selections and partial assignments require a fallback for each unresolved file. Empty and excluded files do not affect this policy. Warnings are never included in downloads.
Time adjustment shifts every entry in that file after timezone interpretation. Positive means later; negative means earlier. Enter signed hours and minutes (+00:30, -01:00), or choose 30-minute/1-hour steps and use Earlier/Later. Hours can exceed 23; Reset sets +00:00. Remerge applies the edits without accumulating shifts. Original timestamp text remains unchanged in preview and download, so displayed timestamps may appear out of order. Downloads do not retain adjustment metadata. Fixed offsets and constant adjustments do not handle changing clock errors or daylight-saving transitions.
Filter logs keeps matching physical lines in both preview and download. Select Invert match to keep nonmatching lines, like grep -v; combine it with any matching option. The Aa, underlined ab, and .* buttons toggle case sensitivity, whole-word matching, and JavaScript regular expressions. Hover or focus a button for its description. Search original text, not generated filenames. Regex anchors apply per line; enter patterns without / delimiters. Whole words use Unicode letters, marks, numbers, and underscores as word characters. The preview highlights all nonoverlapping matches; source labels and downloads have no highlights. Zero-width matches have no visible highlight. Inverted results have no matches to highlight. An empty query shows all lines, even with inversion enabled. Clear restores all lines while preserving options. Invalid or slow patterns, including slow highlight matching, disable downloading until corrected; simplify or clear a timed-out filter to recover.
Source filenames are right-justified with spaces inside brackets, aligning closing brackets to the longest selected label (including duplicate-name suffixes). Preview and download use the same width, even when filtering. Select No filename to omit prefixes from both immediately, without reparsing.
Preview rows are virtualized. Copy, beside the vertical-arrow button, places all retained lines on the clipboard as plain text, including lines outside the visible area. It honors the current filter, ordering, and No filename setting, just like Download. Download saves all retained lines as plain text, or the complete merge when the filter is empty. Original ANSI sequences, if present in a log, remain literal text. All processing stays local; this page makes no network requests.
Merge settings changed. Select Remerge to apply them.
Add log files to get started.