Getting started #
Hopcheck is a URL redirect inspection tool. You paste a link, and it follows every redirect one hop at a time, showing you the intermediate URLs, status codes, and what changes along the way.
Using the web app
- Go to the URL Redirect Inspector.
- Paste any HTTP or HTTPS URL into the input field.
- Click Check (or press Enter).
- Read the chain: each hop shows the URL, the status code that caused the redirect, and any flags (query string changes, plaintext hops, loops).
No sign-up, no account, no cookies. Every check is anonymous and no URLs are stored.
What to look for
-
Query strings — a
?ref=or?utm_source=that disappears mid-chain means lost attribution. - Plaintext hops — a URL served over HTTP even for one hop exposes the full URL (including query strings) on the wire.
-
Redirect type — a
301(permanent) and a302(temporary) mean different things to browsers and search engines. - Loops or truncation — a chain that never settles or hits the 10-hop cap tells you the link is broken.
Using the API
Hopcheck exposes a public REST API. Send a POST request to
/api/check with a JSON body containing a
url field:
POST /api/check
Content-Type: application/json
{ "url": "https://bit.ly/some-campaign" }
The response includes each hop with its URL, status code, Location header, query string state, and any flags. There is no API key, no rate limit (beyond abuse prevention), and no authentication.
Frequently asked questions #
A redirect loop happens when page A redirects to page B, which
redirects back to A (or cycles through a set of URLs that never
ends with a 200 status). Hopcheck detects this by
tracking every URL it has seen in the current chain. When a URL
repeats, it stops and reports a redirect loop.
This means the link is broken — no browser would resolve it either. Common causes include misconfigured CMS redirect rules, conflicting .htaccess directives, or a CDN misrouting.
These are HTTP redirect status codes. They are not interchangeable:
- 301 Moved Permanently — the resource has a new permanent URL. Browsers and search engines update their bookmarks and indexes. Future requests should go to the new URL directly.
- 302 Found (temporary redirect) — the resource is temporarily at a different URL. Browsers will follow it but keep the original URL as canonical.
- 307 Temporary Redirect — like 302, but the browser must preserve the HTTP method (POST stays POST, GET stays GET).
- 308 Permanent Redirect — like 301, but the browser must preserve the HTTP method.
Hopcheck reports the exact code for each hop so you can tell whether a redirect is meant to be permanent or temporary, and whether method preservation is required. MDN's HTTP redirect guide has the full details.
Yes — this is the most common silent breakage Hopcheck catches.
A URL like https://example.com/page?ref=spring25
should carry ref=spring25 through every hop to the
final destination. When a parameter is dropped or rewritten
mid-chain:
- Campaign attribution (
?utm_source=,?ref=,?campaign=) is lost. - User identifiers or session tokens passed in the URL disappear.
- Tracking parameters from ad platforms are stripped.
Hopcheck flags every hop where the query string changes and shows you exactly which parameters were added, removed, or rewritten.
A plaintext hop is any intermediate URL served
over http:// (not HTTPS). Even if the chain starts
and ends on HTTPS, one plaintext hop in the middle means the
full URL — including any query strings, session tokens, or
identifiers — was transmitted in the clear over the network.
This is a security concern because anyone on the same network segment (public Wi-Fi, ISP, corporate proxy) could have read the URL. Hopcheck flags each plaintext hop in red so it cannot be overlooked.
Hopcheck caps every chain at 10 hops to prevent infinite loops and runaway server-side requests. When the cap is reached, the tool stops tracing and displays "Chain truncated — 10-hop limit reached".
This message means the chain might continue past 10 hops; it is not the same as a chain that completed. A legitimate long chain (unusual but possible) will hit this cap. The page always distinguishes between a completed chain (ended with a 2xx status) and a truncated one (hit the hop limit).
If a hop times out, the host does not resolve (DNS failure), or the connection is refused, Hopcheck stops and reports "Check did not complete at hop N". This is not a finding about your link — it means the tool could not reach that server at the time of the check.
Possible causes: the destination server is down, a DNS provider is unreachable, or the network path has a transient issue. Try the same URL again in a few minutes. If the problem persists, the destination server itself may be unavailable.
Known limitations #
Pro plan features are not yet available
The Pricing page describes a Pro plan with batch checks (up to 50 URLs at once), CSV export, copy-as-text hop chains, saved presets, and priority feature requests. As of August 2026, these features exist only as design mock-ups and descriptions. There is no payment processor connected, and no way to purchase or activate a Pro subscription. The checkout flow on the site is a demonstration.
The API is a design spec, not deployed
The /api/check endpoint described on this page and in
the plan.md document is the architectural target. The
redirect-following backend has not been deployed. The web app runs
in demo mode and returns example data.
No historical data or history
Hopcheck does not store any submitted URLs or results. There is no history, no saved checks, and no way to retrieve a previous result. Every check is ephemeral.
No email, alerts, or scheduled checks
Hopcheck has no email sender. It cannot send you alerts when a link changes, email you a report, or run scheduled re-checks. The tool answers when you ask it, and that is all it does.
No crawling
Hopcheck inspects only the URL you submit. It does not crawl the destination page, follow links found on the final page, or scan a domain. If you need a site-wide redirect audit, each URL must be checked individually (the planned batch feature in Pro would help with this).
No compliance certifications
This service does not claim compliance with GDPR, CCPA, SOC 2, or any other standard or certification regime.
No legal entity
No legal entity has been registered for this service. The operator must supply the entity name, address, and jurisdiction before the service can enter into binding agreements.
How to contact us #
Support is not yet reachable by email or live chat — this service has no registered entity and no mailbox on any domain in this fleet. Setting up a support channel is a known requirement that the operator has not yet addressed.
If you have encountered a bug, have a feature request, or need assistance with a specific redirect chain issue, here is what we recommend in the meantime:
- Self-serve via this Help Centre — the FAQ above covers the most common questions and scenarios.
- Check the Privacy Policy and Terms of Service for data-handling and legal information.
-
Record your requirement in the project. If you
are the operator, add a support channel to
needs.mdso it is tracked.
We know this is not ideal, and we expect the operator to add a support channel. When that happens, this page will be updated with a working contact method.