What's new in TinyX
A friendly log of everything we've shipped. Newest at the top.
- v2.14.3Latest
Our side of the fence
- Tidied something over here. Nothing for you to do.
- v2.14.2
Need-to-know
- You don't, and we mean that in the nicest possible way.
- v2.14.1
Three for three
- A third release running with nothing to declare, and we're starting to enjoy the streak.
- v2.14.0
Ours again
- Two releases running now that are entirely our own business. Yours carries on exactly as before.
- v2.13.0
Entirely our end
- Some releases are for you. This one is for us, and it's staying that way. Nothing on your side changes.
- v2.12.2
Links with a stray slash now go where you meant
- A URL with an accidental double slash, or a trailing space, now lands on the right page.
tinyx.co//featuresand a copiedtinyx.co/featuresboth take you to the features page now, rather than a "not found". It's the sort of thing that happens when a link has been pasted through three apps on its way to you, and there's no reason it should be your problem.
- A URL with an accidental double slash, or a trailing space, now lands on the right page.
- v2.12.1
Fewer inboxes to remember
- We've consolidated the contact addresses on our policy pages. Privacy, cookie and abuse enquiries now go to legal@tinyx.co. Accessibility feedback and security reports go to support@tinyx.co. Same people at the other end — just fewer addresses between you and them.
- v2.12.0
One file at a time, and you can watch it happen
Uploads now go one at a time
- Select ten files and they upload one after another, rather than three at once. On a fast connection that's a little slower; on every other kind it's steadier — nothing fighting over the same bandwidth, and if a file does fail there's no guessing which one.
A progress list you can actually read
- Every file gets its own row — a proper thumbnail, the full filename, and a wide progress bar with the byte count underneath. The old four-across grid of tiles had room for a status word and not much else.
- The file that's uploading is obvious. Waiting files sit quietly with no bar; the active one fills across the row.
- When a file fails, the reason sits on its row, where you're already looking, instead of in a summary at the end.
- Something internal also changed. Picture a very tidy filing cabinet, then stop picturing it — that's the entire briefing.
- v2.11.0
We'll tell you when a video won't play
Some videos play perfectly for the person who uploaded them and not at all for the person they sent them to. That's mostly HEVC — the format iPhones record in by default — which Safari and Chrome handle and Firefox generally doesn't. Until now the only clue was a player that sat there doing nothing.
The person opening your link finds out straight away
- If a video won't play in their browser, the page says so before they press play — and offers the download instead. No more staring at a spinner wondering whose fault it is.
- We ask their browser directly rather than guessing from what browser they're using, so the warning only appears when that browser genuinely can't decode the file. If it plays anyway, the message gets out of the way by itself.
- If a video starts but the picture freezes, the page now says so — and says plainly that it's a browser limitation rather than a problem with the file. Some browsers struggle with longer videos regardless of format; downloading always works.
And you find out when you upload
- Files most browsers can't display now get flagged as you add them — HEIC photos straight off an iPhone being the common one.
- If your own browser can't read a file well enough to make a thumbnail, we mention it. That's usually a good sign nobody else will be able to preview it either.
- Nothing is blocked. These files upload, download and share exactly as before — you just know in advance what to expect.
- v2.10.4
Under the hood
- Behind-the-scenes updates and fixes. Nothing you need to do.
- v2.10.3
Housekeeping
- We tidied some rooms you never visit. They look fantastic. You'll have to take our word for it.
- v2.10.2
Tell people when a video won't play
- A video that can't play in your browser now says so, instead of spinning forever. Some videos — including most recorded on an iPhone, which uses a format called HEVC — play perfectly in Safari and Chrome but not in Firefox. Until now the player just sat there buffering with no explanation. It now tells you what's happening and offers the download instead.
- The message waits a good while before appearing, so a slow connection isn't mistaken for a broken file, and it disappears by itself the moment playback actually starts.
- v2.10.1
Video posters actually work now
- The still frame we promised in v2.10.0 wasn't being saved. Videos uploaded since that release got no poster at all: fine on a laptop, where the browser eventually decodes its own frame, but on an iPhone you got a blank white box with a play button until you pressed play. Our own security policy was blocking the browser from reading the video during upload, so the frame was never captured. Fixed.
- Videos you've already uploaded still won't have a still of their own — the frame is grabbed during upload, so there's nothing to recover after the fact. Re-upload if you want one; playback and scrubbing are unaffected either way.
- In the meantime, those videos now show a proper placeholder instead of an empty white rectangle: a dark frame with a play symbol, so the player looks like a player before you hit it.
- v2.10.0
Videos play, right there on the page
Sharing a video used to mean asking someone to download it first — a few hundred megabytes and a trip to their Downloads folder before they could tell you whether it was the right cut. Now they just press play.
Press play on the link itself
- Share a video and the person you sent it to can watch it on the page. No download, no separate app. The player is your browser's own, so fullscreen, picture-in-picture, AirPlay, playback speed and captions all work exactly the way you already expect them to.
- Scrubbing works properly. Drag to the middle of a twenty-minute video and it jumps there, instead of downloading the first nineteen minutes to get to it.
- It works on an iPhone. Video on the old "view in browser" link simply refused to play on iOS. That's fixed.
A real frame instead of a black box
- Videos now show a still from the video itself — as the poster before you press play, and as the preview image when you paste the link into Slack, iMessage or anywhere else that unfurls links. Previously you got a black rectangle and our generic logo card.
- One caveat worth knowing: that still is captured by your browser as the video uploads, so videos already sitting in your library won't have one until you upload them again. They'll still play and scrub perfectly — they'll just look blank until playback starts.
Multi-file links play in place
- Send a folder of clips and each one plays in a pop-up on the same page. Click play, watch, close, keep browsing the rest of the files. No more opening each video in its own tab.
Watching doesn't use up your downloads
- If you've capped a link at, say, three downloads, watching the video doesn't spend them. Someone can rewatch and scrub as much as they like; the counter only moves when they actually click Download.
The details
- Works with MP4, M4V, WebM, OGV and MOV. Formats no browser can play — MKV, AVI, WMV, FLV — keep the download page they have today, and if a file turns out to use a codec your particular browser can't decode, the player says so and points you at the download instead of failing silently.
- Inline playback is available on Pro and above. Free links keep working exactly as they do now.
- v2.9.1
A smoother sign-up
A small polish release aimed squarely at the front door. Creating an account is a little quicker, and the landing page is calmer on a phone.
One password box, not two
- Signing up no longer asks you to type your password twice. The confirm-password field is gone. Instead, both the sign-up and log-in screens now have a little show/hide toggle on the password box, so you can check what you typed without the second round of typing — a lot friendlier on a phone keyboard.
Your email sticks around if something goes wrong
- If a sign-up bounces back with an error, the email you entered is still there. Previously a small slip dropped you back to a blank form and made you start over. Now you just fix the one thing and carry on.
A tidier hero on mobile
- The headline on the home page is less cluttered on small screens. The three feature links tucked into the opening paragraph are now plain text on a phone, so they stop competing with the main "get started" button for your thumb. Nothing moved on desktop, and the links are still right there in the menu and the Features section.
- v2.9.0
Cleaner sign-ups
A quiet trust-and-safety release. Nothing for you to do — it just keeps the place tidier and the door a little harder for bots to wander through.
Real email addresses only
- Sign-ups using disposable, throwaway email addresses are now turned away. The kind of one-click "temporary inbox" domains that exist purely to dodge verification don't get through the door anymore. The address you actually check works exactly as before.
Verify your email, or we'll tidy up
- If you sign up and never verify your email, we'll send a friendly reminder — and remove the account a little later if it's still unverified. Verifying is one click from the email we send when you join, plus a gentle nudge a day on. Already verified? Nothing changes for you.
- v2.8.0
Browse everything we make, on one page each
A small navigation release. The product surface keeps growing — features, use cases, comparisons — and so far you've had to discover them one at a time from the nav. Now there's a real, indexed page for each.
One page that lists every feature
- /features shows the whole product on one screen. Smart short links, encrypted file sharing, secure upload drops, instant forms, click analytics — all there, with a one-line summary of each. Click any card to dive into the full feature page. Reachable from the All features link in the Product menu.
One page that lists every use case
- /use-cases does the same for who TinyX is built for. Photographers, small businesses, restaurants, lawyers, creators, agencies — each with the headline and the gist. Click in to see the full callouts and screenshots. Reachable from All use cases in the Product menu.
URLs work with or without the trailing slash
/features/now goes to/featuresinstead of returning a "not found" page. Same for every other URL on the site. If you, or a link someone else made, has a trailing slash on the end, we'll quietly send you to the right place instead of 404ing.
The footer is the same on every page
- Every public page now shows the same footer. Landing, comparison pages, feature pages, use-case pages, the blog, the changelog — all matching. Previously the lists drifted between pages (some had Blog/Help/Status, others didn't). Now they're identical everywhere.
- v2.7.0
A proper "What's new" page, and a calmer dashboard
A small, friendly release. There's now a real page for everything we ship, and the upgrade nudge on your dashboard got a lot more polite.
See everything we've shipped, nicely
- There's now a proper What's new page. Every release, newest first, on a clean timeline — plain-English notes, no jargon. It's the same log that used to only exist as a raw text file; now it's actually pleasant to read. The raw version still lives at
/changelog.mdif you prefer it for tooling or feed readers.
A gentler upgrade nudge
- The upgrade prompt on your dashboard is quieter now. It used to be a big, loud button on a card you see every time you sign in. It's now a small, unobtrusive line — still clear, no longer shouting. Same information, far less nagging.
- There's now a proper What's new page. Every release, newest first, on a clean timeline — plain-English notes, no jargon. It's the same log that used to only exist as a raw text file; now it's actually pleasant to read. The raw version still lives at
- v2.6.0
Security review + hardening
We had the platform put through an independent security review (penetration test) and worked through the findings. A range of issues were reviewed and tightened up across the app.
You may need to sign in again
- As part of this work we changed how sign-in sessions work under the hood. Existing sessions are ended once when this update goes live, so you'll be asked to log in again the next time you visit. That's expected — just sign in as normal and you're back in.
- v2.3.4
Boring on purpose
- The best kind of release: you can stop reading right here.
- v2.3.3
Plumbing
- The sort of work you only notice when somebody gets it wrong. Nobody got it wrong.
- v2.3.2
Backstage
- Scenery moved, ropes retied, curtain unchanged.
- v2.3.1
Small print
- Changes so internal they don't have a user-facing name.
- v2.3.0
Quiet release
- No new buttons. No moved buttons. The buttons are fine.
- v2.2.1
Snappier link creation + a /app shortcut that works
A small fix-up release. Two papercuts, gone.
The "Create link" page is fast again
- Opening Create link used to take about a second before anything showed up — noticeably slower than every other page in the app. It now loads in step with everything else (a few hundred milliseconds) and stays fast on repeat visits. Nothing changed about how the page looks or works; it just stops making you wait.
Typing /app takes you to your dashboard
- Going straight to the
/appaddress without the trailing slash used to dead-end on a "this link leads nowhere" page. It now takes you to your dashboard like you'd expect.
- v2.2.0
Furniture moving
- We rearranged the back office. Your desk is exactly where you left it.
- v2.1.0
Faster, smoother, fewer "did it freeze?" moments
A polish release focused on the small frictions that add up over a day of real use. Pages snap, big uploads stop stalling the page, and bulk actions finally feel like something is happening.
Pages just load faster
- Dashboard, account, link creation and file detail now share a tiny per-edge cache for the bits of config that almost never change (your theme, app name, accent colour, tier limits). The first request fetches them; the next forty don't. On a warm session, the dashboard goes from a small handful of database round-trips to almost zero.
- Landing-page screenshots are WebP now. That cuts the marketing pages from ~3.5 MB of imagery down to ~900 KB. First paint is noticeably quicker, especially on flaky connections.
Bulk delete shows you what's happening
- Selecting twenty files and hitting Delete used to leave the browser apparently doing nothing for ten or twenty seconds while the server worked through them. Now a small modal appears with a live counter — "7 / 29 deleted" — and a progress bar. No more wondering whether the tab froze.
- The progress modal will get reused for other bulk actions over time (think batch ZIP, mass move, etc.).
Image uploads stay smooth even with 30+ files
- Generating the small thumbnails for your image library used to happen on the page's main thread. With one or two photos that's invisible; with 29 it caused brief stalls (scrolling stuttered, the progress bar ticked in bursts). That work has moved to background workers — the page stays responsive throughout, and big batches finish a bit quicker on multi-core machines too.
Public upload links handle duplicates gracefully
- If you upload
photo.jpgto your own library, then a guest uploadsphoto.jpgto your public upload link, the second one lands asphoto (1).jpginstead of failing silently. The same Mac/Dropbox-style auto-rename your own library has had for a while.
Filter + Select all on the files page
- Filtering files by a search term (say, looking for everything containing
"draft") and then clicking Select all now selects only the matching files, not your entire library. The mistake-class fix: if the filter showed 29 matches across two pages, Select all selects all 29 — not the 200 sitting behind the filter.
- v2.0.0
A dashboard that's actually pleasant to land on
A big release. The dashboard you see when you sign in has been completely reworked — it now shows you what your shares have actually done this week, where your usage sits against your plan, and what you'd unlock by moving up a tier. Each row makes its own small case. Nothing nags, nothing pop-ups. Plus a handful of upload, link and infrastructure improvements behind the scenes.
The new dashboard
- A "this week" strip at the top. See visitors to your links, where they came from, and downloads — a small reminder every login that your shares are doing work.
- Usage rows that are actually clear. Every quota (links / month, storage, questionnaires, galleries, multi-file links, API keys, webhooks) has its own progress bar and an upgrade hint that reads like English: "(40× more on Pro!)" — clickable, takes you to billing.
- Max-plan rows show "∞" and a full green bar. A small treat for the people on the top tier.
- Caps & features grid. File size limit, log retention, encryption, upload links, custom codes, custom logo — laid out in a clean 6-card grid with one consistent design. Tickbox check if you have it, lock icon if you don't.
- One Upgrade button. Top-right of the card: "Upgrade to Pro — $9/mo →". No competing buttons, no surprise popups.
- Honest about who we are. A small footer reminds you what you're paying for: end-to-end encryption, zero-knowledge architecture, open-source clients, runs on Cloudflare's edge.
Multi-file downloads finally work
- The "Download" button on bulk file lists had a long-standing browser-quirk bug where selecting 18+ files would only download 1 or 2. Fixed properly — every file lands.
- "Download as ZIP" for any link or selection of files under 100 MB each. A single .zip lands in your downloads, no more chasing 18 separate files across the screen.
A fairer monthly link quota
- Deleted links now free up a slot. Previously you'd see "25 / 25 used" even after deleting half of them. The count is now live — you have what you actually have.
- Abandoned uploads stop eating your storage. If you cancel a multi-gigabyte upload partway through, your remaining storage now reflects reality instead of treating the half-upload as permanent.
Friendlier limit messages
- Hit your monthly link cap? You'll see a designed upgrade card with two paths — upgrade to Pro for more headroom, or delete an old link to free a slot. Used to be a red error banner; now it's an actionable moment.
- Verbose upload progress. "Uploading 5 files, please wait…" / "3 left, keep this tab open" / "Almost there…" — the upload UI tells you what's happening so you don't think the page froze.
Guest uploads get thumbnails
If you share an upload link with someone and they upload images, those images now generate thumbnails immediately (just like uploads through your own dashboard). Previously, guest-uploaded images were missing thumbnails until you opened them — pickers and galleries had to stream the full image to make a tile.
Other small wins
- "Folder links" renamed to "Multi-file links" everywhere, with a (i) tooltip explaining what they are. The word "folder" was doing too many jobs.
- Empty states with personality on the create-link picker — a proper card with an icon and a single-button CTA, instead of a thin dashed border with tiny text.
Nothing about how your files are stored, encrypted, or shared has changed.
- v1.19.0
Steadier uploads, smoother resumes
Mostly invisible polish on the upload and download flows. If the network hiccupped during a small upload before, you might have been told it failed even though it would have worked on a second try. Now it just quietly tries again. A few other rough edges got smoothed out at the same time.
- Small uploads now retry too. Big uploads have always recovered from temporary network drops, but small files used to give up after a single failed attempt — frustrating when a quick PDF would fail in the middle of a batch. They now follow the same patient retry pattern as everything else.
- Consistent units everywhere. Different parts of the app used to disagree slightly on what "100 MB" meant, and progress text used different separator characters. All upload progress displays now use the same units and the same look — no more cosmetic mismatches between the file you're uploading and the totals at the bottom.
- Resume banner gets out of the way. When you click "Resume", the resume banner now hides itself once the upload (or decrypt) actually starts. Before, the "Discard" button stayed visible during the resumed run — clicking it accidentally would have stopped the upload mid-stream. The same fix applies to "Start over" on encrypted downloads.
- Encrypted downloads are a little more forgiving of brief network glitches when they're starting up, instead of failing the whole decrypt session over a single transient hiccup.
Nothing about how files are stored, encrypted, or shared has changed.
- v1.18.0
Upload resume that actually works
Closing the laptop, dropping Wi-Fi, refreshing by accident — none of it kills your upload anymore. We now keep enough state in your browser to pick up exactly where you left off.
- Resume on every upload. Whether you're uploading from your dashboard or someone's sent you an upload link, encrypted or not — your browser remembers where the upload got to. Come back to the page and you'll see a "Resume previous upload?" banner. Click it, pick the same file again, and uploading continues from where it stopped.
- Encrypted resumes work properly. Resuming an encrypted upload re-uses the original encryption key, so the file decrypts cleanly at the other end with no surprises. (The banner reminds you to use the same password — a different one would scramble the file.)
- No more accidental double-uploads. If you refresh the "all done" screen, you no longer trigger a second upload — we recognise it's already complete and just show the result.
- Two tabs uploading the same file no longer interfere with each other.
- Cancel an upload and storage gets cleaned up properly instead of leaving half-uploaded data sitting around.
- v1.17.0
Reliability + audit log
A back-of-house release. Mostly invisible but the visible bits matter.
- Better confirmation dialogs. The browser's old beige "Are you sure?" boxes are gone — we now use proper in-app dialogs that match the rest of the design and surface error detail when something goes wrong.
- Refreshing a "delete" page no longer asks you to confirm a re-delete. After any action (delete, rename, save settings), you land on the destination page with a confirmation message — refreshing just reloads the page like it should.
- v1.16.0
Perfect mobile speed score, perfect accessibility
Public landing page now scores 100 across the board on mobile — performance, accessibility, best practices, SEO. A handful of small, sharp changes.
- Self-hosted fonts so the page doesn't have to wait for a third-party server to respond before drawing text. Loads noticeably faster on a cold mobile connection.
- No layout shift while fonts load — the page stays put instead of jumping around.
- Accessibility polish on the landing page: every text colour now meets contrast guidelines, inline links are properly distinguishable, and screen readers can navigate the page structure cleanly.
- v1.15.0
Pick your own theme
Theme is no longer set globally for everyone. Each user picks their own.
- Dashboard theme. Account → Theme has a "Dashboard theme" picker (Default / Clean / Dark / Bold) that overrides the app default just for you.
- Short-link theme. Same screen has a "Short link theme" picker for the public pages of links you create. Visitors see your chosen theme, regardless of what they prefer elsewhere.
- Default still works. Leaving either picker on "Default" follows the app default.
- v1.14.0
Off-screen
- Work happened. It happened somewhere you can't see it.
- v1.13.1
Tightening bolts
- Nothing was loose. They're tighter anyway.
- v1.13.0
A release for the machines
- They're thrilled. You won't notice a thing.
- v1.12.0
Nothing to see here
- And for once we mean that literally.
- v1.11.0
Under the floorboards
- Some work down where the wiring lives. Everything above deck is exactly as you left it.
- v1.10.0
Groundwork
- Unglamorous, invisible, and entirely necessary.
- v1.9.0
Multi-file by default, smarter galleries, faster previews
The big one. We rebuilt the upload pipeline so multi-file is now the standard, not a special mode.
- Drop a folder of files at once. Both the dashboard upload and any public upload link accept multiple files now — drag, drop, watch them upload in parallel. Live progress bar with bytes, speed, and ETA. Per-file status badges so you can see exactly which one's stuck if anything fails.
- *Galleries are now a picker.* Instead of a separate gallery upload flow, just upload your photos like normal files, then build a gallery on the link creation screen by ticking the photos you want. One library, many galleries.
- HEIC + RAW friendly. iPhone HEICs and camera RAW files (Canon CR2/CR3, Nikon NEF, Sony ARW, Adobe DNG, Olympus, Panasonic, Fuji, Pentax — 25+ formats) upload without complaint. They just don't show in the gallery picker because most browsers can't render them — we tell you exactly how many were filtered out so nothing's a mystery.
- Multi-file file links. Sharing five files used to mean five short links. Now you can pick multiple files and we'll bundle them under one short link. Visitors get a clean file list, can preview images inline, download individually, or "Download all" in one click.
- Image thumbnails generated in your browser. When you upload a photo, your browser quietly creates two thumbnails (a square one for pickers, a larger one for galleries) and uploads them alongside the original. Result: gallery pages and pickers load instantly even if the originals are 20 MB each. Lightbox and downloads always serve the full original.
- Files page got smarter filters. Two new pills — Images and RAW — alongside the existing Shared / Private / Uploaded / Encrypted filters. Every pill now shows a count.
- Batch download. Select files in your library or in an upload link's submissions and hit Download — every selected file downloads as a separate file (modern browsers ask once, then proceed silently).
- Encrypted downloads got dramatically more reliable. End-to-end encrypted files now decrypt to a private space in your browser first, then save to disk in a separate step. This means: pause and resume across tab close, network drop, or browser restart. Works consistently across Chrome, Firefox, Safari, and Edge. We even check your browser's storage quota before starting and warn you if you're in private/incognito mode where space is limited.
- Quality of life. Empty galleries and folders auto-clean themselves when you delete their last file. The dashboard count finally matches what your files page actually shows. Link descriptions show "5 files" instead of "—" for multi-file bundles.
- v1.8.1
Findability
Discoverability tune-up. We wove contextual links between the landing page, comparison pages, and feature pages so search engines (and humans) can find their way around more naturally.
- v1.8.0
Support, properly
We grew up our support setup ahead of scaling.
- In-app support form — fill it out, we get an email, you get a confirmation. Answers come straight back to your reply address.
- Knowledge base at kb.tinyx.co — self-serve answers to common questions.
- Status page at tinyx.instatus.com — real uptime monitoring, subscribe for incident alerts.
- v1.7.x
Galleries, multi-webhooks, audit log, and a security pass
A big mid-cycle release.
- Multiple webhooks. Add as many webhook endpoints as your plan allows (Free: 1, Pro: 5, Max: unlimited) and pick which ones each link should notify. Discord, Slack, Google Chat, or anything that accepts JSON — we auto-detect the platform and format the payload to match.
- Image galleries. Upload a batch of images, share them as one beautiful gallery link with a clean grid, lightbox viewer, keyboard navigation. Tier-gated by gallery count and images per gallery.
- Audit log on every link. Every change to a link (rename, expiry tweak, password set, etc.) is recorded with a field-by-field diff. View the history on each link's logs page.
- Better device parsing. Browser and OS now read cleanly from user agents in your link analytics.
- Security pass. An independent security review with the recommended fixes shipped.
- Polish. File icons got readable in light themes, link cards reorganized, public page heroes got consistent typography across landing / features / compare pages.
- v1.7.2
Dusting
- We got into the corners. Nobody will ever know but us.
- v1.7.0
Behind the curtain
- Pay it no attention. The wizard is fine.
- v1.6.0
Comparisons & SEO
For people researching alternatives.
- Compare hub at
/compare: in-depth pages comparing TinyX to Bitly, WeTransfer, Dropbox, Short.io, Rebrandly, Box, and Dub.co. - Each page has a verdict, FAQ, and structured data so search engines understand what's there.
- Reachable via a Compare nav dropdown on desktop and mobile.
- Compare hub at
- v1.5.0
Cleaner short URLs + indexing controls
/x/prefix for short URLs —tinyx.co/x/abc123. Cleanly separates short links from app routes. Old links automatically redirect to the new pattern.- Custom OG image upload — branded preview cards when your links are shared on social.
- Indexing controls — toggle whether search engines and AI crawlers can index your short links and app pages. 17 named AI bots can be individually blocked.
- v1.4.0
Spit and polish
- Applied generously to parts of the machine you'll never see.
- v1.3.0
Questionnaire analytics
Forms got their own analytics dashboard.
- Responses-over-time chart
- Top countries
- Auto-generated charts for choice / multi-select / dropdown questions
- Cleaner responses list view
- v1.2.0
Direct-to-cloud uploads + policy pages
- Uploads no longer pass through our app. Files go straight from your browser to encrypted cloud storage via short-lived signed URLs. Bigger files, faster uploads.
- Abuse policy page at
/abuse— clear rules, fast takedown process. - Security & bug bounty page at
/security— responsible disclosure, scope, what's in-bounds. - Self-redirect detection — if your TinyX short link points to another TinyX short link, we warn you (it's allowed, but usually a mistake).
- v1.1.0
Search, filters, pagination
- Search and filter on the Links and Files pages, paginated 20 per page.
- Direct-to-cloud upload paths for public upload links — visitors can drop large files straight into your storage.
- Per-link webhook toggle on the edit page.
- Webhook platform detection — Discord / Slack / Google Chat / Custom — visible in your account settings.
- v1.0
Launch
The core platform.
- 3 paid tiers (Free / Pro / Max) with configurable per-tier limits for links, storage, file size, custom codes, custom logos, encryption, webhooks.
- Public registration with email/password and email verification.
- Stripe billing with monthly/annual plans, self-service upgrade, customer portal, full subscription lifecycle handling.
- Short links for files, URL redirects, and authenticated uploads.
- End-to-end encryption — encrypt files in your browser before they reach our servers. Even we can't read them. Password is required to decrypt.
- Webhooks — get notified when links are visited, downloaded, uploaded to, etc.
- Questionnaires — short links that collect form responses (single line, multi-line, choice, multi-select, dropdown, country picker).
- QR codes — every short link has a QR code, downloadable as SVG or PNG.
- Click analytics — clicks over time, top countries, top devices, top referrers, with charts.
- Custom logo per link (paid tiers) — uploaded logo replaces the default branding on shortlink pages.
- Custom short codes (paid tiers).
- Three themes — clean, dark, bold.
- Mobile responsive throughout.
- Self-hosted everything — zero CDN dependencies, zero third-party JavaScript on the public pages.
- Legal pages — Terms, Privacy, Cookie Policy, Accessibility Statement.
- EU-only cookie banner — only shown when the visitor's country actually requires it.
- Password reset flow with email tokens.
Want to know what's coming next? Check the status page for live updates, or drop us a note via the help page.
Prefer the raw feed? The same log lives at /changelog.md — handy for tooling and feed readers.