Breaking Up Is Hard: The Real Cost of Leaving 6 Free Hosting Tiers
Photo: Boivie, CC BY 4.0, via Wikimedia Commons
Nobody Reviews the Breakup
Here's a dirty secret of the hosting review industry: almost every comparison focuses on onboarding. Signup flows, deploy wizards, generous free tiers — it's all first-date material. But if you've ever run a real project, you know the relationship that matters is the one at the end, when you've outgrown the free tier and need out.
So we flipped the script. We took a small but real app — a Node/Express API with a Postgres database, a cron job, environment variables, and a custom domain — and deployed it to six popular free hosting options. Then, one by one, we killed the relationship and moved everything to a new host, stopwatch running.
The results ranged from "done before my coffee cooled" to "why is my DNS still pointing at a corpse three days later?"
What We Measured
Every migration involved the same checklist:
- Export application code and configuration
- Dump and restore the database
- Recreate environment variables
- Move or re-point the custom domain (DNS TTL and propagation time)
- Decommission the old deployment cleanly
We scored each host on time-to-exit, documentation quality, lock-in friction, and — the big one — whether anything tried to stop us or charge us on the way out.
The Good: Hosts That Respect the Door
A couple of platforms treated our exit like adults. One-click database dumps, environment variable exports built into the CLI, and honest documentation that literally described how to migrate away. Total exit time: under an hour, most of it waiting on DNS propagation. If a host publishes its own migration guide, that tells you something about its confidence in its product.
Container-based hosts generally did well here. When your deployment is just a Dockerfile plus a few secrets, there's nowhere to hide proprietary nonsense. Pull your image, copy your env vars, redeploy elsewhere. Twenty minutes, tops.
The Middle: Friction, But Not Malice
Some hosts made leaving annoying without making it hard. Think database exports buried in a dashboard three clicks deep, or cron jobs that had to be manually recreated because they lived in a vendor-specific scheduler. Nothing was impossible — it just cost an afternoon and a few choice words.
The classic offender: platforms with their own config file formats. Yes, we know you love your YAML. No, we're not going to miss it. Rebuilding that config for the new host added an hour we didn't plan for.
The Bad: Soft Hostage Situations
Two hosts earned genuine side-eye. One charged for database backups on the free tier — meaning the only way to export our data in bulk was to pay for a single month or hand-write a migration script against their rate-limited API. That's not a bug; it's a business model.
The other one dragged its feet on DNS. Our domain was registered through their registrar, and unlocking it plus the transfer took the better part of a week, complete with confirmation emails that landed in spam. If your domain lives with your host, budget serious time for the divorce.
The Takeaway: Shop for the Exit Before the Entrance
Before you commit to any free tier, ask three questions:
- Can I dump my database in a standard format, for free? If not, run.
- Are my env vars and configs portable, or locked to a proprietary format?
- Who owns my domain and DNS records? Keep them separate from your host. Always.
The most honest metric of a hosting company's character isn't how generous its free tier is on day one. It's how gracefully it handles the day you leave. Hosts that make exporting easy are betting you'll stay because you want to. Hosts that make it hard are betting they can keep you anyway.
We know which kind we'd rather build on.