Skip to content
URX

urx.si/tools

Firebase Dynamic Link decoder

Paste a long Firebase Dynamic Link and see what it did: the deep link, where iPhone and Android users went with and without your app, and every parameter in plain English. Google shut Dynamic Links down, so this is how you recover what your old links pointed to. Free, no signup.

Decoded in your browser: your links aren't sent anywhere.

Every Dynamic Link parameter, explained

A long Dynamic Link carries its whole configuration in the query string. These are the parameters Firebase defined.

Firebase Dynamic Link parameters and what they did
ParameterWhat it did
linkDeep linkThe page or in-app screen the link points to. Opened by your app when it's installed, otherwise the fallback.
apnAndroid packageThe Android app that opens the link (its package name).
aflAndroid fallbackWhere Android visitors without the app go instead of Google Play.
amvAndroid minimum versionThe lowest versionCode of the app that can open the link; older versions go to Google Play.
ibiiOS bundle IDThe iPhone app that opens the link.
ifliOS fallbackWhere iPhone visitors without the app go instead of the App Store.
iusiOS custom schemeThe app's custom URL scheme, if it isn't the bundle ID.
ipbiiPad bundle IDThe app that opens the link on iPad, if different from the iPhone app.
ipfliPad fallbackWhere iPad visitors without the app go.
isiApp Store IDThe app's App Store ID, used to send visitors without the app to its listing.
imviOS minimum versionThe lowest app version that can open the link.
efrSkip preview page1 skipped the app preview page Firebase showed before opening the store.
oflOther platformsWhere everyone else goes (desktops and other devices). Without it, the deep link opens.
stSocial titleThe title shown when the link is shared.
sdSocial descriptionThe description shown when the link is shared.
siSocial imageThe image shown when the link is shared.
utm_sourceutm_sourceCampaign source, passed to Google Analytics.
utm_mediumutm_mediumCampaign medium.
utm_campaignutm_campaignCampaign name.
utm_termutm_termCampaign keyword.
utm_contentutm_contentCampaign content.
atApp Store affiliate tokenApp Store Connect analytics: affiliate token.
ctApp Store campaign tokenApp Store Connect analytics: campaign token.
mtApp Store media typeApp Store Connect analytics: media type.
ptApp Store provider tokenApp Store Connect analytics: provider token.
dDebug1 showed Firebase's debug flowchart instead of following the link.

After the shutdown

Every Dynamic Link stopped redirecting on August 25, 2025, including links already printed on packaging, in QR codes and in old emails. Decoding tells you what each one did; the next step is a replacement that does the same: the right store for each phone, your site for everyone else, and the deep link for people who have your app.

Read the Firebase Dynamic Links migration guide, see how Smart Links and deep linking work on URX, or check your Universal Links setup with the free apple-app-site-association validator.

Questions

Do Firebase Dynamic Links still work?

No. Google shut Firebase Dynamic Links down on August 25, 2025. Links on page.link domains and on custom Dynamic Links domains stopped redirecting, so every one of them needs a replacement.

Can you decode a short link like yourapp.page.link/abc?

No one can any more. A short link was only a key; its destination lived on Firebase's servers, and Google deleted that data at the shutdown. Long links are different: everything is in the link itself (after ?link=), so they decode completely. Look for long links in your app's code, analytics exports, old emails and campaign sheets.

What do apn, ibi, isi, ifl and ofl mean?

apn is the Android package and ibi the iOS bundle ID: the apps that opened the link. isi is the App Store ID. afl, ifl and ofl are fallbacks: where Android, iPhone and other visitors went instead of the store or the deep link. The table on this page explains every parameter.

Where did my link send iPhone users who didn't have the app?

To the iOS fallback (ifl) if the link had one, otherwise to the app's App Store page (from isi). If it had neither, iPhone users without the app got the deep link itself, in the browser. The decoder shows this for each link.

How do I replace my Dynamic Links?

Recreate each one as a link that does the same routing, then update wherever the old link appears. On urx.si a smart link sends iPhones to the App Store, Android phones to Google Play and everyone else to your site; the importer turns long Dynamic Links (or the CSV from this page) into smart links in one go. page.link addresses belonged to Google and can't be kept; if you used your own Dynamic Links domain, you can point it at URX instead (custom domains are on the Growth plan).

Is my data sent anywhere?

No. The decoder runs in your browser and nothing is stored. Only the shareable result link puts a Dynamic Link in the page address, like any URL you open.