# QR code link shortener expired

> Free link shorteners retire, prune inactive links or move them behind paywalls: Google's goo.gl stopped serving links entirely on 25 August 2025. When the shortener dies, every printed code through it dies at once. Recovery, ranked: reactivate or export from the account, reprint with a direct URL, and in future only print links on a domain you control.

Source: https://useqr.app/docs/troubleshooting/qr-code-link-shortener-expired · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## What actually happened

Your QR code does not contain your page's address. It contains the **shortener's** address, and the shortener has changed the deal. The well-documented patterns:

- the service **retired entirely**;
- it **pruned links** it classed as inactive or anonymous;
- it moved redirects **behind a paid plan**, so old free links stopped resolving or gained an interstitial;
- it kept running but your account lapsed.

The highest-profile case is Google's own: **goo.gl** stopped accepting new links in 2019 and stopped serving existing ones on **25 August 2025**, from that day, every printed code pointing through it went dark simultaneously. If Google retires a shortener, no free shortener is a safe long-term dependency for print.

## Why this hurts more than an ordinary 404

A [404 on your own domain](/docs/troubleshooting/qr-code-opens-a-404) is fixable with one redirect. A shortener failure lives on a domain you cannot touch: the printed pattern encodes `sho.rt/abc`, and only the shortener's operator can decide what `sho.rt/abc` does. Printing a [short URL](/glossary/short-url) quietly doubled your dependencies: your page must stay up *and* their redirect must stay funded. The wider pattern is documented in [what happens when a QR service shuts down](/vs/what-happens-when-a-qr-service-shuts-down).

## Recovery, ranked

1. **Log in to the shortener account.** If links were paused for inactivity or a plan limit, reactivating the account (or paying) may restore them instantly. Galling, but the only option that revives already-printed codes.
2. **Export the link mapping.** Retiring services often offer an export window. Even after redirects stop, the mapping tells you where every code *pointed*, which is what a reprint needs.
3. **Reconstruct from records.** No export? Check the campaign brief, analytics referrers or old emails for the destination. Decode a printed code with our [scanner](/scan) to confirm exactly which short link each item carries.
4. **Reprint.** Encode the destination **directly**, or a short path on a domain you own. The printed codes through the dead shortener are otherwise unrecoverable, no one else can resurrect a domain they do not control.

## Prevention

- **Encode the real URL.** A longer URL costs a somewhat denser code, usually a price worth paying for zero third-party dependency. See [shortening a URL before making a QR code](/docs/how-to/how-to-shorten-a-url-before-making-a-qr-code) for when shortening genuinely earns its keep.
- **If you want short, own it.** A path on your own domain (`yourdomain.com/r/spring`) with a redirect you control gives the same small code with none of the counterparty risk.
- **If you want scan counts,** that is the honest use case for a redirect you operate or a paid platform, with eyes open that a paid platform re-creates the same failure class if you stop paying. The trade-offs are laid out in [should you use a dynamic QR code](/vs/should-you-use-a-dynamic-qr-code).

## FAQ

### Why did my QR code stop working when the link was fine before?
The code points at a link shortener whose redirect no longer resolves: the service retired, pruned the link or moved it behind a paywall. The printed pattern is intact; the middleman left.

### Can I recover a QR code that used a dead shortener?
Only by restoring the shortener side: reactivate the account or plan if the service still exists. If it has shut down entirely, recover the destination from an export or your records and reprint with a direct URL.

### Do short links expire?
Many free ones effectively do: services reserve the right to prune inactive or anonymous links, retire domains or change terms. A short link is a service, not a fact, and it lasts exactly as long as its operator's business model.

### Should I ever put a shortened link in a printed QR code?
Only one on a domain you control. Third-party free shorteners add a dependency you cannot fix when it breaks, and printed codes cannot be updated. Encode the destination directly or run the redirect on your own domain.

## Try it

- https://useqr.app/url
- https://useqr.app/scan
