Whole Antidetect Catalog Donut Browser

Catalogue · check.ja3.zone · Alternatives

check.ja3.zone alternatives

2 entries in this register are declared substitutes for, successors to or predecessors of check.ja3.zone, and all of them are still shipping at the last field check. check.ja3.zone itself reads ACTIVE. Every row in the table below is judged by the same rubric, from the same sweep, on the same fields — this page ranks nothing and recommends nothing, because a register that has measured no population is in no position to.

Every row below is judged by the same rule as check.ja3.zone itself, from the same field check. Supersession is only printed where a project or its author says so — this register does not infer that one tool replaces another because it is newer.


Entry Relation Licence Last push Latest release State
check.ja3.zone this entry N/A — — ACTIVE
BrowserLeaks TLS alternative N/A — — ACTIVE
TrackMe / peet.ws alternative N/A — — ACTIVE

Read the state column with the licence column. A permissively licensed project that stopped shipping is not safer than a copyleft one that did not.


What check.ja3.zone does, so you know what you are replacing

A minimal JA3 echo with essentially no page around it, which makes it the lightest possible way to confirm that a client library is emitting the handshake you configured.

A substitute has to do that job, not merely occupy the same category. Minimal services are the ones most likely to disappear without announcement, which is why this register carries an HTTP status and a check date for it. Re-check before you depend on it in an automated test.

How this register decides what counts as an alternative

BrowserLeaks TLS, TrackMe / peet.ws are recorded as substitutes for the same job. The alternative relation is symmetric and carries no ordering at all: it says these things answer the same question, and it says nothing whatsoever about which answers it better.

Nothing on this page is a ranking, a score or a recommendation, and nothing on it is a detection-test result — no entry in this register has been run against any anti-bot system by this register. What the table gives you is four measured columns and one derived one, applied identically to every row.

How to read the comparison above

Every candidate reads ACTIVE or SEMI, so the choice here is genuinely about fit rather than about survival. Compare the release column rather than the push column: a project that pushes constantly and tags rarely asks you to depend on a branch, which is a different commitment from depending on a version.

Every entry in the table declares a licence, which is less common in this catalogue than it should be — the entries that declare none are grouped separately. Read the licence column beside the state column rather than after it: a permissively licensed project that stopped shipping is not a safer dependency than a copyleft one that did not.

Full entries

LicenceN/A
HTTP200
Checked2026-08-14
StateACTIVE
Silent—

BrowserLeaks TLS

ACTIVE

JA3 and JA4 plus the full handshake, which is the half of your fingerprint JavaScript cannot change.

https://tls.browserleaks.com/ — printed, not linked

Evidence

Why ACTIVE: No repository. The link check returned 200 at 2026-08-14T09:12:00Z, and 200–399 is ACTIVE for a non-repository entry.

FieldValue at this printing
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: HEAD https://tls.browserleaks.com/

No repository, so there is no API field to re-read from a browser. A cross-origin liveness check has to be made server-side; this entry's status comes from the register's own sweep.

See also · superseded by · alternatives

LicenceN/A
HTTP200
Checked2026-08-14
StateACTIVE
Silent—

TrackMe / peet.ws

ACTIVE

One JSON document containing your TLS, JA3, JA4, HTTP/2 and header fingerprints. The fastest way to see what you look like below the browser.

https://tls.peet.ws/api/all — printed, not linked

Evidence

Why ACTIVE: No repository. The link check returned 200 at 2026-08-14T09:12:00Z, and 200–399 is ACTIVE for a non-repository entry.

FieldValue at this printing
http_status200
fetched_at2026-08-14T09:12:00Z
rubric_edition2nd, in force

Endpoint: HEAD https://tls.peet.ws/api/all

No repository, so there is no API field to re-read from a browser. A cross-origin liveness check has to be made server-side; this entry's status comes from the register's own sweep.

See also · superseded by · alternatives


Questions about replacing check.ja3.zone

Answered from the same fields the table above prints, and from no other source.

What is the best alternative to check.ja3.zone?

This register does not answer that, because it publishes no ranking and has tested no tool to rank. What it can tell you is which candidates are still shipping: BrowserLeaks TLS, TrackMe / peet.ws. The rest of the decision is fit, licence and how much of your own stack you are prepared to change.

Are these check.ja3.zone alternatives still maintained?

BrowserLeaks TLS reads ACTIVE, TrackMe / peet.ws reads ACTIVE. Each of those states is derived from that entry's own measured fields by the rubric in force, at the field check printed in the folio, and the clause that produced it is printed on the entry page.

Why does this list not rank the alternatives?

Because a ranking would be an opinion wearing a number's clothes. Every figure on this site is a date, a count, an SPDX identifier or an HTTP status you can re-fetch from the endpoint named beside it, and there is no honest way to compress those into an ordering without inventing weights nobody published. The rubric sets states; it does not rate them against each other.

Where does the alternatives data for check.ja3.zone come from?

From declared edges in the register itself, never inferred. Each edge is stored once and reversed at build time, and every field in the table is read from the same sweep that produced the rest of the catalogue. The whole set is downloadable as CC0 JSON and CSV, including the supersedes, superseded_by and alternative_to columns.


A test page tells you that something is inconsistent. It does not tell you which layer produced the inconsistency, and it will not fix it. Donut Browser is an open-source anti-detect browser under AGPL-3.0 that addresses the layer most of these pages are reading: engine-level fingerprint overrides through CDP rather than injected script, with a pre-launch gate that refuses to start a profile when the proxy's exit geography contradicts the profile's own fingerprint.

Download Donut Browser

curl -fsSL https://donutbrowser.com/install.sh | sh

macOS · Windows · Linux · Nix. Desktop only. Source, AGPL-3.0 · The check.ja3.zone entry in full · Section 03 · the keepers' disclosure