jwt-hack
v2.6.0 open-sourceThe section your link pointed to isn't on jwt-hack's page any more, so we've brought you to the top.
jwt-hack is a high-performance toolkit for testing, analyzing, and attacking JSON Web Tokens.
jwt-hack jwks --url https://example.com/.well-known/jwks.json --token <encoded_token>
jwt-hack crack --target-field jti --pattern '^[a-z]{5}$' --min 10 <encoded_token>
jwt-hack scan --target-field kid <encoded_token> --report /tmp/scan_report.json
jwt-hack shell
jwt-hack decode jwt_token_with_deflate.zip --zip
Summary
jwt-hack is an open-source command-line toolkit, written in Rust, for testing, analyzing and attacking JSON Web Tokens, distributed free via Cargo, Homebrew, Snapcraft or Docker. It covers the lifecycle a pentester needs when a target uses JWTsJWTsJSON Web Tokens — an open standard (RFC 7519) for encoding claims as a signed, optionally encrypted JSON object. Cyber tools use them for stateless authentication without server-side session storage.: encoding and decoding tokens (including JWE, with DEFLATE compression and custom headers), verifying signatures against a secret or key, and cracking secrets via dictionary or brute-force attack using all available CPUCPUThe main general-purpose processor in a computer. It runs application instructions and coordinates work with memory and other hardware. cores. This makes it a fit for penetration testers and application security engineers probing authentication tokens rather than for developers building JWT support into an app. It sits in the web-app-security space alongside other JWT-focused attack utilities, distinguished by bundling encode, decode, verify and crack into one binary instead of separate scripts. Development is active, with 288 commits and 11 releases in the past year across 17 contributors since its 2020 first commit.
jwt-hack is a high-performance toolkit for testing, analyzing, and attacking JSON Web Tokens.
How jwt-hack helps
Is a token I intercepted actually signed, or is it exploiting an "alg":"none" bypass?
decodes the header and payload and reports the algorithm and key state explicitly, flagging an unsigned token with an empty signature segment rather than silently treating it as valid
Can I forge a working token if I've guessed or found the signing secret?
encodes a new token with that secret under the chosen algorithm and returns the full compact token string, so the forged token can be replayed straight at the target
How weak is this application's JWT secret?
runs a dictionary or brute-force attack across all CPU cores against the captured token and reports whether a matching secret was found
Did the developers hide anything inside a compressed claims payload?
decodes the JWE structure and inflates DEFLATE-compressed segments, exposing header fields like key management and encryption algorithm even when the ciphertext itself can't be decrypted without the key
Will this token still be accepted after its issued-at or expiry claims are checked?
decodes the payload and surfaces the issued-at timestamp in human-readable form so a tester can see whether expiration validation would catch a replayed or stale token
Does this endpoint accept tokens signed with asymmetric keys I can supply myself?
verifies a token against a supplied private or public key file for RSA/ECDSA algorithms, confirming whether key-based verification succeeds or fails
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 jwt-hack, 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 jwt-hack 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
10 entries
No entries match these filters.
- June 20261
- March 20261
- October 20251
- September 20251
- August 20252
- June 20251
- May 20241
- October 20211
- October 20201
Project health
Issue, contributor and maintainer activity in hahwul/jwt-hack, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 6 +2 vs prior 12 months
- Maintainers 1 +0 joined · −0 left, last 12 months
- Bus factor 1 committers behind half the commits
- Community-filed 8% of issues opened, last 12 months
- Median time to close 105 days first maintainer reply 71 days
- Open backlog 0 of 48 issues ever filed
- Issues opened / month 0 · 0 communitymaintainers
- Open backlog 0
- Contributors / month 1
- Commits / month 5
- Stars 1,082
- other 100%
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.