Overview
Most budgeting apps want to hold your money hostage. Not literally—but they want your transaction history, your account credentials, your spending psyche, all humming away on a server you’ll never see, monetized in ways you’ll never fully understand. Actual Budget takes the opposite bet. Built by developer Halim Ozturk and shepherded by a genuinely active open-source community, Actual is a local-first personal finance application that keeps your financial life on your own devices and syncs it quietly in the background. No ads. No subscription. No data broker sitting between you and your checking account.
The philosophy here is envelope budgeting, also called zero-based budgeting—the discipline where every incoming dollar gets an assignment before you spend it. Rent, groceries, that streaming service you forgot to cancel: each gets a category, each gets a number, and the leftover pool shrinks to zero. If this sounds like YNAB (You Need A Budget), that’s not a coincidence. Actual is the app the self-hosting crowd reaches for when YNAB’s annual subscription starts to sting.
Its market position is specific and unapologetic. This is software for people who read the words “local-first data ownership” and felt something. It’s for the privacy-conscious, the tinkerers, the folks who already run a home server and consider “self-hosted” a feature rather than a chore. Actual ships as desktop apps for Windows, macOS, and Linux, lives in the Microsoft Store, and reaches phones through a Progressive Web App you install to your home screen. That last part matters enormously on iOS, and we’ll get to why. For now, understand the trade: Actual offers speed, privacy, and control, and in return it asks you to actually run the thing. That’s a bargain that thrills a certain kind of user and quietly repels everyone else.
Key features
- Envelope (Zero-Based) Budgeting: The core engine. Assign every dollar a job across category-based monthly budgets, with rollover so unspent funds carry forward instead of vanishing. It’s a real methodology, not a gimmick.
- Local-First Data Ownership: Your data lives on your devices and syncs in the background. The app is built to work fully offline, with optional end-to-end encryption for anyone who wants their numbers unreadable even to their own sync server.
- Automated Bank Syncing: Connections through SimpleFIN (US/Canada) and GoCardless (EU/UK), plus manual import via CSV, QIF, and OFX for everyone else and every stubborn credit union.
- Power-User Automation: Rules for auto-categorizing transactions, scheduled transactions, split transactions, transfers, and custom reports that go well beyond the pie-chart theater most apps stop at.
- Free and Fully Open-Source: No tiers, no upsells. The community contributes features and self-hosted deployments, and you can read every line if you’re so inclined.
Analysis
The Budgeting Loop
Actual lives or dies on its core loop, and the loop is well designed. You bring money in. You assign it. You spend against those assignments. At month’s end, you reconcile and roll the survivors forward. Done well, this creates the single most useful feeling in personal finance: knowing, at a glance, whether a purchase is allowed. Not whether you have the money in the account—whether the money has a job that isn’t this.
Actual implements this with clarity. The budget table is the heart of the app, and it’s dense with information without feeling hostile. Categories stack into groups. Each shows what’s budgeted, what’s spent, and what’s left. Overspend a category and the damage is visible immediately, bleeding into the next month unless you cover it. This is the discipline of envelope budgeting, and Actual refuses to soften it. That’s the right call. A budgeting app that lets you ignore overspending isn’t a budgeting app; it’s a diary.
Onboarding Friction Is Real
Here’s the honest part. The learning curve is steep. Zero-based budgeting is a mental model, not a button, and Actual does relatively little hand-holding to get you there. If you’ve never assigned every dollar a purpose, the first week feels less like using an app and more like taking a course. The interface assumes you already understand the philosophy. Newcomers will bounce off the concept of “budgeting money you already have” versus “budgeting your paycheck,” a distinction that trips up even experienced YNAB refugees.
Then there’s the sync problem, which is really an infrastructure problem. Multi-device sync doesn’t happen by magic. You either run Actual Server yourself—Docker, a Raspberry Pi, a cheap VPS, take your pick—or you lean on a hosted option. For the target audience, standing up a server is a Saturday afternoon and a point of pride. For a normal person who just wants their phone and laptop to agree on how much they spent on lunch, it’s a wall. Actual doesn’t pretend otherwise, but it also doesn’t lower the wall.
Automation That Actually Earns Its Name
Where Actual rewards patience is in its rules engine. Once your transactions start flowing—via SimpleFIN, GoCardless, or a monthly CSV dump—you can teach the app to categorize them automatically. Payee contains “Kroger,” assign to Groceries. Amount matches your rent, split it across categories, tag the transfer. Set up correctly, this turns budgeting from a nightly chore into a quick weekly review. Scheduled transactions handle the predictable stuff—rent, salary, subscriptions—so your budget reflects the future, not just the past.
The bank syncing deserves a fair hearing. SimpleFIN and GoCardless are competent, but they’re not the frictionless aggregation of a Plaid-powered commercial app, and the design accepts that trade. Some banks cooperate grudgingly with these services. And in regions served by neither, you’re back to manual import, which works but turns budgeting into a maintenance task. This is the cost of privacy and independence: you’re not renting Mint’s convenience, so you inherit some of the plumbing.
The Reports Are Quietly Strong
Don’t overlook the custom reports. Most free budgeting tools give you a spending pie chart and call it insight. Actual lets you build real views—net worth over time, category trends, cash flow—that reward the user who’s willing to configure them. It’s the same pattern as everything else here: more effort in, more value out.
Visuals & performance
Speed is the design’s central promise, and the architecture is built to deliver it. Because Actual is local-first, there’s no spinner-and-pray latency waiting on a server to return your own transactions—everything renders from data already on the device. A 2D, table-driven finance tool of this scope is light on hardware, and the design leans into that: the goal is spreadsheet-grade responsiveness, which for a finance tool is exactly the right instinct.
The aesthetic is functional-modern—clean, restrained, information-dense. This is not a beautiful app in the way a boutique iOS design darling is beautiful. It’s a legible app. Tables dominate. Color is used sparingly and purposefully, mostly to flag overspending and available funds. Dark mode is present. Nobody will screenshot Actual for a design blog, but nobody opens a budgeting app for delight. They open it to answer a question, and Actual is built to answer fast.
The PWA is the soft underbelly on mobile. A web app’s performance depends on the browser’s resource management and the state of its connections, and the design accepts that variability rather than engineering around it.
Platform nuances
Now the part iOS users need to hear plainly: Actual has no native iOS app. The team discontinued its official native mobile apps in favor of the Progressive Web App, and on Apple’s platform that decision carries specific consequences.
You install Actual by opening it in Safari and tapping “Add to Home Screen.” From there it runs in a chrome-less window, doing a passable impression of a real app. But it’s still a web app running inside WebKit, and iOS treats PWAs as second-class citizens. Notifications are limited. Background sync is at the mercy of Safari’s aggressive resource management—leave the app alone long enough and iOS may quietly evict its cached state, forcing a reload. There’s no native share-sheet integration for capturing a receipt, none of the polish iPhone users are conditioned to expect.
Touch ergonomics are the other tax. Actual’s interface was born on desktop, and it shows. The dense budget table—glorious with a mouse and keyboard—becomes a target-acquisition exercise on a small screen. Tapping into the right category, editing a value, scrubbing across columns: all doable, none joyful. The responsive design makes an effort, and for quick transaction entry on the go it’s serviceable. But if your primary device is an iPhone and you want a first-class mobile budgeting experience, Actual will feel like a compromise every single day. It’s a companion to your desktop, not a replacement for it.
Final verdict
Actual Budget is one of the most principled pieces of consumer finance software around, and that’s precisely why it’s not for everyone. It’s fast by design because it respects your device. It’s private because it respects your data. It’s free because someone decided budgeting shouldn’t be a rent you pay forever. Those are real virtues, and the personal-finance community’s warm reception is understandable.
But virtue has a price, and here it’s paid in effort. You have to learn the methodology. You have to run the sync. On iOS specifically, you have to accept a Progressive Web App where a native experience should be, with all the WebKit compromises that entails. Actual doesn’t hide any of this—it just declines to fix it for you. For the right person, that’s liberation. For the wrong one, it’s a weekend project that never ends. We recommend it to the right audience only, and judging yourself honestly before you install is part of the deal: Actual has already decided what it is—a capable tool that trusts you to do the work.
Reviewed by the Rankeno Productivity Desk. Scores are out of 10; the overall score is the desk’s editorial judgement, informed by the four sub-scores above. How we review