diff --git a/BACKLOG_REVIEW.md b/BACKLOG_REVIEW.md new file mode 100644 index 0000000..0bd0df8 --- /dev/null +++ b/BACKLOG_REVIEW.md @@ -0,0 +1,94 @@ +# Backlog review: 2026-09-21 + +Scope: all 47 open pull requests and all 9 open issues in 738/awesome-url-shortener. All proposed PR changes were confined to README.md. Bodies, diffs, and available discussion/review comments were inspected. + +This document records proposed dispositions. The original PRs and issues remain open until the maintainer authorizes and applies the plan. The accompanying README incorporates 39 PRs, recommends closing one parked-domain proposal, and leaves seven PRs pending evidence. Eight issues can be resolved; one needs a working service URL. + +## Verification and limits + +- Checked official homepages, documentation, repository source/license declarations, redirect destinations, and HTTP/TLS responses. Access failures were retried. +- This is a directory review, not an end-to-end audit of every service. No paid accounts, registrations, or production short links were created. +- JavaScript-only pages were inspected through available HTML and public bundles. Browser execution could not be completed because the installed browse runtime lacked its expected Chromium build. +- HTTP 403, DNS failure, and TLS errors are observations, not proof of permanent shutdown. Existing affected services have a separate access-problems category; new inaccessible services are held. +- No GitHub Actions workflows or PR status checks were configured. README structure, ordering, duplicates, links, and whitespace were checked locally. + +## Pull requests + +| PR | Proposed action | Reason and evidence | +| --- | --- | --- | +| [#31](https://github.com/738/awesome-url-shortener/pull/31) | Incorporate / supersede | Include url1.io. Replace the former Kutt domain with kutt.to based on the upstream warning; resolve the stale PR conflict through this update. [Source](https://github.com/thedevs-network/kutt#readme). | +| [#51](https://github.com/738/awesome-url-shortener/pull/51) | Incorporate / supersede | Include Slug with a short description; repository has GPL-3.0 licensing. [Source](https://github.com/pheralb/slug). | +| [#53](https://github.com/738/awesome-url-shortener/pull/53) | Incorporate / supersede | Include the hosted service and link directly to its source repository in the self-hosted section. [Source](https://github.com/ramesaliyev/kes.im). | +| [#56](https://github.com/738/awesome-url-shortener/pull/56) | Hold open | short.reus.nc returned HTTP 521 on repeated checks. Verify restoration or provide a working replacement. [Source](https://short.reus.nc). | +| [#58](https://github.com/738/awesome-url-shortener/pull/58) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://xurl.app). | +| [#59](https://github.com/738/awesome-url-shortener/pull/59) | Incorporate / supersede | Include Pxl; official URL-shortener API documentation confirms shortening. Do not make an independent GDPR-compliance assertion. [Source](https://www.pxl.to/blog/url-shortener-api). | +| [#62](https://github.com/738/awesome-url-shortener/pull/62) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://qryptic.io). | +| [#63](https://github.com/738/awesome-url-shortener/pull/63) | Incorporate / supersede | Include Lua.sh with a direct source repository link. [Source](https://github.com/luadotsh/lua). | +| [#65](https://github.com/738/awesome-url-shortener/pull/65) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://yolla.link). | +| [#67](https://github.com/738/awesome-url-shortener/pull/67) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://s.ee). | +| [#69](https://github.com/738/awesome-url-shortener/pull/69) | Incorporate / supersede | Include MyURL with a neutral description. Homepage and public JavaScript bundle describe URL shortening; browser execution was not verified. [Source](https://myurlsh.de/). | +| [#71](https://github.com/738/awesome-url-shortener/pull/71) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://prettyurl.net). | +| [#75](https://github.com/738/awesome-url-shortener/pull/75) | Incorporate / supersede | Include Minily; paid plans are required for unlimited links and custom domains. [Source](https://minily.org/). | +| [#78](https://github.com/738/awesome-url-shortener/pull/78) | Hold open | urls.ac failed DNS resolution on repeated checks. Supply a reachable replacement URL. [Source](https://urls.ac). | +| [#79](https://github.com/738/awesome-url-shortener/pull/79) | Close without inclusion | Do not include: link-rotator.com currently shows a parked domain / possible sale page. [Source](https://link-rotator.com/). | +| [#81](https://github.com/738/awesome-url-shortener/pull/81) | Incorporate / supersede | Include ShortPen without the unsupported promise of free service without limits. [Source](https://shortpen.com/). | +| [#106](https://github.com/738/awesome-url-shortener/pull/106) | Incorporate / supersede | Include Zu.lk with a concise feature description, without promotional claims. [Source](https://zu.lk). | +| [#107](https://github.com/738/awesome-url-shortener/pull/107) | Incorporate / supersede | Include PyMD without claiming Python Software Foundation endorsement; retain the existing sor.bz entry. Do not add pork.li, which failed DNS resolution. [Source](https://py.md/). | +| [#108](https://github.com/738/awesome-url-shortener/pull/108) | Hold open | ogli.sh returned HTTP 520 on repeated checks. Supply a working service or documented replacement. [Source](https://ogli.sh). | +| [#111](https://github.com/738/awesome-url-shortener/pull/111) | Hold open | url-shortener.co.in now serves a logistics business. TS4 only exposed a JavaScript application shell in this review. Remove the unrelated domain and provide a verifiable shortening page for TS4. [Source](https://url-shortener.co.in). | +| [#112](https://github.com/738/awesome-url-shortener/pull/112) | Incorporate / supersede | Include kua.lat with a factual feature description instead of its slogan. [Source](https://kua.lat). | +| [#113](https://github.com/738/awesome-url-shortener/pull/113) | Incorporate / supersede | Include Linkly and verified status corrections. Buffer and Ow.ly remain available in their parent products; Polr is not archived. reduced.to is archived, not actively continuing as claimed. [Source](https://support.buffer.com/en-us/articles/shortening-and-unshortening-links-dgev2p41yY). | +| [#118](https://github.com/738/awesome-url-shortener/pull/118) | Hold open | The repository and PHP entry point contain no identifiable open-source license. Add an explicit license before inclusion in the open-source section. [Source](https://github.com/dayeggpi/CutItOff). | +| [#120](https://github.com/738/awesome-url-shortener/pull/120) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://replug.io/). | +| [#121](https://github.com/738/awesome-url-shortener/pull/121) | Incorporate / supersede | Include Rushomon with a direct link to its AGPL source repository. [Source](https://rushomon.cc). | +| [#124](https://github.com/738/awesome-url-shortener/pull/124) | Hold open | The current homepage and API documentation list utility endpoints but no URL-shortening endpoint. Supply current shortening documentation. [Source](https://api-snap.com/docs). | +| [#126](https://github.com/738/awesome-url-shortener/pull/126) | Hold open | linkshrink.dev failed DNS resolution on repeated checks. Supply a reachable service URL before inclusion. [Source](https://linkshrink.dev). | +| [#128](https://github.com/738/awesome-url-shortener/pull/128) | Incorporate / supersede | Include Brevio; its README explicitly declares MIT licensing and provides installation instructions. [Source](https://github.com/numanrki/Brevio). | +| [#133](https://github.com/738/awesome-url-shortener/pull/133) | Incorporate / supersede | Include PeakURL as self-hosted open-source software; replace the promotional description. [Source](https://peakurl.org/open-source). | +| [#134](https://github.com/738/awesome-url-shortener/pull/134) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://www.capsulink.com). | +| [#135](https://github.com/738/awesome-url-shortener/pull/135) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://redirhub.com). | +| [#136](https://github.com/738/awesome-url-shortener/pull/136) | Incorporate / supersede | Include the shared-provider relationship confirmed by the v.gd FAQ. [Source](https://v.gd/faq.php). | +| [#137](https://github.com/738/awesome-url-shortener/pull/137) | Incorporate / supersede | Do not add the stale 10-free-links/month claim. Link to current pricing and trial terms. [Source](https://t.ly/pricing). | +| [#138](https://github.com/738/awesome-url-shortener/pull/138) | Incorporate / supersede | Include 5 free links/month with an official source and verification date. [Source](https://bitly.com/pages/pricing). | +| [#139](https://github.com/738/awesome-url-shortener/pull/139) | Incorporate / supersede | Include 30 free links/month with an official source and verification date. [Source](https://cutt.ly/resources/tools/url-shortener). | +| [#140](https://github.com/738/awesome-url-shortener/pull/140) | Incorporate / supersede | Do not mark Ow.ly deprecated. Hootsuite still documents it as a dashboard feature; link to that page. [Source](https://www.hootsuite.com/pages/owly). | +| [#141](https://github.com/738/awesome-url-shortener/pull/141) | Incorporate / supersede | Record the current HTTPS failure separately from confirmed discontinued services. [Source](https://rip.to/). | +| [#142](https://github.com/738/awesome-url-shortener/pull/142) | Incorporate / supersede | Record current HTTP 403 as an access problem, not proof of permanent shutdown. [Source](https://bitly.kr/). | +| [#143](https://github.com/738/awesome-url-shortener/pull/143) | Incorporate / supersede | Include the anonymous-link expiration note supported by tiny.cc. [Source](https://tiny.cc/). | +| [#144](https://github.com/738/awesome-url-shortener/pull/144) | Incorporate / supersede | Include x.gd with optional expiration; avoid an unconditional promise that links never expire. [Source](https://x.gd). | +| [#145](https://github.com/738/awesome-url-shortener/pull/145) | Incorporate / supersede | Selectively incorporate sorting, descriptions, restored 3.ly, and verified status changes. Keep Ow.ly, Buffer, Polr, and shorten-url.com; do not repeat unsupported shutdown or archive claims. Preserve LinkHuddle because a waitlist alone does not establish shutdown. [Source](https://www.hootsuite.com/pages/owly). | +| [#148](https://github.com/738/awesome-url-shortener/pull/148) | Incorporate / supersede | Include the verified service; normalize its description and ordering. [Source](https://urlyte.com). | +| [#151](https://github.com/738/awesome-url-shortener/pull/151) | Incorporate / supersede | Include mnlc.es using its current misenlac.es homepage; normalize formatting. [Source](https://misenlac.es/es). | +| [#154](https://github.com/738/awesome-url-shortener/pull/154) | Incorporate / supersede | Include under a separate commercial self-hosted category, not hosted services or open-source software. [Source](https://gempixel.com/products/premium-url-shortener). | +| [#157](https://github.com/738/awesome-url-shortener/pull/157) | Incorporate / supersede | Include Flyn with free and paid plans; custom domains and deep links are not free-plan features. [Source](https://www.flyn.to/). | +| [#159](https://github.com/738/awesome-url-shortener/pull/159) | Incorporate / supersede | Include under self-hosted software; clarify destination allowlist and optional aggregate analytics instead of claiming no tracking. [Source](https://github.com/kaikayy/tab-share-shortener). | +| [#161](https://github.com/738/awesome-url-shortener/pull/161) | Incorporate / supersede | Include FavURL; feature page confirms analytics, QR codes, collections, and custom domains. [Source](https://fav-url.com/features). | + +## Issues + +| Issue | Proposed action | Reason and evidence | +| --- | --- | --- | +| [#25](https://github.com/738/awesome-url-shortener/issues/25) | Close as completed | rip.to was already added in merged PR #29 on 2024-01-15. This review separately records its current access failure. [Source](https://github.com/738/awesome-url-shortener/pull/29). | +| [#38](https://github.com/738/awesome-url-shortener/issues/38) | Incorporate / close | Original repository is 404; the replacement repository has MIT licensing and self-hosting instructions. [Source](https://github.com/vaginessa/Twin-Url). | +| [#39](https://github.com/738/awesome-url-shortener/issues/39) | Incorporate / close | Include URLed in the archived-projects category, not as an actively maintained project. [Source](https://github.com/masoncfrancis/urled). | +| [#60](https://github.com/738/awesome-url-shortener/issues/60) | Incorporate / close | Include link2.it; the current homepage provides a shortening form. [Source](https://link2.it). | +| [#61](https://github.com/738/awesome-url-shortener/issues/61) | Incorporate / close | gg.gg now shows a Good Game placeholder instead of its former shortening service. [Source](https://gg.gg). | +| [#64](https://github.com/738/awesome-url-shortener/issues/64) | Hold open | Smally failed DNS resolution on repeated live checks. Search results contain an older page, so restoration or a working replacement is needed. [Source](https://smally.cc). | +| [#73](https://github.com/738/awesome-url-shortener/issues/73) | Incorporate / close | wr.do redirects to LikeDo; include the current product and identify its former name. [Source](https://like.do). | +| [#77](https://github.com/738/awesome-url-shortener/issues/77) | Incorporate / close | Remove from active services; the operator confirmed public access was disabled even though the website still loads. [Source](https://73.nu/shutdown-notice). | +| [#114](https://github.com/738/awesome-url-shortener/issues/114) | Incorporate / close | Move zlnk.com out of active services; the domain now leads to an Afternic sale listing. [Source](https://www.afternic.com/domain/zlnk.com). | + +## Additional evidence for overlapping cleanup PRs + +- [Kutt upstream warning](https://github.com/thedevs-network/kutt#readme): kutt.it is no longer owned by the project; the current service is [kutt.to](https://kutt.to). +- [Buffer help](https://support.buffer.com/en-us/articles/shortening-and-unshortening-links-dgev2p41yY) and [Hootsuite Ow.ly](https://www.hootsuite.com/pages/owly) document active built-in shortening. +- [Polr source](https://github.com/cydrobolt/polr) is accessible and not marked archived; the archive claim in #113 is unsupported. +- [reduced.to source](https://github.com/origranot/reduced.to) is marked archived on 2025-04-27. +- [lstu.fr](https://lstu.fr/login) explicitly restricts shortening to its owner; the self-hosted project remains available. +- [clicky.me](https://clicky.me) explicitly says it is in maintenance mode and cannot be actively used. +- [3.ly](https://www.3.ly/) currently offers a shortener and is restored to the active list. +- [shorten-url.com](https://shorten-url.com/en) still displays a service and plans; a sale notice alone does not establish shutdown. + +## Attribution + +The proposal builds on the linked original contributions. Their PR links preserve the individual change history. Original proposals are described as superseded, not merged, if this consolidated update is accepted. diff --git a/README.md b/README.md index ba5d417..c0e0bb7 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,129 @@ -# Awesome Url Shortener +# Awesome URL Shortener Awesome -## Url Shortener Services +A curated list of hosted URL shorteners and software you can run yourself. Features and plan limits can change; check the linked provider before signing up. -* [SimpleURL](https://simpleURL.tech) - Free custom/private URL Shortner that also allows to Search Bookmarked URLs & Short URLs. -* [sor.bz](https://sor.bz) - free customizable url shortener. -* [73.nu](https://shorturl.73.nu) - Also offers LinkHub and Pastebin -* [bit.ly](https://bitly.com) -* [bitly.kr](https://bitly.kr) - Korean URL Shortener Service -* [bl.ink](https://www.bl.ink) -* [buff.ly](https://buff.ly) -* [clicky.me](https://clicky.me) -* [cutt.ly](https://cutt.ly) -* [Dub.co](https://dub.co) -* [fox.ly](https://foxlyme.com/) - Optimize your URL -* [gg.gg](https://gg.gg) -* [han.gl](https://han.gl) - Korean URL Shortener Service -* [is.gd](https://is.gd) +## URL Shortener Services + +* [3.ly](https://www.3.ly/) - URL shortener with custom aliases, QR codes, and click statistics. +* [bit.ly](https://bitly.com) - URL shortener with a free plan limited to 5 links per month ([pricing](https://bitly.com/pages/pricing), checked 2026-09-21). +* [bl.ink](https://www.bl.ink) - Branded link management service. +* [buff.ly](https://buffer.com) - Link shortening available within Buffer ([usage guide](https://support.buffer.com/en-us/articles/shortening-and-unshortening-links-dgev2p41yY)). +* [Capsulink](https://www.capsulink.com) - URL shortener with smart redirects and QR codes. +* [cutt.ly](https://cutt.ly) - URL shortener with a free plan limited to 30 links per month ([plan details](https://cutt.ly/resources/tools/url-shortener), checked 2026-09-21). +* [Dub.co](https://dub.co) - Link management and attribution platform. +* [FavURL](https://fav-url.com/) - URL shortener with analytics, QR codes, link collections, and custom domains. +* [Flyn](https://www.flyn.to) - URL shortener with branded domains, click analytics, QR codes, and deep links; free and paid plans. +* [han.gl](https://han.gl) - Korean URL shortening service. +* [is.gd](https://is.gd) - URL shortening service with custom aliases. +* [kes.im](https://kes.im) - Ad-free URL shortener built on Cloudflare Workers. +* [kua.lat](https://kua.lat) - URL shortener with branded links, analytics, QR codes, and bio pages. * [KurzeLinks.de](https://kurzelinks.de) - Link shortener based in Germany. -* [kutt.it](https://kutt.it) -* [LinkHuddle](https://linkhuddle.com/) - Huddle multiple links in one link -* [LinkSplit](https://linksplit.io/url-shortener) -* [lstu.fr](https://lstu.fr/) - Let's shorten that url -* [name.com](https://www.name.com/branded-url-shortener) - Powered by bli.nk -* [oe.cd](https://oe.cd/) - Only OECD-related URLs can be shortened on this website -* [Ow.ly](https://ow.ly) -* [rebrandly.com](https://rebrandly.com) -* [reduced.to](https://reduced.to) -* [rip.to](https://rip.to) -* [san.aq](https://san.aq) - scott's url shortener (usable with `curl`) -* [short.io](https://short.io) -* [shorten-url.com](https://shorten-url.com) - Feature rich multi language service with affordable premium plan (lyn.bz domain) -* [shorturl.at](https://www.shorturl.at) -* [smallseotools](https://smallseotools.com/url-shortener) -* [spoo.me](https://spoo.me/) - Shorten Your URLs, Not Your Possiblities -* [switchy.io](https://switchy.io) -* [T2M](https://t2mio.com) -* [tinu.be](https://tinu.be) -* [Tiny URL](https://tiny.cc) -* [T.LY](https://t.ly) -* [urlr.me](https://urlr.me/en) - Reliable URL shortener that provide an API -* [v.gd](https://v.gd) -* [vo.la](https://vo.la/) - Korean URL Shortener Service -* [yaso.su](https://yaso.su/) -* [zlnk.com](https://zlnk.com/) - Smart Link management and URL shortner +* [Kutt](https://kutt.to) - URL shortener with custom domains and link statistics. +* [LikeDo (formerly wr.do)](https://like.do) - URL shortener with custom aliases, password protection, and analytics. +* [link2.it](https://link2.it) - URL shortener with custom aliases, passwords, and link expiration. +* [LinkHuddle](https://linkhuddle.com/) - Huddle multiple links in one link. +* [Linkly](https://linklyhq.com) - URL shortener with custom domains, QR codes, and location-based redirects. +* [LinkSplit](https://linksplit.io/url-shortener) - URL shortening and traffic splitting service. +* [Minily](https://minily.org) - URL shortener with analytics and QR codes; custom domains and unlimited links require a paid plan. +* [mnlc.es](https://misenlac.es) - URL shortener with link-in-bio pages, QR codes, and analytics. +* [MyURL](https://myurlsh.de) - URL shortening service with a German-language interface. +* [name.com](https://www.name.com/branded-url-shortener) - Branded URL shortener powered by BL.INK. +* [oe.cd](https://oe.cd/) - Only OECD-related URLs can be shortened on this website. +* [Ow.ly](https://www.hootsuite.com/pages/owly) - Link shortening available within the Hootsuite dashboard. +* [prettyurl.net](https://prettyurl.net) - URL shortener with custom domains. +* [Pxl](https://www.pxl.to/) - URL shortener with QR codes, microsites, and retargeting pixels. +* [PyMD](https://py.md) - Community-maintained URL shortener for Python links. +* [qryptic.io](https://qryptic.io) - Link management service with URL shortening and QR codes. +* [rebrandly.com](https://rebrandly.com) - Branded URL shortening service. +* [RedirHub](https://www.redirhub.com) - URL shortening and redirect service with custom domains, HTTPS, analytics, and an API. +* [replug.io](https://replug.io/) - URL shortener with branded links, analytics, and bio pages. +* [s.ee](https://s.ee) - URL shortener with custom domains and analytics. +* [short.io](https://short.io) - URL shortener with custom domains and analytics. +* [shorten-url.com](https://shorten-url.com) - URL shortening service with multilingual support. +* [ShortPen](https://shortpen.com) - Link tracking service with short links, QR codes, and conversion analytics. +* [shorturl.at](https://www.shorturl.at) - URL shortening service. +* [SimpleURL](https://www.simpleurl.tech/) - URL shortener with branded links, QR codes, and analytics. +* [smallseotools](https://smallseotools.com/url-shortener) - Online URL shortening tool. +* [sor.bz](https://sor.bz) - Customizable URL shortener powered by PyMD. +* [spoo.me](https://spoo.me/) - URL shortener with custom links and click analytics. +* [switchy.io](https://switchy.io) - URL shortener with link tracking and retargeting. +* [T.LY](https://t.ly) - URL shortener with custom domains and analytics; see current [plans and trial terms](https://t.ly/pricing). +* [T2M](https://t2mio.com) - Link management service with branded URLs and QR codes. +* [tinu.be](https://tinu.be) - URL shortener and QR code generator. +* [Tiny URL](https://tiny.cc) - URL shortener; anonymous links can expire, while registering an account prevents expiration. +* [url1.io](https://url1.io) - URL shortener with custom links, QR codes, and analytics. +* [urlr.me](https://urlr.me/en) - URL shortener with API access. +* [URLyte](https://urlyte.com) - URL shortener with branded namespaces, click analytics, and QR codes. +* [v.gd](https://v.gd) - URL shortener from the same provider as is.gd. +* [vo.la](https://vo.la/) - Korean URL shortening service. +* [x.gd](https://x.gd) - Japanese URL shortening service with custom aliases and optional expiration. +* [xUrl.app](https://xurl.app) - URL shortening and file sharing service. +* [yaso.su](https://yaso.su/) - URL shortening service. +* [yolla.link](https://yolla.link) - URL shortener with analytics and QR code generation. +* [Zu.lk](https://zu.lk) - URL shortener with analytics, QR codes, and an MCP integration. -## Self Hosting Opensource +## Self-Hosted Open-Source Software -* [Dub.co](https://dub.co) - Open-source link management infrastructure -* [Eastlake](https://github.com/Likenttt/eastlake-cloudflare-worker-short-url) - A short url system based on cloudflare worker. -* [kutt.it](https://kutt.it) - Looks to both be a managed service, and self-hosted option, due to being [open source on GitHub](https://github.com/thedevs-network/kutt) -* [lstu.fr](https://framagit.org/fiat-tux/hat-softwares/lstu/) - Another open source link shortener that provides an official instance at the same time -* [Polr](https://polrproject.org) - a quick, modern, and open-source link shortener. It allows you to host your own URL shortener, to brand your URLs, and to gain control over your data. -* [pygmy](https://github.com/amitt001/pygmy) - An open-source, feature rich & extensible url-shortener + analytics written in Python. -* [reduced.to](https://reduced.to) - Open-source user-friendly URL shortener with powerful analytics and management features. -* [san.aq](https://github.com/neutronscott/sanaq) - Open-source URL shortener with an HTTP API to shorten long url with curl. -* [shlink](https://shlink.io) -* [Sink](https://github.com/ccbikai/sink) - ⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare. -* [yourls](https://yourls.org) +* [Brevio](https://github.com/numanrki/Brevio) - Self-hosted URL shortener with analytics, QR codes, bio pages, and deep links. +* [Dub.co](https://dub.co) - Open-source link management infrastructure. +* [Eastlake](https://github.com/Likenttt/eastlake-cloudflare-worker-short-url) - A URL shortener built on Cloudflare Workers. +* [kes.im](https://github.com/ramesaliyev/kes.im) - URL shortener built on Cloudflare Workers. +* [Kutt](https://github.com/thedevs-network/kutt) - Self-hosted URL shortener with custom domains, link statistics, and an API. +* [lstu](https://framagit.org/fiat-tux/hat-softwares/lstu/) - Self-hosted URL shortener written in Perl. +* [Lua.sh](https://github.com/luadotsh/lua) - Self-hosted URL shortener with custom domains and analytics. +* [PeakURL](https://peakurl.org) - Self-hosted URL shortener with custom aliases, QR codes, analytics, and an API. +* [Polr](https://polrproject.org) - Self-hosted URL shortener with custom branding and an API. +* [pygmy](https://github.com/amitt001/pygmy) - Extensible URL shortener with analytics written in Python. +* [Rushomon](https://github.com/piffio/rushomon) - Self-hosted URL shortener built with Rust and WebAssembly for Cloudflare Workers. +* [san.aq](https://github.com/neutronscott/sanaq) - URL shortener with an HTTP API usable with curl. +* [shlink](https://shlink.io) - Self-hosted URL shortener with visitor statistics. +* [Sink](https://github.com/miantiao-me/Sink) - URL shortener with analytics running on Cloudflare. +* [Slug](https://github.com/pheralb/slug) - Self-hosted URL shortener built with the T3 Stack. +* [Tab Share Shortener](https://github.com/kaikayy/tab-share-shortener) - Self-hosted Node.js or Cloudflare Worker shortener with a destination allowlist, link expiration, and optional aggregate analytics. +* [Twin-Url](https://github.com/vaginessa/Twin-Url) - Self-hosted URL shortener built on Cloudflare Workers and KV. +* [yourls](https://yourls.org) - Self-hosted URL shortener with an extensible plugin system. -## Deprecated Services +## Commercial Self-Hosted Software -* [cutit.org](https://cutit.org) - website suspended -* [git.io](https://git.io) - deprecated from GitHub (2022-01-11) -* [goo.gl](https://goo.gl) - deprecated from Google (2018-03-30) -* [Just-Moh-it/Pckd](https://github.com/Just-Moh-it/Pckd) -* [LiveChat URL shortener](https://www.livechatinc.com/url-shortener/) - temporarily unavailable -* [me2.do](https://me2.do) - deprecated from Naver (2016-08-18) -* [s2r.co](https://s2r.co) -* [soo.gd](https://soo.gd/) -* [hoy.kr](https://hoy.kr/) -* [3.ly](https://3.ly) +* [Premium URL Shortener](https://gempixel.com/products/premium-url-shortener) - Commercial self-hosted software with link-in-bio pages and QR codes. + +## Archived Open-Source Projects + +These repositories are archived and are listed for reference. + +* [Pckd](https://github.com/Just-Moh-it/Pckd) - Self-hosted URL shortener; repository archived. +* [reduced.to](https://github.com/origranot/reduced.to) - Self-hosted URL shortener with analytics; repository archived on 2025-04-27. +* [URLed](https://github.com/masoncfrancis/urled) - Lightweight self-hosted URL shortener written in Go; repository archived. + +## Deprecated or Restricted Services + +* [73.nu](https://73.nu/shutdown-notice) - Public service shut down; see the operator announcement. +* [clicky.me](https://clicky.me) - In maintenance mode; the site states that it can no longer be actively used. +* [cutit.org](https://cutit.org) - Website suspended. +* [gg.gg](https://gg.gg) - Former shortener replaced by a Good Game placeholder page. +* [git.io](https://git.io) - GitHub stopped accepting new links on 2022-01-11. +* [goo.gl](https://goo.gl) - Google announced deprecation on 2018-03-30. +* [hoy.kr](https://hoy.kr/) - Previously listed as deprecated. +* [kutt.it](https://github.com/thedevs-network/kutt#readme) - Former domain is no longer owned by the Kutt project; use kutt.to or the self-hosted project. +* [LiveChat URL shortener](https://www.livechatinc.com/url-shortener/) - Former shortener page now redirects to a UTM builder. +* [lstu.fr](https://lstu.fr) - Public shortening restricted to the site owner; self-hosted software remains available. +* [me2.do](https://me2.do) - Deprecated by Naver on 2016-08-18. +* [s2r.co](https://s2r.co) - Previously listed as deprecated. +* [soo.gd](https://soo.gd/) - Previously listed as deprecated. +* [zlnk.com](https://www.afternic.com/domain/zlnk.com) - Former shortener domain listed for sale. + +## Services with Access Problems + +Observed on 2026-09-21. These access failures do not establish permanent shutdown. + +* [bitly.kr](https://bitly.kr) - Homepage returned HTTP 403 during this review; shutdown not confirmed. +* [fox.ly](https://foxlyme.com/) - Listed homepage returned a Wix domain-connection error and HTTP 404 during this review; shutdown not confirmed. +* [reduced.to](https://reduced.to) - Hosted endpoint failed TLS validation during this review; archived source is listed above. +* [rip.to](https://rip.to) - HTTPS connection failed during this review; shutdown not confirmed. +* [san.aq](https://san.aq) - HTTPS certificate expired during this review; self-hosted source remains available. ## Contributing -Read [CONTRIBUTING.md](https://github.com/738/awesome-url-shortener/blob/master/CONTRIBUTING.md), Fork, and Pull Request! +Read [CONTRIBUTING.md](CONTRIBUTING.md), fork, and open a pull request!