Skip to content

Apurvashelar/EVTX-Inspector

Repository files navigation

EVTX Inspector

A fast, privacy-first Windows Event Log analyzer that runs entirely in your browser.

→ Try it now — no install, no upload.

demo2

EVTX Inspector lets incident responders and forensic analysts investigate Windows .evtx files and CSV event log exports without installing anything and without uploading data anywhere. All parsing, filtering, and flagging happens locally in Web Workers.


The problem

Eric Zimmerman's EvtxECmd + Timeline Explorer is the gold standard for Windows Event Log triage — but it's Windows-only. Analysts on macOS and Linux have no equivalent investigation UI. The options today are:

  • Spin up a Windows VM just to open an EVTX file in a usable GUI.
  • Pipe the file through CLI tools (Hayabusa, Chainsaw) — powerful, but headless: they produce output files, not interactive triage environments.
  • Open CSV exports in Excel — no per-column filtering, no row flagging, no forensics-aware features.
  • Use omerbenamram.github.io/evtx — excellent parsing, but no CSV support and no investigation workflow (flags, per-column filtering, multi-file).

EVTX Inspector closes that gap: a zero-install, browser-based investigation surface with the column filtering, row flagging, and CSV-export support analysts actually use during triage — running on any OS, with no data ever leaving the machine.


Demo

EVTX Inspector demo


Features

Category Capability
File support Native .evtx files and CSV exports (EvtxECmd, Get-WinEvent, any header-row CSV)
Performance Virtual scroll handles hundreds of thousands of events without pagination
Multi-file Open multiple logs simultaneously; switch between them in the sidebar
Filtering Per-column text filters with OR logic (4624, 4625), global search, time range picker
Context filter Right-click any cell value → Add to filter (OR-appends to existing filter)
Column management Show/hide columns, resize by dragging handles, reorder by dragging headers
Row detail pane Single-click any row to open a slide-up detail pane; navigate rows with ↑ ↓ arrow keys
Detail search Search box inside the detail pane filters and highlights fields in real time
Field pinning Bookmark (pin) individual fields in the detail pane to keep them anchored at the top
Row flagging Right-click or batch-select to mark rows Suspicious / Reviewed / Noteworthy
Scrollbar markers Coloured tick marks on the scroll track show where flagged rows sit in the timeline
Batch operations Checkbox-select multiple rows → bulk flag or clear in one action
Flag navigation Toolbar chips jump between flagged rows of each type
Copy anywhere Copy individual field values, or the full row as CSV or JSON, from the detail pane or right-click menu
Export Download events as CSV — choose rows (all / filtered view / flagged only) and select which columns to include
Themes Dark and light mode; respects system preference, persists to localStorage
Privacy Zero telemetry, zero uploads, zero cookies — localStorage only (theme + flags + pinned fields)

Getting Started

Requirements: Node.js 18+ · npm 9+

git clone https://github.com/Apurvashelar/EVTX-Inspector.git
cd EVTX-Inspector
npm install
npm run dev          # → http://localhost:5173
npm run build        # production build → dist/
npm run preview      # preview the production build locally

Usage Guide

Loading files

Drag-and-drop an .evtx or .csv file onto the app, or click the Browse Files button in the left sidebar (or in the drop-zone when no file is loaded). Multiple files can be loaded at once; click any file in the sidebar to switch.

The app starts with a sample dataset of realistic Windows Security and System events so you can explore the interface without loading a real file.

Filtering events

Method How to use
Global search Search bar in the toolbar — matches any column
Column filter Text input below each column header
OR values Comma-separate terms in any column filter: 4624, 4625
Right-click filter Right-click a cell → Add "[value]" — appends to that column's filter with OR
Time range Set From / To timestamps in the toolbar, then click OK
Clear all "Clear all" button in toolbar removes every active filter at once

Row detail pane

Single-click any row to open the slide-up detail pane at the bottom of the screen. While the pane is open:

Action How
Navigate rows Press ↑ / ↓ to move to the previous / next row; the table auto-scrolls
Search fields Type in the search box in the pane header to filter and highlight matching fields
Pin a field Hover over a field row and click the bookmark icon to pin it to the top of the pane — persists across sessions
Copy a field Hover over a field row and click Copy
Copy full row CSV and JSON buttons in the pane header copy the entire row
Resize pane Drag the handle at the top of the pane; drag to ~44 px to collapse it to just the header
Close pane Click × in the pane header, or press Escape (first Escape clears the search if active)

Pinned fields always appear at the top of the detail pane and are highlighted in blue. Pins are stored in localStorage and restored on next visit.

Flagging and investigation

  • Single-click a row to select it and open the detail pane.
  • Right-click any row or cell to flag it as Suspicious, Reviewed, or Noteworthy, or to copy cell / row data.
  • Checkbox rows (or use the header checkbox for "select all") then use the batch action bar to flag multiple rows at once.
  • Toolbar chips (coloured counts) let you jump to the next flagged row of each type.
  • Scrollbar markers — coloured tick marks appear on the vertical scrollbar track showing where flagged rows sit relative to the full log timeline.
  • Toggle Flagged only in the toolbar to hide unflagged rows.

Flags are stored in localStorage keyed by a hash of the file (name + size + content sample), so reopening the same file in the same browser restores all previous flags.

Note on flag persistence: If you rename the file, modify its content, or clear your browser's localStorage, flags will be lost. There is currently no export/import path for flag data.

Exporting results

Click Export… in the toolbar to open the export dialog. Options:

Setting Choices
Rows All rows · Current filtered view · Flagged rows only
Columns Tick any subset; All / None shortcuts; optionally append a FlagType column

The downloaded file is named <original-filename>_<all|filtered|flagged>.csv.

Column management

Action How
Resize Drag the right edge of any column header (min 40 px, max 1200 px)
Reorder Drag a column header left or right; a blue indicator shows the drop position
Show / hide Columns button in the toolbar → toggle individual columns
Reset layout Columns → Reset restores default widths and visibility

Supported File Formats

.evtx

Native Windows Event Log binary format. Parsed in a Web Worker using @ts-evtx/core. Extracts System fields (EventID, TimeCreated, Level, Channel, Computer, Provider, UserID, Keywords, Task, Opcode) plus all <EventData> name/value pairs concatenated into a single column.

.csv

Any CSV with a header row. Column names from common tools are auto-recognized:

Tool Key columns detected
EvtxECmd EventRecordID, TimeCreated, EventID, LevelName, Channel, Computer, Provider, MapDescription, PayloadData1–6
Get-WinEvent TimeCreated, Id, Message
Generic Any column names; timestamp columns detected by name heuristic

Tech Stack

Layer Library Version
Framework React 19
Build Vite 8
Styling Tailwind CSS 4
Table engine TanStack Table v8
Virtualization TanStack Virtual v3
State Zustand 5
EVTX parsing @ts-evtx/core 1.1
CSV parsing PapaParse 5
Language TypeScript 6

Privacy

All processing runs in your browser. Nothing is transmitted to any server. The only data written to localStorage is:

  • Your theme preference (evtx-theme)
  • Row flags (evtx-inspector-flags) — keyed by file hash, not file content
  • Pinned detail-pane fields (evtx-inspector-pinned-fields)

No analytics, no error reporting, no external requests of any kind.


Browser Support

Modern Chromium browsers (Chrome 90+, Edge 90+) and Firefox 90+. Safari is supported but less tested. Requires ES modules and Blob + URL.createObjectURL for CSV export.


License

MIT

About

EVTX Inspector - Browser-based Windows Event Log (.evtx) viewer and analyzer

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors