Back to Blog

Flyn Chrome Extension: Shorten Links in One Click

If you shorten links more than three times a day, the dashboard-tab-shuffle is killing your flow. The Flyn Chrome extension does the same job in one click from your toolbar, here's how to set it up and the power-user tricks worth knowing.

Karan Bhakuni
Karan Bhakuni
Founder, Flyn
TutorialMar 29, 202614 min readUpdated May 5, 2026
Flyn Chrome Extension: Shorten Links in One Click

Why a Browser Extension Beats the Dashboard

You're writing a Slack message. You want to share a link to a long, ugly product URL, full of UTM parameters, session IDs, and tracking junk. The "right" tool to clean it up is your link shortener's dashboard. The actual workflow: open a new tab, navigate to the dashboard (if you're logged in, otherwise that's two more steps), click "New link", paste the URL, optionally configure UTM and slug, click "Shorten", click "Copy", switch back to Slack, paste.

Seven steps. Maybe twelve seconds. Now multiply by 15 links a day for a marketing team, 30 for a growth team, 50 for a community manager. That's 5 to 15 minutes a day of context-switching tax. The Flyn Chrome extension compresses the whole thing to one click.

The before-and-after

Same task, two workflows:

  • Without the extension: New tab → dashboard → New link → paste URL → configure → Shorten → Copy → switch tabs → paste. Seven discrete steps, multiple keystrokes.
  • With the extension: Click toolbar icon → click Shorten (or hit Enter). The short URL is on your clipboard. Switch back. Paste. One click, one shortcut, done.

Who actually needs it

Anyone shortening more than three links a day (if you are brand new to this, start with how to shorten a URL). We see four cohorts get the strongest value:

  • Content creators sharing platform links (YouTube, Instagram, TikTok, Spotify), pair with the deep links toggle and you're done in a click
  • Community managers dropping links in Discord, Slack, and Reddit threads all day
  • Sales and customer-success reps sending personalized links to prospects from their inbox
  • Marketers publishing to multiple channels, each post needs the same short link in different copy

Installing the Extension

Two ways to install, depending on whether you're a user or a developer.

From the Chrome Web Store

Install it in one click from the Flyn URL Shortener listing on the Chrome Web Store, then click Add to Chrome and approve the permissions (we'll explain exactly what they cover in a moment). The Flyn paper-airplane icon appears in your toolbar.

The same package works on every Chromium-based browser:

  • Microsoft Edge, install from the Chrome Web Store directly (Edge supports CRX extensions); also available on the Edge Add-ons store
  • Brave, install from the Chrome Web Store (Brave proxies the install)
  • Arc, same install flow, fully supported
  • Opera, install via Opera's "Install Chrome Extensions" helper, then from Chrome Web Store

Manual install for developers

If you want to run the latest unreleased build, contribute, or audit the source: clone the Flyn repository, open chrome://extensions, enable Developer mode, click Load unpacked, and select the chrome-extension directory. You can rebuild from source at any time and reload via the same dev-mode panel.

Permissions on install

Chrome will show two requested permissions. We cover them in detail below, but the short version: activeTab means we can read the URL of the tab you're looking at only when you click the icon; storage means we can save your API key. No history access. No "all your data on all websites" prompt, the kind that should make any extension installer nervous.

Note

Firefox and Safari versions of the extension are on the roadmap. The codebase is fully WebExtension-compatible, so the port to Firefox is mostly packaging work. Safari requires more rewriting because Apple's extension API diverges from WebExtension. Star or watch the GitHub repo to track release status.

Configuring Your API Key

The extension talks to the Flyn API directly, there's no Flyn server-side proxy in the middle. That means every link the extension creates goes straight from your browser to api.flyn.to with your API key as the bearer token. Same security model as if you'd written the curl request yourself.

Getting your API key

  1. Sign in to your Flyn dashboard
  2. Navigate to Settings > API Keys
  3. Click New key, label it (e.g. chrome-extension-personal)
  4. Copy the full key from the modal, it's shown only once
  5. If you lose it, generate a new one; the old key keeps working until you revoke it

For the technically curious, the full key format and key-rotation flow is in the authentication doc. Same key works for the API, the SDK, and the extension, pick one or generate separate keys per integration.

Pasting it into the extension

Click the Flyn icon in your toolbar. On first launch, you'll see Configure API Key (or right-click the icon > Options to reach the same screen). Paste the key. Optionally set:

  • Default domain, your branded domain (e.g. links.yourcompany.com). Leave blank to use flyn.to.
  • Default tags, automatically applied to every link the extension creates
  • Deep link by default, turns on the native-app routing toggle for every link
  • Auto-UTM, appends preset UTM parameters (handy for personal tracking, see the UTM Builder for a cleaner workflow)

Where the key is stored

Inside chrome.storage.sync, Chrome's encrypted, password-protected sync storage. It rides with your Google account across machines if you've enabled Chrome Sync. The key is never sent to any server except api.flyn.to on the requests you trigger. The extension has no telemetry, no analytics, no "phone home" behavior.

Power-User Tips

The default extension flow is fast. With a few config tweaks, it gets genuinely instant.

Pin the icon

By default, new extensions live behind Chrome's puzzle-piece menu. Click the puzzle piece, find Flyn, and click the pin icon next to it. The icon now lives directly in your toolbar, one click instead of two.

Configure a keyboard shortcut

Navigate to chrome://extensions/shortcuts (paste the URL into your address bar). Find Flyn, click the input next to Activate the extension, and press your desired key combo. Ctrl+Shift+L is unused by most apps and easy to hit. On macOS, Cmd+Shift+L.

Use defaults aggressively

If you always shorten to the same custom domain, set it as the default in extension options, the popup auto-fills it. If you always want UTM source/medium on personal-share links, set them as defaults. If most of your shares are to platforms with native apps (YouTube, Instagram, Spotify), turn on Deep link by default. Friction-free workflow comes from reducing the number of fields you have to touch each time.

Bulk-shorten from a list of URLs

The extension is single-link by design, the popup operates on one URL at a time. For bulk operations (50+ links), use the API directly via the API guide or the dashboard's CSV import. The extension is the wrong tool for batch jobs; the API is the right one.

Combine with platform shorteners

If you primarily share to one platform, the dedicated shorteners give you platform-specific validations the general extension doesn't. The YouTube shortener pre-validates that the URL is a real YouTube video; the Spotify shortener handles track/playlist/album URLs distinctly; the TikTok shortener resolves the mobile-share URLs (vm.tiktok.com) to canonical desktop URLs before shortening. Bookmark the ones you use; pair with the extension for general shortening.

The compounding wins from a browser-toolbar shortener are surprising. A 12-second task done 20 times a day is 4 minutes, but the cognitive switching cost of "go to the dashboard, come back" is harder to measure and probably worse than the literal time. One click, no context switch.

Sharing the extension config across a team

For agencies and growth teams: every team member can install the extension with their own API key (tied to the shared workspace), and their links will all roll up into the same Flyn dashboard. Tag-based filtering then sorts links by team member or campaign. See link management for SaaS teams for the workspace-organization patterns we recommend.

Privacy and Permission Footprint

Browser extensions are a real attack surface, a compromised extension can read every page you load, harvest your form inputs, and inject scripts into your bank's website. The Flyn extension is built to be the opposite of that: minimal permissions, no background activity, fully open source.

The two permissions we request

PermissionWhat it lets us doWhat it does NOT let us do
activeTabRead the URL and title of the tab you're looking at when you click the iconRead other tabs, read tabs in the background, see your browsing history
storageSave your API key, default domain, and preferences in encrypted Chrome storageAccess cookies, local storage of websites, IndexedDB, or any non-extension data

That's the full list. The extension does not request tabs (which would let us see all open tabs), history, cookies, webRequest (which would let us intercept network traffic), or the dreaded access your data on all websites. If the install prompt ever asks for those, something is wrong, uninstall and report.

No background script, no content script

Many extensions run a persistent background script that processes events all the time, even when you're not actively using the extension. Flyn doesn't. The extension is event-driven: it wakes up when you click the icon, makes its one API call, and goes idle.

The extension also doesn't inject any content script into the pages you visit. There's no code running inside your bank tab, your email tab, your private documents tab. The popup is a self-contained mini-app that only touches the URL of the active tab, and only when you click.

Where your data goes

Two destinations, both initiated by you:

  1. Your API key, stored locally in chrome.storage.sync. Never transmitted except as a bearer token on the API requests you trigger.
  2. The URL you shorten, sent to api.flyn.to as a normal authenticated API call. Same as if you'd used the dashboard.

No analytics, no telemetry, no third-party trackers. The extension's manifest.json declares no network hosts other than api.flyn.to, you can verify this in chrome://extensions.

Watch out

Any browser extension can be silently updated to add permissions or behavior. Chrome's policy prevents adding new permissions without an explicit re-prompt, but extensions are still a trust dependency. Audit the source on GitHub before installing critical-path extensions, and prefer extensions from teams with a clear publishing history. The Flyn extension is open source on the same repository as the main product, reviewable end to end.

How the Extension Compares to Alternatives

Most link-shortener vendors ship an extension. They differ in a few important ways.

Feature comparison

CapabilityFlynTypical competitor
One-click shortenYesYes
Custom domainYes, set per-extensionSometimes (often paid tier only)
Custom slug inputYes, with real-time availability checkUsually
Default tags / UTMYes, set in optionsRarely
Deep-link toggleYes, per link or defaultNo
Context-menu shortenYesSometimes
Open sourceYes, reviewable on GitHubAlmost never
Permission footprint2 minimal permissionsOften 5+ including "all sites"
Background scriptNone, event-drivenUsually persistent

Switching from a Bitly/Rebrandly extension

If you're currently using the Bitly or Rebrandly extension and considering a switch: install the Flyn extension alongside, configure it with your Flyn key and (if you have one) custom domain, and use both for a week. Most users find that the slimmer Flyn UI is meaningfully faster, fewer fields, fewer modals, and the analytics that roll up in the Flyn dashboard are richer (full device and OS breakdown, see the clicks doc). Migration of existing links is covered in the Bitly migration guide; you can run the extensions in parallel during the cutover.

When the dashboard is still better

The extension is for individual share-now flows. For everything else, the web dashboard is the right interface:

  • Bulk operations (CSV import, batch edit)
  • Workspace management, team invites, role assignment
  • Full analytics, geo maps, time-series charts, attribution breakdowns
  • Custom domain setup and DNS verification
  • Webhook configuration

The extension and dashboard share the same backend, so a link created in one shows up immediately in the other.

Troubleshooting and Common Issues

Three problems account for ~90% of extension support requests. The fixes are quick.

"Invalid API key" error

Usually means the key was copied with leading/trailing whitespace, an extra newline, or wasn't copied in full (the dashboard occasionally truncates on double-click, use the Copy button). Regenerate the key, paste it carefully, save. If it persists, check that the key hasn't been revoked in the dashboard's Settings > API Keys view.

Two causes. Either you haven't set the default domain in extension options (Options > Default domain), or your custom domain isn't yet verified in the Flyn dashboard. Custom domains require a CNAME record pointing to Flyn's servers; until DNS propagates and verification passes, the extension falls back to flyn.to. The dashboard's Settings > Domains page shows real-time verification status.

Slug shows as "taken" but I haven't used it

Slugs are unique per domain across all Flyn workspaces. If flyn.to/sale is taken by another user, you can't take it. But if you have your own custom domain (e.g. links.yoursite.com), the same slug is available there, switch the default domain in extension options and try again. For custom slugs you want to reserve long-term, create them on your custom domain rather than the shared flyn.to.

The extension stopped working after a Chrome update

Rare, but Chrome occasionally tightens permissions or changes the WebExtension API in ways that affect specific extensions. The Flyn team monitors Chrome's release channel and ships patches quickly; updates roll out automatically through the Web Store. If you suspect a regression, open chrome://extensions and check the version, anything older than 2-3 weeks may need a forced update via the Update button.

Where to go from here

The extension is the front-end for casual share workflows. For systematic link automation, the Flyn API handles bulk creation, programmatic UTM tagging, and webhook-driven workflows. For mobile-first audiences, the deep links guide explains the routing behavior. For compliance-heavy environments, the link security guide covers passwords, expiration, and GDPR controls.

Frequently Asked Questions

Does the Flyn Chrome extension work without an API key?
No, the extension talks directly to the Flyn API, which requires authentication. On first launch, you'll be prompted to paste a key from your dashboard's Settings > API Keys page. API access is a Flyn Pro feature, so you'll generate the key on a Pro plan: sign up, generate a key, paste it into the extension. The full authentication model is described in the auth doc.
Can I use my custom branded domain with the extension?
Yes. In extension options (right-click the icon > Options), enter your custom domain (e.g. links.yourcompany.com) as the default. Every link the extension creates will use that domain. The domain must already be added and verified in your Flyn dashboard's Settings > Domains, see the domains doc for the DNS setup. Custom domains are available on paid plans.
Do links created with the extension appear in my Flyn dashboard?
Yes, every link created in the extension is a normal Flyn link. It shows up in the dashboard's link list, supports the same edit operations (change destination, add password, set expiry, archive), and accumulates full click analytics (geo, device, OS, browser, referrer). The extension and dashboard share one backend; there's no "extension-only" silo of links.
Is the Flyn extension available on Firefox or Safari?
Not yet, Chromium browsers only at time of writing (Chrome, Edge, Brave, Arc, Opera). The codebase is WebExtension-compatible, so a Firefox port is on the roadmap and mostly packaging work. Safari requires more rewriting because of Apple's divergent extension API. Watch the GitHub repository or follow Flyn's changelog for release announcements.
What permissions does the extension request, and why?
Two permissions: activeTab and storage. activeTab lets the extension read the URL of the tab you're looking at only when you click the icon, it cannot read other tabs, your browsing history, or any tab in the background. storage lets it save your API key and preferences locally in Chrome's encrypted sync storage. The extension does not run a background script, does not inject content into pages, and only communicates with api.flyn.to. The source is open and auditable on the Flyn GitHub repository.
How does the extension handle deep linking?
You can enable deep linking per link in the popup (a toggle next to the slug field) or set it as a default in options. When enabled, the resulting short link will open the native app on mobile devices that support it, YouTube, Instagram, TikTok, Spotify, and 12+ other platforms covered in the deep links guide. Desktop traffic and crawler traffic are unaffected and still receive a plain redirect.
Can I set a keyboard shortcut to trigger the extension?
Yes, go to chrome://extensions/shortcuts in your address bar, find Flyn, and bind any key combination to Activate the extension. We recommend Ctrl+Shift+L (or Cmd+Shift+L on macOS) since it's unused by most apps. Once bound, the shortcut opens the popup pre-filled with the current tab's URL, press Enter to shorten and the link is on your clipboard. Faster than mousing to the toolbar.
What happens if I shorten the same URL twice, do I get two short links?
Yes, by default. Each call to the API creates a new link record with its own slug and analytics, even if the destination URL is identical. This is intentional, different short links let you track different distribution channels for the same destination. If you want deduplication (e.g. always reuse an existing short link for a given URL), use the API's POST /api/links with the Idempotency-Key header described in the API guide; the extension itself doesn't deduplicate.

Ready to try Flyn?

Free plan includes 25 links/month, full analytics, and access to all 30+ free tools above. No credit card required.

Already a member? Log in

Karan Bhakuni
Karan Bhakuni· Founder, Flyn

Karan Bhakuni is the founder of Flyn. He writes about branded links, click analytics, and the link-management tooling growth teams and creators actually need, drawn from building Flyn and reading a lot of user feedback.