Inspecting a suspicious link before clicking it
Decoding reveals the real destination hidden inside a redirector's parameters, without requesting anything from the attacker's infrastructure.
Fetches a URL and resolves the final destination after redirects.
Fetches a URL and resolves the final destination after redirects.
https://short.example/abc
Final: https://real-site.example/product?ref=xyz (3 redirects)
YAS follows redirects safely and reports each hop.
The final URL is where the chain actually lands.
Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.
curl -X POST "https://yas.sh/api/v1/tools/url-expander" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/a?x=1#top"}'const res = await fetch("https://yas.sh/api/v1/tools/url-expander", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"url": "https://example.com/a?x=1#top"
}),
});
const data = await res.json();import requests
r = requests.post("https://yas.sh/api/v1/tools/url-expander", json={"url":"https://example.com/a?x=1#top"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | http/https URL |
{ "protocol": "https:", "host": "example.com", "pathname": "/a", "queryParams": [{ "key":"x","value":"1" }], "hash": "#top" }Decode and dissect a URL into parts and query parameters.
400 VALIDATION_ERROR — invalid input or unsupported option.413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).Expansion decodes percent-encoded sequences, separates the query string into individual key/value pairs, and presents each component in a readable form — including nested URLs that were themselves encoded to travel inside a parameter. Redirect and tracking links routinely carry two or three layers of encoding, and reading them requires unwinding each in order.
Where a short link is involved, the destination is only visible by following the redirect chain, which is a network operation with its own risks: the target may log the request, may serve different content based on the client, and may itself be a further redirector. Decoding is safe and local; following is not, which is why the two operations are distinct.
Decoding reveals the real destination hidden inside a redirector's parameters, without requesting anything from the attacker's infrastructure.
Ad networks and email platforms wrap destinations in multiple layers. Unwrapping shows which identifiers travel with the click.
Authorization URLs carry an encoded redirect_uri, state and scope. Reading them decoded is far faster than mentally decoding a 400-character string.
Mobile deep links embed encoded paths and parameters that determine which screen opens; expansion shows the actual routing target.
What this tool deliberately does not do, and where it will disagree with other implementations.