What shipped
Two things that belong together: custom short code aliases and built-in QR code generation. You can now create links like sho.fi/spring26 instead of sho.fi/aZ3k9, and download a QR code for any link in multiple formats without leaving Shortifi.
Custom aliases
Why this matters
Auto-generated short codes are great for scale. They’re not great for print, for TV spots, for packaging, or for anywhere a human has to type or remember a URL. sho.fi/launch is a different thing than sho.fi/x7Rq2. Both are tracked. Only one works on a billboard.
How to set one
When creating or editing a link, there’s now an Alias field next to the auto-generated code. Type what you want. We check availability in real time — green checkmark means it’s free, red means it’s taken.
Aliases are case-insensitive at resolution time. sho.fi/Spring26 and sho.fi/spring26 go to the same place. We store the canonical casing you chose and display it that way everywhere.
Rules and limits
- Minimum 3 characters, maximum 50
- Allowed characters:
a-z,0-9,-(hyphens). No underscores, no slashes, no unicode — these cause encoding headaches in the real world - Reserved slugs (
r,api,auth,static,dashboardand a few others) can’t be used - Aliases on custom domains are per-workspace namespace.
yourbrand.com/saleis independent ofanotherbrand.com/sale - Aliases on the system domain (
sho.fi) are first-come, first-served globally across all workspaces
Changing an alias
You can change an alias after creation. The old alias immediately stops resolving. We don’t auto-redirect the old code to the new one — that would defeat the point of having a clean alias system. If you had the old alias printed somewhere, update it.
QR code generation
The basics
Every link now has a QR button in the link table and on the link detail page. Click it, get a QR code. Download as SVG (vector, scales to any size, great for print) or PNG (1200×1200px, good for digital).
The QR code encodes the full short URL — alias or auto-generated code, your custom domain or the system domain. Clicks from QR scans show up in analytics tagged with utm_medium=qr if you have that set on the link. If you don’t, they show up as direct. Worth keeping in mind when you’re setting up links intended for print.
Customization
We kept this simple for now. You can choose:
- Foreground color — defaults to
#1E1C16(matches our ink color, looks good on cream or white) - Background color — defaults to transparent for SVG, white for PNG
- Error correction level — L, M, Q, H. We default to M, which is the right balance between density and scan reliability. Use H if you’re printing over a background image or texture
Logo-in-QR is something people ask about. It’s on the roadmap. The technical lift is real and we want to do it without degrading scan rates, so it’ll ship when it’s right.
Bulk QR export
If you need QR codes for multiple links, select them in the link table and use Export → QR codes (ZIP). You get a zip file with one SVG per link, named by alias or short code. This is the workflow for campaigns with physical collateral — event signage, product packaging, flyers.
Using both together
The obvious combination: create a link with a meaningful alias, use QR generation to get a print asset, put both the text URL and the QR on the same piece of print material. One click from someone who scans, another from someone who types — both tracked, both attributed to the same campaign.