A native, open-source client for Shlink — the self-hosted URL shortener — for iPhone, iPad, and Mac.
Shlinkly connects to your own Shlink server and lets you manage every short link, campaign, and click from one app that feels right at home on Apple platforms. Your API keys stay under your control — on-device or synced via iCloud Keychain, end-to-end encrypted.
- Browse all your short links with search, tags, and sorting
- Create links in seconds — custom slugs, tags, UTM forwarding, expiry dates, visit limits
- Per-link analytics: real-time visits, real people vs. bots, countries, and traffic sources
- Shorten straight from the share sheet in any app
- On Mac: generate a short link from your clipboard right in the menu bar
- Connect multiple Shlink servers and switch between them
- Keys stored on-device or synced via iCloud Keychain — never sent anywhere else
- A running Shlink server and an API key (tested with Shlink 5.x)
- iOS / iPadOS 17.6+ or macOS 14+
Coming to the App Store — link added at release.
- Clone the repo and open
Shlinkly.xcodeprojin Xcode 26+. - Select your own Apple Developer team under Signing & Capabilities.
- Build and run on iOS or macOS.
Servers and API keys are stored in the Keychain at runtime — no config files needed.
Native SwiftUI, multiplatform (iOS + macOS, not Mac Catalyst). State via
@Observable; all models, the API client (actor ShlinkClient), and stores live
in a UI-free ShlinklyCore module. Typed-route navigation — NavigationStack on
iOS, a three-column NavigationSplitView on macOS.
Issues and pull requests are welcome. For larger changes, open an issue first.
If Shlinkly is useful to you, you can buy me a coffee.
MIT © 2026 Anton Hodge