inlife/linkopen
inlife/linkopen has 51 GitHub stars and 15 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 00:25 UTC. Last push 2026-11-12.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Turn slack://, obsidian:// and other app links into https links that open the app. Free, no signup, MIT.
Web & AppsREADME.md
OriginalLinkOpen
LinkOpen turns app links like slack://, obsidian://, vscode:// and zoommtg:// into https links. Notion, GitHub, Gmail, Slack and many wikis don't make links like these clickable, so an app link pasted there ends up as plain text. A LinkOpen link is a normal https link. When someone clicks it, a page on linkopen.app passes the original link to the app. It's free, needs no account, and the code is in this repo.

Example
Before. GitHub drops the link and shows plain text:
After. The same note through LinkOpen:
obsidian://open?vault=Work&file=Meeting%20notes
https://linkopen.app/s/1kAHHUPYE4NaPAHCyBTBAXAlgOwOYFIBMAGdMZBAZyA
How it works
- The link carries the URL. Common pieces such as
obsidian://open?vault=orhttps://github.com/are swapped for single characters from a small dictionary, then the result is compressed with LZ-string into URL-safe text. Seeutils/codec.js. - There is no database. Nothing is saved when you make a link, and links don't expire.
- Opening a link loads a page on linkopen.app that decodes the URL and hands it to the app. Auto links (
/s/1…) open the app right away. Manual links (/s/0…) show an Open link button first. - Links to websites (http and https) always get the confirmation page, never an automatic redirect.
javascript:,data:andvbscript:links are refused, and so are links without a scheme, which a browser would read as a page on linkopen.app. Seeutils/link-policy.js. - When compression wouldn't make a link shorter, the converter uses the plain form
https://linkopen.app/1/<url-encoded link>instead.

What's on the site
- Converter: paste a link, pick auto or manual, copy the result.
- Tools: a URL compatibility checker, a deep link builder, a Markdown link generator and a list of URL schemes for common apps.
- Obsidian guide: how to share links to notes in a vault.
- README badges:
https://linkopen.app/badge/<app>.svg, with a builder at /tools/readme-badge. The badge at the top of this file is one. - Link API:
GET https://linkopen.app/api/link?url=…&mode=auto|manualreturns the same link the converter makes, as plain text (or JSON with&format=json). - Integrations: Apple Shortcuts, Raycast and the shell.
- Obsidian plugin: copies a link to the current note, heading or block. Install it from Obsidian's community plugins (directory page). The source is in inlife/obsidian-linkopen.
Privacy
There's no database and no accounts. The URL lives inside the link, so LinkOpen has nothing to store. It is compressed, not encrypted: anyone who has the link can read the URL in it.
Analytics never get the link itself. Shared-link pages (/s/…, /0/…, /1/…) don't load Google Analytics, and Vercel Analytics records them with the link replaced by the app it opens, for example /s/obsidian (see utils/analytics.js). They also send only https://linkopen.app/ as the referrer. The rest of the site uses Google Analytics and Vercel Analytics; Google Analytics sets cookies to count visits.
Development
npm install
npm run dev
npm test
npm run dev starts Next.js on http://localhost:3000. The stack is Next.js 15 (app router), React 19 and Tailwind CSS 4. Before you change the dictionary in utils/codec.js, read the comment above it: existing entries must never change, or old links stop working.
Name
This started as SPX (scheme proxy), was renamed Shortlink at shortlink.studio, and is now LinkOpen. Old shortlink.studio links redirect to linkopen.app.
License
MIT. See LICENSE.