PAGES
← all tools
◆ Digital Forensics & Incident Response

plaso

open-source

Plaso is a Python-based engine used by several tools for automatic creation of timelines to support digital forensic investigators.

Summary

plaso is an open-source, Python-based engine, run from the command line, that parses logs and other artefacts from a disk image or live system and aggregates their timestamped events into a single "super timeline," though it can also produce more targeted, narrower timelines when a full sweep isn't needed. It underpins several other DFIRDFIRDigital forensics and incident response, investigating what happened during a security incident and containing it. The work includes preserving evidence, reconstructing activity and restoring systems. tools and is built for digital forensic investigators and analysts who need to correlate large volumes of log and file data rather than review each source separately. It supports parsers and plugins for formats spanning file systems, browser artefacts, Windows Registry hives, SQLite and ESEESEExtensible Storage Engine, a Microsoft-developed embedded database engine used in Windows components like Active Directory and Exchange; cyber tools use it to read those stores without needing a running service. databases, and text-based logs, and can be extended with custom parsers or analysis plugins. First committed in 2012, it remains active, with 131 contributors and a release in the past 101 days.

Plaso is a Python-based engine used by several tools for automatic creation of timelines to support digital forensic investigators.

How plaso helps

What actually happened on this disk image, in the order it happened?

walks every supported artefact on the image, pulls out every timestamped event it can find, and merges them into a single chronological super timeline spanning file systems, registry hives, browser history and logs at once

Which of the thousands of log entries on this system actually matter to my case?

supports building a narrower, targeted timeline instead of a full sweep, so only events matching a specific collection scope are extracted and aggregated

What happened around the time of this known bad event, across every source at once?

correlates entries from different artefact types by timestamp so events from unrelated logs and files line up on one axis instead of being reviewed source by source

Can I trust a timeline built from a log format nobody wrote a parser for yet?

is built as a framework that lets an analyst add a custom parser or parsing plug-in, so coverage extends to formats outside the built-in set rather than stopping there

Did anything happen on this Windows host that involved the registry, browser, and a database artefact together?

ships parsers for Registry hives, SQLite and ESE databases, and browser artefacts, folding all three into the same aggregated event set instead of separate tools' outputs

How do I turn a repetitive piece of forensic analysis into something repeatable?

can be scripted or extended with one-off custom analysis plug-ins that run against the aggregated events rather than requiring manual review each time

all 9 features, with the evidence for each →

Languages

Not documented

Features

9 capabilities across 2 capability groups · 2 backed by code, an API document or a real run

Built from plaso's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • plaso covers 2 of the 8 investigation and response capabilities we track.

What plaso offers you

  • Command-line interface1
  • JSON data export1
  • Plugin system1
Disk and filesystem forensics 2 features Investigation and response since 2026
Plaso image parsing verified Parses disk images using a Plaso YAML configuration file, with configurable sector size. 9 other sources · first seen Jul 2026

Shared capability: Disk and filesystem forensics

docs 7 total

  • plaso.parsers package Subpackages Submodules plaso.parsers.android_app_usage module Parser for the Android usage history (usage-history.xml) files. class plaso.parsers.android_app_usage. AndroidAppUsageEventData ( * args : Any ** kwargs : Any ) [source] Bases: EventData Android application usage event data. docs update · Oct 2026 · source
  • plaso.preprocessors package Submodules plaso.preprocessors.generic module Operating system independent (generic) preprocessor plugins. class plaso.preprocessors.generic. DetermineOperatingSystemPlugin [source] Bases: FileSystemArtifactPreprocessorPlugin Plugin to determine the operating system. seen Oct 2026 · source
  • access_granted (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute) access_permissions (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute) permissive_mode (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute) target_object_class… seen Sep 2026 · source
  • (plaso.parsers.text_plugins.esxi.ESXiLogEventData method) (plaso.parsers.text_plugins.esxi.ESXiLogTextPlugin method) audit_session_identifier (plaso.parsers.systemd_journal.SystemdJournalEventData attribute) (plaso.parsers.text_plugins.esxi.ESXiLogTextPlugin method) (plaso.parsers.text_plugins.esxi.ESXiLogEventData… docs update · Aug 2026 · source
  • EventTag: event tag or None if not resolved. event_tag event_tag EventTag ) – event tag, or None if the event tag should be resolved when the export buffer is flushed. seen Aug 2026 · source
  • account (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute) architecture (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute) audit_rule_keys (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute) file_mode (plaso.parsers.text_plugins.selinux.SELinuxLogEventData attribute)… seen Aug 2026 · source

command line

File extraction from images documented Extracts files from disk images via a command-line tool. 1 other source

Shared capability: Disk and filesystem forensics

Also counts toward: Command-line interface

docs

  • plaso.scripts package Submodules plaso.scripts.image_export module The image export command line tool. plaso.scripts.image_export. Main ( ) [source] Entry point of console script to extract files from images. Returns : exit code that is provided to sys.exit(). seen Oct 2026 · source
Forensic timeline analysis 1 feature Investigation and response since 2026
Super timeline aggregation documented Automatically creates super timelines by aggregating timestamped events from logs and files for digital forensic analysis. 4 other sources · first seen Aug 2026

Shared capability: Forensic timeline analysis

Also counts toward: Plugin system

docs

  • (plaso.containers.events.EventTriple method) (plaso.parsers.text_plugins.syslog.BaseSyslogTextPlugin method) (plaso.parsers.text_plugins.syslog.SyslogCronTaskEventData method) (plaso.parsers.text_plugins.syslog.SyslogSSHClosedConnectionEventData method)… docs update · Oct 2026 · source
  • (plaso.containers.events.EventTriple method) (plaso.parsers.text_plugins.syslog.BaseSyslogTextPlugin method) (plaso.parsers.text_plugins.syslog.SyslogCronTaskEventData method) (plaso.parsers.text_plugins.syslog.SyslogSSHFailedConnectionEventData method) (plaso.parsers.text_plugins.syslog.SyslogSudoCommandEventData… seen Oct 2026 · source
  • plaso.parsers.text_plugins.esxi docs update · Aug 2026 · source
  • Python-based engine that automatically creates super timelines by aggregating timestamped events from logs and files for digital forensic analysis.
Other / not yet classified 6 features Features we have not matched to a capability yet. A suggested match is marked.
Tagging file validation verified Validates the labels and rules in a tagging file, reporting the line number and description of any label or rule that cannot be loaded. 3 other sources · first seen Oct 2026

docs

  • Validate Validates the labels and rules in the tagging file. line number and description of every label or rule that cannot be loaded, empty if all can be loaded. list[tuple[int, str]] seen Oct 2026 · source

command line

  • --strict — return an error if the event data attributes are not correctly documented or if event data cannot be inspected. 20261025 · Oct 2026 · command-line history
  • paths — paths of the tagging files to check. 20261025 · Oct 2026 · command-line history
Syslog parsing documented suggested Parses syslog-format log files, extracting structured event data from entries such as cron jobs and anacron job records. 1 other source · first seen Oct 2026

Suggested capability: Forensic timeline analysis. This is our guess, not confirmed.

docs

  • (plaso.containers.events.EventTriple method) (plaso.parsers.text_plugins.syslog.BaseSyslogTextPlugin method) (plaso.parsers.text_plugins.syslog.SyslogAnacronJobEndEventData method) (plaso.parsers.text_plugins.syslog.SyslogAnacronJobEventData method) (plaso.parsers.text_plugins.syslog.SyslogCronEntryEventData method)… docs update · Oct 2026 · source
Delimited output formatting documented Formats event data into dynamically selected delimiter-separated values for output. 1 other source

docs

  • plaso.output package Submodules plaso.output.dynamic module Dynamic selected delimiter separated values output module. class plaso.output.dynamic. DynamicFieldFormattingHelper [source] Bases: FieldFormattingHelper Dynamic output module field formatting helper. class plaso.output.dynamic. seen Oct 2026 · source
JSON attribute container serialization documented Serializes and deserializes attribute containers to and from JSON format. 1 other source

Also counts toward: JSON data export

docs

  • plaso.serializer package Submodules plaso.serializer.json_serializer module JSON attribute container serializer. class plaso.serializer.json_serializer. JSONAttributeContainerSerializer ( * args : Any ** kwargs : Any ) [source] Bases: AttributeContainerJSONSerializer JSON attribute container serializer. seen Oct 2026 · source
Language tag validation documented Determines whether a string contains a valid language tag. 1 other source

docs

  • language tag and description. Determines if a string contains a valid language tag. seen Oct 2026 · source
Multi-processing pipeline documented Uses a queuing mechanism with helper interfaces for merging task-related attribute containers to support multi-processing and scalability. 1 other source

docs

  • Interface of helper for merging task related attribute containers. of the queuing mechanism, to support multi processing and scalability. seen Oct 2026 · source

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for plaso, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail plaso puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Coverage

Missing something? Tell us

What plaso connects to, runs on and detects, read from its release notes and docs. So far: 6 new supported platforms.

Show

6 changes, tracked since Oct 8, 2026.

  • Oct 82026

    new Android app usage history parser

    With usage-history.xml

    Parser for the Android usage history (usage-history.xml) files.

    Source ↗

  • Oct 82026

    new Apple System Log (ASL) file parser

    With asl_log, macos:asl:entry, macos:asl:file

    The Apple System Log (ASL) file parser.

    Source ↗

  • Oct 82026

    new Bencoded file parser

    With BencodeParser

    Parser for bencoded files.

    Source ↗

  • Oct 82026

    new SleuthKit bodyfile format parser

    With fs:bodyfile:entry

    Parser for the Sleuthkit (TSK) bodyfile format.

    Source ↗

  • Oct 82026

    new Basic Security Module (BSM) event auditing file parser

    With bsm_log, bsm:entry

    Source ↗

  • Oct 82026

    new Google Chrome and Chromium Cache file parser

    With chrome:cache:entry, ChromeCacheDataBlockFileParser, ChromeCacheIndexFileParser

    Parser for Google Chrome and Chromium Cache files.

    Source ↗

How we count

Read from 1 of 5 release notes and docs updates we hold for plaso. "First seen" is the earliest note that names something; "last" is the latest. Our history may start partway through plaso's life, so an old integration can show a recent first-seen date.

Each change counts once: "added 40 checks" is one line, so the numbers measure how often coverage moves, not how big the catalogue is or how well it detects.

Releases

Coverage in all entries

5 entries

  1. October 20263
  2. August 20262
    Coverage in all entries

    5 entries

    Project health

    Issue, contributor and maintainer activity in log2timeline/plaso, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 27 +19 vs prior 12 months
    2. Maintainers 1 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 73% of issues opened, last 12 months
    5. Median time to close 139 days first maintainer reply 11 hours
    6. Open backlog 259 of 2,104 issues ever filed
    1. Issues opened / month 7 · 0 communitymaintainers
    2. Open backlog 259
    3. Contributors / month 2
    4. Commits / month 4
    5. Stars 2,158
    Issue themes, last 12 months
    • features 12%
    • questions 3%
    • other 85%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →