Free Discord Bot Hosting 24/7
On this page
- The short answer
- The four ways "free" stops being 24/7
- Replit: build the bot there, do not leave it there
- Render and Railway: real platforms, wrong shape for free
- Oracle Always Free, GitHub Actions, and "free VPS" offers
- Your own PC or a Raspberry Pi: the one that actually is free
- Free 24/7 hosting for a Python or Node.js bot
- When it is worth paying, and how little it takes
- FAQ
Search for free Discord bot hosting and you will find plenty of it. What is much harder to find is free hosting that keeps a bot online every hour of every month — which is the thing people actually mean when they type "24/7".
Those are two different claims, and most of the disappointment in this corner of the internet comes from treating them as one. This guide goes through the real options one at a time and says plainly which of them stay up unattended, which quietly stop, and what makes the difference. No vendor bashing, and no invented numbers: platform limits change, so what follows describes how each option behaves rather than what its current plan page says this month.
The short answer
Yes, you can run a Discord bot for free. No, almost none of the free options will keep it online around the clock without you noticing. Exactly one genuinely does it: a machine you own and leave switched on. Everything else trades uptime for the zero on the invoice — it sleeps the bot, meters it, or restarts it on a schedule.
That is the whole guide in three lines. The rest is which option does which, so you can pick with your eyes open.
| Option | Free? | Stays online unattended? | What gives out first |
|---|---|---|---|
| Your own PC or a Raspberry Pi | Yes | Yes, while it has power and internet | A power cut, an update reboot, your attention |
| Free tier on a developer platform | Yes | No | The platform idles the process, or the monthly allowance runs out |
| Free cloud VM (Oracle Always Free and similar) | Yes | Usually | Getting one at all, then administering it yourself |
| A CI runner (GitHub Actions) | Yes | No | The per-job time limit, and the terms of service |
| Paid bot hosting | No — from €0.89/mo | Yes | Nothing you have to manage |
If your bot is a weekend project you are actively building, a free tier is the right tool and you should stop reading here. If other people are already using it, read on — the failure modes below are the ones that will bite you.
The four ways "free" stops being 24/7
Free tiers do not fail randomly. They fail in four specific ways, and knowing which one you are hitting tells you immediately whether it is fixable.
1. The platform idles your process
Hosting platforms reclaim capacity from work that looks inactive. Here is the trap: a Discord bot looks completely inactive to a web platform. It opens an outbound WebSocket to Discord's gateway and waits. Nothing arrives on a port, no HTTP request is served, no traffic graph moves. Your bot may be answering commands all evening and still be, by every metric the platform watches, doing nothing at all.
2. Cold starts have nothing to wake them
Idling is survivable for a website: the next visitor's request wakes it, and they wait a second. Nobody sends an HTTP request to a Discord bot, so there is nothing to wake it — it simply stays down. That is the entire reason keep-alive tricks exist: a tiny web server bolted onto the bot plus an external service pinging it forever. It works until the pinger stops, the platform changes its idling rules, or you read the terms and discover you are working against them.
3. The filesystem is not yours to keep
On many free tiers the disk resets when the app redeploys or restarts. If your bot writes levels, an economy, warnings or per-server settings to a JSON file next to its code, that file is temporary storage that looks permanent. It survives for days, which is long enough for you to trust it, and then a restart clears it. Anything that must outlive a restart belongs in a database, not on the disk.
4. The monthly allowance runs out
Some free plans are not sleep-based at all — they hand you an allowance of usage per month. A bot that runs continuously consumes that allowance continuously, so it stops partway through the cycle and comes back when the meter rolls over. Three weeks of uptime is a perfectly good hobby setup. It is not 24/7.
Nothing to keep awake and nothing to ping: HytHost bot hosting keeps your Discord bot running from €0.89/mo, with automatic restarts.
See bot hostingReplit: build the bot there, do not leave it there
Replit is an editor and a runtime in one browser tab, and for writing a bot it is genuinely pleasant — you can go from an empty file to a bot responding in your test server without installing anything. A lot of people's first working bot lived on Replit, including plenty that later grew into something serious.
The catch is structural rather than stingy: Replit is built around a workspace you are using. Keeping a process running after you close the tab is a separate, paid capability, and the free workspace winds down when you stop working in it. That is a coherent product decision — it is a development environment, not a hosting platform — but it means "my bot goes offline when I close my laptop" is the intended behaviour, not a bug to be solved.
Which brings up the keep-alive pattern you will find in dozens of tutorials: add a minimal web server to your bot, then point a free uptime monitor at it so something is always requesting the page. It does work for a while. It is also fragile in every direction — the monitor lapses, the rules change, and you end up maintaining the workaround instead of the bot. Before you build anything on top of it, read Replit's current documentation for what the free plan includes today, because this is precisely the sort of thing that gets revised.
Render and Railway: real platforms, wrong shape for free
Render and Railway are proper deployment platforms — git push, it builds, it runs. Their paid tiers are a perfectly sensible place for a Discord bot. The free entry points are where people get caught, and for two different reasons worth separating.
Render: your bot is the wrong kind of service
Render's free offering is shaped around web services — things that answer HTTP requests — and it spins them down when no requests arrive. A Discord bot is not that. It is a background worker holding an outbound connection, and it will never receive the HTTP traffic that would keep it awake. So the mismatch is not about how generous the tier is; the workload does not fit the shape of the product. Whether background workers are available on the free plan is exactly the kind of detail that changes, so check Render's own docs rather than a tutorial from two years ago.
Railway: metered, so it stops mid-month
Railway meters usage and gives you an allowance to spend. Nothing sleeps and nothing needs pinging — it simply runs until the allowance is gone, then stops until the next cycle. As a way to try a deployment that is clean and predictable. As "24/7 hosting" it has a hard stop built into it, and the stop lands in the middle of the month when you are not looking. Their pricing documentation has the current figures.
Both are worth knowing, and neither is being criticised here. If you like the workflow, the honest move is to use the paid tier of the platform you like — not to fight the free one into behaving like it.
Oracle Always Free, GitHub Actions, and "free VPS" offers
Three more options that come up constantly, in descending order of how much you should trust them.
Oracle Always Free: the closest a cloud gets to free 24/7
This one is real. Oracle's Always Free tier includes small virtual machines that do not sleep — a plain Linux box that stays running, which is genuinely what you asked for. Two honest catches. First, getting one is the hard part: free capacity in a given region is frequently unavailable, and the answer is to try another region or wait. Second, you have just become a system administrator — OS updates, firewall, a service unit so the bot restarts on boot, and your own backups. That is a fair trade if you want to learn it, and a bad one if you only wanted your bot online. Read Oracle's current Always Free terms before you rely on it, including what happens to instances they consider idle.
GitHub Actions: not a host, and not permitted as one
Actions is a CI system: it runs a job when something happens in your repository, and jobs have a maximum run time. You can chain scheduled runs to approximate a permanent process, and people do. Two reasons not to. Practically, you get a bot that dies and restarts on a timetable, with a gap each time. Formally, GitHub's terms restrict Actions to work connected to that repository's own software — a permanently running bot is outside what the product is for, and building your community on something that can be switched off is a bad foundation. Use it for what it is excellent at: testing your bot's code on every push.
"Free VPS" offers: judge them by what they will not tell you
These fall into two piles. Some are ordinary trials — a real machine, a real time limit, a card required. Fine, as long as you know the clock is running. The rest advertise a permanently free server and are vague about the specifics, which is the tell: if a provider will not state the CPU, the RAM, the network and the acceptable use in writing, that is the answer. An oversubscribed box with no stated limits does not fail loudly; it just gets slow, and your bot is late to respond and you never learn why.
Your own PC or a Raspberry Pi: the one that actually is free
Here is the option that keeps its promise. Hardware you already own, switched on, running your bot. Nothing sleeps it, nothing meters it, and no allowance runs out. If you have a spare machine and a stable connection, this is real free 24/7 hosting and this guide is not going to pretend otherwise.
What you pay instead is not money, and it is worth naming honestly:
- Electricity, all month, every month. A desktop PC left on is a real line on your bill; a Raspberry Pi is a rounding error. Work it out against your own tariff — anyone quoting you a figure is guessing at your electricity price.
- Your home internet's reliability becomes your bot's uptime. The router reboots at 3 a.m., the ISP has a bad hour, the power flickers. Each one is a gap, and you find out when someone in your server mentions it.
- Your attention. A Windows update decides to restart at the worst moment, or the process dies quietly and nothing brings it back. On a home setup you are the monitoring.
Two things make the difference between this working and this being a recurring annoyance:
- Make it restart itself. A bot started by hand in a terminal ends at the first crash or reboot. Set it up as a service that comes back on boot — that single step is what separates "hosted at home" from "running until something happens".
- Use a Raspberry Pi rather than your daily machine. It draws almost nothing, has no fan to annoy you, and — most importantly — you are not also using it for anything else, so nothing you do can take the bot down. Keep in mind that the SD card wears out eventually, so put anything you care about somewhere you back up.
Free 24/7 hosting for a Python or Node.js bot
The question usually arrives with a language attached: free 24/7 hosting for a discord.py bot, or for a discord.js one. The honest answer is that the language changes almost nothing about whether a free host keeps your bot online. Idling, cold starts, a disk that resets and a monthly allowance all act on the process, not on what it was written in. A Python bot and a Node.js bot on the same free tier go offline at the same moment, for the same reason.
Where the language does matter is in the details that decide whether a host fits at all:
- Is the runtime offered, and in which version? discord.js follows current Node.js releases and discord.py needs a reasonably recent Python. A free tier that only offers an older runtime, or only one of the two, rules itself out before uptime even comes into it. Compare the host's supported versions with the library's own requirements.
- Dependencies are installed again on a fresh disk. On a host whose filesystem resets, the bot's libraries are reinstalled after every restart or redeploy — in Node.js and Python alike. That lengthens the gap after each restart, and a dependency that fails to install means the bot does not come back at all.
- Voice needs more than the library. A music bot in either language needs native pieces next to the library — an Opus audio library, an encryption library and FFmpeg — and many free platforms neither provide them nor let you install system packages. A text-only bot is unaffected.
- The keep-alive trick looks different and fails the same way. Python tutorials bolt a small Flask server onto the bot; Node.js tutorials use Express. Either way it exists only to generate requests that stop the platform idling the process, and it breaks for the same reasons described above.
Memory is the other place the two differ: the same bot logic does not use the same amount of RAM as a Node.js process and as a Python process, and a music bot uses more than either. Most command and moderation bots still sit comfortably in a few hundred megabytes in both languages, so for a typical bot it is not the deciding factor.
When it is worth paying, and how little it takes
There is a clean line here, and it is not about how big your bot is. Pay when the bot stops being yours and becomes something other people rely on. Up to that point, downtime costs you a shrug. After it, downtime costs you the thing you built the bot for.
Four signs you have crossed it:
- Someone else notices the bot is down before you do.
- You have restarted it by hand more than once this month.
- Losing its data — levels, economy, configuration — would actually matter.
- You are spending more time maintaining a keep-alive workaround than working on the bot.
The reason this decision is easy is the price. A bot is a light workload: a moderation or command bot is comfortable in a few hundred megabytes of RAM, so what you are buying is not power, it is the fact that it runs and keeps running. HytHost Discord bot hosting starts at €0.89/mo, with a process that restarts itself if it crashes, a database that survives restarts, and a 99.9% Uptime SLA — for roughly what the electricity of a desktop PC would have cost you anyway.
If you want the mechanics of getting your code onto a host — the startup command, dependencies, keeping your token out of the repository — that is a different job and it has its own guide: how to host a Discord bot 24/7.
Nothing to keep awake and nothing to ping: HytHost bot hosting keeps your Discord bot running from €0.89/mo, with automatic restarts.
See bot hostingFrequently asked questions
Free hosting is real; free hosting that stays up unattended is much rarer. The one option that genuinely delivers it is hardware you own and leave switched on, such as a Raspberry Pi. Free tiers on developer platforms behave differently by design — they idle inactive processes or meter monthly usage — so a bot on one of them stops at some point in the cycle rather than running continuously.
Usually because the platform sees no activity. A Discord bot holds an outbound connection to Discord and receives no incoming HTTP requests, so a platform that idles inactive services counts it as doing nothing. The other common causes are a monthly usage allowance running out mid-cycle, or the process crashing with nothing configured to restart it.
Very little. Free hosts idle processes, reset disks and meter usage the same way whether the bot runs on discord.py or discord.js, so a bot in either language goes offline for the same reasons. The language matters only for fit: whether the host offers the runtime version the library needs, whether voice dependencies such as FFmpeg can be installed, and how long dependencies take to reinstall after a restart.
It is a good place to write and test one. Replit is a development environment, and keeping a process running after you close the workspace is a paid capability rather than the default — so a bot left on the free plan winds down. Building it there and running it somewhere built for long-running processes uses both tools for what they are designed to do.
It is not designed for that and it does not work well. Actions runs CI jobs with a maximum duration, so a bot hosted this way restarts on a schedule with a gap each time. GitHub also restricts Actions to work related to the repository's own software, which a permanently running bot is not. It is an excellent way to test a bot's code on every push.
It can, and the way it happens is easy to miss. On many free tiers the filesystem resets when the service redeploys or restarts, so a JSON file written next to your code is temporary storage that behaves like permanent storage for days at a time. Anything that has to survive a restart — levels, economy, per-server settings — belongs in a database rather than on that disk.
Very little, because a bot is a light workload. Most command and moderation bots run comfortably in a few hundred megabytes of RAM, so what the price covers is continuity rather than power. HytHost Discord bot hosting starts at €0.89/mo and includes automatic restarts after a crash, a database, and a 99.9% Uptime SLA.
Yes, and for most bots it is a file copy plus a startup command. The code does not change: the same Discord.js or discord.py project runs the same way. What changes is that the token moves into a startup variable instead of a platform secret, and persistent data moves from a local file into a database. The step-by-step version is in the guide on hosting a Discord bot 24/7.
Free until it matters, then this
HytHost Discord bot hosting runs your Node.js, Python or Java bot continuously, restarts it after a crash, and includes a database and backups — from €0.89/mo, online instantly.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursWas this guide helpful?