Ship your single-page app
Build locally, upload the production bundle, and go live on a managed HTTPS subdomain in under a minute.
PocketBase is an open-source backend: SQLite, auth, file storage and realtime subscriptions in one Go binary. We run it in production so you never have to keep a server alive.
The free plan costs nothing. We ask for a card to keep bots out, and never charge it.
MANAGED POCKETBASE, WITHOUT THE LOCK-IN
Collections, auth and file storage are there the moment the instance boots. Nothing to wire together first.
Embedded performant database with schema builder, data validations, realtime subscriptions and an easy to use REST API.
Manage your app users and handle email/password and OAuth2 sign ups (Google, Facebook, GitHub, GitLab) without the hassle.
Safely store files locally or in S3 storage. Easily attach media to your database records and generate thumbs on the fly.
Use as a standalone app OR as a framework you can extend via Go and JavaScript hooks to create your own custom portable backend.
// JavaScript SDK
import PocketBase from 'pocketbase';
const pb = new PocketBase('https://my-pocketbase.pocketbasecloud.com');
// list and search for 'example' collection records
const list = await pb.collection('example').getList(1, 100, {
filter: 'title != "" && created > "2026-01-01"',
sort: '-created,title',
});
// subscribe to realtime changes
pb.collection('example').subscribe('*', (e) => {
console.log(e.record);
});We set it up and keep an eye on it. Your data stays one SQLite file you can download from that dashboard any time you like.

Intercept record events, register custom routes, and schedule cron jobs with JavaScript - running right inside your instance.
onRecordCreateRequest((e) => { e.record.set('slug', slugify(e.record.get('title'))) e.next() }, 'posts')
Stream instance logs in real time to follow requests, hook output, and runtime errors from the dashboard.
routerAdd('GET', '/posts/{slug}', (e) => { return e.json(200, { ok: true }) })
cronAdd('cleanup', '0 2 * * *', () => { $app.logger().info('done') })
The same binary that runs PocketBase on your machine deploys it here and manages it afterwards. Point it at any PocketBase URL and it works there too.
One binary, from npm or curl. No account needed yet.
npm i -g @pocketbasecloud/cliScaffolds pb_hooks/ and pb_migrations/ against a version-pinned PocketBase, so your team runs the same build.
pb init
./pocketbase serveThe same directory, now running on our servers with TLS and a domain already attached.
pb cloud login
pb cloud pb deploypb cloud logs -ftail production logspb cloud env setmanage encrypted secretspb collections lsinspect any instancepb cloud data exportpull your whole database downLeaving is a download. The PocketBase admin hands you a backup of the whole instance, and it restores onto any PocketBase you like. Bringing a self-hosted instance in works the same way.
Host your frontend and server-side code alongside PocketBase. One project, managed HTTPS, and a clear path from upload to live.
Build locally, upload the production bundle, and go live on a managed HTTPS subdomain in under a minute.
Upload your source, install dependencies, and run an isolated backend with real-time stdout and stderr logs.
What developers are saying about PocketBase, in their own words.
Join us on DiscordLately been using PocketBase over AWS/GCP for products to save on costs and rapid builds. Great solution overall.
I finally tried PocketBase today and wow... why did I wait so long? Went from 'how do I even start' to having auth + database + real-time updates working in 20 minutes.
I love everything about PocketBase. It's the best product experience I've had in years.
PocketBase shout out, their DX is awesome. It’s helping me create better row security and telling me best practices for setting up an app.
Very impressed by PocketBase’s growth. For new startups, they seem to have gone from "promising" to "standard" in remarkably short order.
I've always used PocketBase just as a database. Yesterday, I helped debug a founder's project built with React + PocketBase — no backend server needed. Impressive.
We wrote the comparisons ourselves, including the parts where the other option wins.
Database engine, auth, realtime, permissions and extensibility, side by side.
Read the comparisonWhat you actually pay for one project, several projects, storage and bandwidth.
Read the comparisonRate limits, hibernation, and what else you can run alongside your instance.
Read the comparisonPocketBase is an open-source backend with an embedded SQLite database, real-time subscriptions, built-in auth, a dashboard UI, and a simple REST API. PocketBase Cloud is a managed hosting platform built specifically for running PocketBase applications — no server setup required.
Self-hosting requires you to configure servers, manage updates, set up SSL, handle backups, and monitor uptime yourself. PocketBase Cloud handles all of that automatically — so you can focus entirely on building your app.
On the Pro plan ($20/month flat), you get your own dedicated compute (2 vCPU) in a region you choose. Each instance runs in isolation with its own database, credentials, and URL. Because you're paying for the compute — not per instance — you can run effectively unlimited PocketBase instances, backends, and frontends on it.
Each dedicated compute supports effectively unlimited PocketBase instances, backend deployments, and frontends. Additional dedicated computes are coming soon for teams that want extra isolation or scale.
Yes! The Free plan lets you deploy 1 PocketBase instance with frontend hosting at no cost. A Stripe subscription is required to collect payment information and prevent abuse — you won’t be charged.
Any time, and you do not need to ask us. In your instance's PocketBase admin, Settings → Backups gives you a zip of the whole pb_data directory: schema, records and uploaded files. Restore it onto any PocketBase and your app is back. It is the standard PocketBase backup, not an export format of ours. If you would rather stay in the terminal, "pb settings backup download" fetches the same file.
Yes, the same way in reverse. Create a backup in your existing instance's admin under Settings → Backups, then upload and restore it in your PocketBase Cloud instance's admin. Collections, records, users and uploaded files arrive as they were; there is nothing to convert and no field mapping to redo.
Yes! Custom domain support is available on the Starter and Pro plans. Each instance also gets a unique subdomain on pocketbasecloud.com by default.