Decode SafeLinks to reveal the original URL
All computation runs locally in your browser

An Outlook SafeLink is a wrapped URL created by Microsoft Defender for Office. Your email client opens the wrapper first, then redirects you to the real destination.
What this decoder does
It extracts the original destination from the SafeLinks query parameter named . You paste a SafeLinks URL, and it outputs the decoded destination URL.
Privacy note
The decoding runs locally in your browser. This tool does not send your link to a server.
Important: decoding is not the same as “safe”
A decoded destination can still be malicious. Use this tool to understand where the link goes, then decide whether to open it.
If you want to inspect every part of a URL (host, path, parameters), pair this with our URL parser. If you need to encode or decode URL-escaped strings, our URL encoder/decoder can help.
What the tool is extracting
In simple terms, SafeLinks puts the real destination into a query parameter:
If the output looks like an error message, it typically means the input is not a SafeLinks URL.
Example 1: A typical SafeLinks redirect
Suppose Outlook gives you a SafeLinks URL that contains an encoded destination in the parameter.
Now you can inspect the hostname and parameters with our URL parser.
Example 2: Spotting a suspicious destination
If the decoded hostname is unexpected (for example, it mimics a login provider with a slightly wrong domain), treat it as suspicious.
Even if the email looks legitimate, confirm the destination with your IT/security team before opening.
Confirm a vendor link
Background: a vendor sends an invoice portal link. Input: the SafeLinks URL. Result: a decoded destination like . Action: verify the domain matches your vendor records.
Investigate a phishing report
Background: a teammate flags an email as suspicious. Input: the SafeLinks URL. Result: a decoded domain that does not match the brand. Action: share the decoded destination with security (without clicking).
Clean up documentation links
Background: internal docs copied links from Outlook. Input: SafeLinks URLs. Result: clean destinations. Action: replace SafeLinks with original URLs in documentation.
Compare redirects
Background: the same email appears to send different people to different places. Input: multiple SafeLinks URLs. Result: compare decoded destinations. Action: use the URL parser to compare query parameters.
You need the real hostname
Decode the wrapper so you can see the destination domain clearly before opening.
You are auditing email links
Decode multiple SafeLinks and compare destinations side by side.
You are creating internal docs
Replace SafeLinks with clean URLs so docs stay readable and stable.
You suspect phishing
Decode first, then decide whether to report, block, or investigate further.
You want to share a link safely
Share the decoded URL with context instead of forwarding the entire SafeLinks wrapper.
You need URL-level details
After decoding, parse the URL to inspect path and parameters.
When this tool may not apply
If the link is not an Outlook SafeLinks URL (or if your organization uses a different wrapping system), the decoder will return an error. In that case, try our URL tools to inspect the link format.
A quick sanity-check heuristic
If the decoded URL looks like it points to a login page, confirm the domain is exactly correct. For example, make sure you are not confusing with .
The decoder follows the same minimal method used by it-tools: validate that the URL is a SafeLinks wrapper, then extract the parameter.
Method in two steps
SafeLinks wrapper vs destination
The wrapper URL is the SafeLinks domain plus parameters like and tracking data. The destination URL is the one you actually care about.
URL encoding
The destination is often URL-encoded (percent-escaped) inside the wrapper. Modern URL parsers decode it for you, but if you see lots of sequences, a dedicated URL decode step can help.
This tool only decodes URLs that contain . If your organization uses a different wrapper, the input won’t match.
No. Decoding only reveals the destination. You should still evaluate whether the destination is trustworthy.
No. The decoding happens locally in your browser.
Some links may not include a parameter, or the URL may be malformed.
If you plan to inspect the destination, paste it into the URL parser to view its components and parameters.
Limitations / disclaimers
External references
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.