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.

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.
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
- Sign in to your Flyn dashboard
- Navigate to Settings > API Keys
- Click New key, label it (e.g.
chrome-extension-personal) - Copy the full key from the modal, it's shown only once
- 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 useflyn.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.
Shortening a Link in One Click
The default flow is intentionally minimal: open page → click icon → click Shorten. The short URL is on your clipboard.
The default flow, step by step
- Navigate to the page you want to share
- Click the Flyn extension icon in your toolbar (or hit your keyboard shortcut)
- The popup opens, pre-filled with the current tab's URL
- Click Shorten, or press
Enter - The short URL appears with a copy icon; it's also auto-copied to your clipboard
- Paste anywhere
Adding a custom slug
If you want a memorable URL, e.g. flyn.to/q2-launch instead of flyn.to/aB3kL9q, type the slug into the slug field before clicking Shorten. The extension validates availability in real time by calling the API's slug-check endpoint; a green check or red X tells you whether the slug is taken. Same UX as the dashboard.
Slug naming reminders
The team rules we recommend:
- Lowercase only
- Hyphens, not underscores or spaces
- No years or dates in the slug, they age badly
- Short enough to retype manually if needed (under 15 characters is a good target)
For the full naming-convention discussion, the slug generator walks through the trade-offs. The UTM Builder handles the corresponding campaign-tracking parameters if you're tagging links for analytics.
The right-click context menu
Right-click any link or selected URL on a page and choose Shorten with Flyn. The short URL is created and copied to your clipboard without opening the popup. Useful when you're reading a doc and want to share a specific anchor link or one of many references on the page, no need to navigate to the URL first.
Pair the right-click context menu with a custom keyboard shortcut. In chrome://extensions/shortcuts, bind Shorten current tab to Ctrl+Shift+L (or your preference). You'll never need to mouse to the toolbar again. The link is on your clipboard before the popup even finishes animating in.
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
| Permission | What it lets us do | What it does NOT let us do |
|---|---|---|
activeTab | Read the URL and title of the tab you're looking at when you click the icon | Read other tabs, read tabs in the background, see your browsing history |
storage | Save your API key, default domain, and preferences in encrypted Chrome storage | Access 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:
- Your API key, stored locally in
chrome.storage.sync. Never transmitted except as a bearer token on the API requests you trigger. - The URL you shorten, sent to
api.flyn.toas 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.
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
| Capability | Flyn | Typical competitor |
|---|---|---|
| One-click shorten | Yes | Yes |
| Custom domain | Yes, set per-extension | Sometimes (often paid tier only) |
| Custom slug input | Yes, with real-time availability check | Usually |
| Default tags / UTM | Yes, set in options | Rarely |
| Deep-link toggle | Yes, per link or default | No |
| Context-menu shorten | Yes | Sometimes |
| Open source | Yes, reviewable on GitHub | Almost never |
| Permission footprint | 2 minimal permissions | Often 5+ including "all sites" |
| Background script | None, event-driven | Usually 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.
Short link uses flyn.to instead of my custom domain
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?
Can I use my custom branded domain with the extension?
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?
Is the Flyn extension available on Firefox or Safari?
What permissions does the extension request, and why?
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?
Can I set a keyboard shortcut to trigger the extension?
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?
POST /api/links with the Idempotency-Key header described in the API guide; the extension itself doesn't deduplicate.Free tools for this
Three Flyn tools that pair well with the strategy in this article, all free, no signup needed.
UTM Builder
Build campaign-tracked URLs in seconds.
Broken Link Checker
Scan any page for dead links and 404s.
Open Graph Checker
Preview how URLs unfurl on social.
Keep reading
Three related deep-dives from the Flyn blog.

How to Export Your Links and Data From Bitly
20 min read

How to Track Which Posts Drive Sales, Not Just Clicks
19 min read
Postback URL Tracking: How S2S Conversion Tracking Works
17 min read
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 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.