Dropping an HTML file into a channel works fine for the people already in that channel. The moment the person who needs it sits outside the workspace — a client, a contractor, someone who hasn't been onboarded — the file's home becomes the obstacle. Slack's own external file links are a paid-plan feature, and in a private channel only the person who uploaded the file can create one. Drop the file into miinideck instead and you get one unguessable link that behaves the same for everyone: paste it in the channel for your team, send it in an email to your client, no seat and no sign-in on either side.
Try it now
Drop a file — get a private link in seconds. No sign-up.
Drop an HTML file or ZIP bundle, or click to choose.
Single file or ZIP. Max 3 MB.
Up to 3 MB, link self-destructs after 7 days. Sign up free to keep links forever, password-protect them, and store more.
Drop the HTML file — or a zipped folder with its assets — and get a private link in seconds. Nothing to configure, no workspace to add anyone to. Paste that link into the Slack channel exactly as you would have attached the file.
Send the same link to anyone outside. It opens live in their browser with no account, no app, and no request-access screen, because the URL itself is the credential. That's the difference that matters here: a file in a channel is scoped to the workspace, and a link isn't scoped to anything but the people you hand it to.
The link is unguessable and no-indexed, so it stays off search. Add a password if the contents warrant a second gate, or an expiry so it closes on its own after the review. Replace the file later and the address doesn't change — the link already sitting in the channel shows the current version.
Slack supports it through external file links, with two conditions worth knowing before you rely on it: the workspace has to be on a paid plan, and in a private channel only the person who uploaded the file can create the external link. So if a teammate posted the file and you're the one talking to the client, you can't hand it on. A hosted link sidesteps both conditions because it never belonged to the workspace in the first place.
Because a chat client stores and shows files rather than serving them as web pages. A browser renders HTML when something hands it over labelled as a page; a file in a channel is handed over as a file, so it downloads or displays as text. That's the same reason an HTML file in a cloud drive or an email attachment shows markup instead of the page — none of those places is a web host, and none of them is trying to be.
Neither. The link opens in any browser with no sign-in on their end, which is usually the whole reason you're looking for an alternative to the file. You need an account to upload; they need nothing to view.
Treat it the way you'd treat the file itself. The link is unguessable, so nobody finds it by searching or by trying addresses — but anyone who can read the channel can read the link, and could forward it. If the material shouldn't travel beyond the channel, add a password so the URL alone isn't enough, and set an expiry so an old message doesn't stay live for months.
Yes. Zip the folder and drop the ZIP — the bundle is unpacked and served with its internal paths intact, so stylesheets, scripts, and images resolve the way they do on your machine. That's the case where posting files to a channel breaks down completely, since each attachment arrives as its own item with no relationship to the others.
Then this isn't the right home for it. miinideck serves self-contained HTML and ZIP bundles — front-end pages that run in the browser. If your build needs a server, a database, or saved form submissions, deploy it on a platform built for that, like Vercel or Netlify, and paste that link into Slack instead.
No card to try, no sign-up to get a link. Sign up free to keep links forever, password-protect them, and store more.