Unfurl
v2026.11 open-sourceThe section your link pointed to isn't on Unfurl's page any more, so we've brought you to the top.
Parses URLs into directed graphs, extracting and visualizing components like timestamps, UUIDsUUIDsA universally unique identifier, usually a 128-bit value used to identify an object across systems. It is designed to make independently generated identifiers unlikely to collide., and platform-specific metadata.
unfurl "https://example.com/image.jpg?etag=%22f4381-6385a594%22" unfurl 'https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fevil.example.com%2Fpayload&data=05%7Crecipient-guid%7C...' unfurl 'hxxps://evil[.]example[.]com/payload[.]exe' [UNFURL_APP] remote_lookups = true [API_KEYS] virustotal = <your key> unfurl --bsky-did https://bsky.app/profile/example.com unfurl --parse-ip-in-hostname https://192.168.1.1.evil.com/path import unfurl unfurl.run(url) unfurl.print_tree() unfurl -l urls.txt unfurl 'http://attacker/m/msf?p=1&cmd=id' unfurl -p epoch_hex https://example.com?t=5F204E80 unfurl -p filetime_hex https://example.com?t=01D5A4B8C9E20000 unfurl -p tiktok_bare_id https://vm.tiktok.com/ZS8j9Kz1/
Summary
Unfurl is an open-source 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. tool that takes a URL and breaks it down into a directed graph, extracting and visualizing components such as timestamps, UUIDs, domain structure, and platform-specific metadata from services like Twitter and other social or chat sites. It runs as a command-line tool or a local web app installed via pip, and a hosted version exists for quick one-off lookups, which suits forensic analysts and incident responders trying to understand a URL pulled from a memory image, browser history, or slack space. Its plugin system makes it extensible to new URL formats as they appear, and it sits in the DFIR parsing and artifact analysis space rather than general OSINTOSINTOpen-source intelligence, collecting and analyzing information from publicly available sources. Investigators use it to learn about people, infrastructure or threats. tooling. First committed in 2019, it has 14 contributors and remains active, with 43 commits and 12 releases in the past year.
Parses URLs into directed graphs, extracting and visualizing components like timestamps, UUIDs, and platform-specific metadata.
How Unfurl helps
What is actually encoded inside this timestamp-shaped string I found in a URL?
breaks it down against known epoch, UUID version, and platform-specific timestamp formats (WebKit milliseconds, Mac Absolute Time, Snowflake IDs, and more) and shows the decoded date directly on the graph
What is this obfuscated or wrapped link actually pointing to?
unwraps Safe Links, ad-click redirects, and similar wrapper formats to surface the real destination URL along with any embedded scan verdicts, recipient GUIDs, or click IDs riding along with it
What does this defanged indicator from a threat report actually resolve to?
refangs the string into a proper URL or IP, with a hover showing every substitution it made, so the underlying indicator is unambiguous
Which pieces of this social media or chat URL correspond to a user, a post, or a timestamp?
walks the path and query segments against site-specific parsers for platforms like Twitter, Instagram, Facebook, and Discord, labeling each fragment and decoding any embedded IDs into their creation timestamps
Where did each piece of structure in this URL actually come from?
lays out every component as a node in a graph with the parser and reasoning behind each extraction shown alongside it, so the derivation is visible rather than asserted
Is this file extension in a suspicious link one that's commonly abused to deliver malware?
flags file extensions in the path against a list of types known to be used for malware delivery, right where the extension appears in the graph
Languages
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for Unfurl, 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 → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
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 Unfurl 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…
Releases
14 entries
No entries match these filters.
- October 20261
- September 20261
- April 20261
- August 20251
- March 20251
- February 20251
- November 20241
- September 20231
- November 20221
- February 20221
- June 20211
- March 20211
- November 20201
- August 20201
Project health
Issue, contributor and maintainer activity in obsidianforensics/unfurl, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 1 −2 vs prior 12 months
- Maintainers 1 +0 joined · −1 left, last 12 months
- Bus factor 1 committers behind half the commits
- Community-filed not measured of issues opened, last 12 months
- Median time to close not measured issues closed, last 12 months
- Open backlog not measured open issues today
- Issues opened / month not measured
- Open backlog not measured
- Contributors / month 1
- Commits / month 11
- Stars 765
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
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.