Numi: A Natural-Language Calculator for macOS, Windows and the Terminal
Beautiful calculator app for macOS, Linux & Windows
At a glance
- What is it?
- Numi turns plain phrases like "$20 in euro - 5% discount" into answers, with a desktop app and a separate CLI. Here is what the repository actually ships, how to install the terminal version, and where the feature set stops.
- Who is it for?
- Adopt Numi if you want a scratchpad calculator that reads phrases instead of a strict expression syntax, and if you live on macOS or Windows or in a shell. Do not adopt it if you need timezone conversion, variables, plugins or CSS units, all of which the README lists as not yet implemented in the terminal version, or if you need an Android build, which the repository does not provide.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 73 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Numi solves, and who it is built for
Most calculators make you translate a question into a formal expression. Numi goes the other way: you type the question the way you would say it, and the app parses it. The README's own examples are `$20 in euro - 5% discount` and `today + 2 weeks`. That is the whole proposition. It is a scratchpad for people who do quick arithmetic with units, currencies and percentages attached, and who would rather write "20 inches in cm" than look up a conversion factor.
The repository is organised around three delivery surfaces rather than one product. The desktop app is the primary one, distributed as a DMG for macOS and an installer for Windows. The terminal version, numi-cli, is a separate binary with its own release cadence and its own version numbers. An Alfred workflow sits in the alfred/ directory and depends on the terminal version being installed. If you only ever want the GUI, the CLI is still worth knowing about because the Alfred extension requires it.
The audience is narrow and that is a feature, not a defect. This is not a spreadsheet, not a programming REPL, and not a unit-conversion library you import. It is an interactive tool for one person doing one calculation at a time.
How the desktop app and the CLI differ in what they can evaluate
The README is unusually direct about the gap between the two surfaces. It states that most features of Numi for macOS are supported in the terminal, then lists what has not yet been implemented: timezone conversion, CSS, variables, and plugins/extensions. Three other items in that list, localization support, tokens (sum, prev, avg) and dates, are struck through in the README, which in Markdown convention means they have since been implemented. So the honest reading is that dates and the sum/prev/avg tokens work in the CLI now, while timezone conversion, CSS units, variables and the plugin system do not.
That distinction matters more than it first appears. Variables and plugins are the two features that turn a calculator into something extensible. A user who wants to define a rate once and reuse it across a session, or who wants to add a custom unit, is working against the CLI's current boundary. The desktop app is where that extensibility lives, and the plugins/ directory at the top level of the repository is the artifact of that design.
The CLI release history also shows a slower cadence than the desktop app. The most recent CLI release listed is cli-v0.18.0 from 2026-02-20, while the macOS app reached mac-3.34 on 2026-07-19. Feature parity is a moving target, and the version numbers tell you which surface is being pushed.
Installing numi-cli and running a first expression
The README gives a single shell command for the terminal version and notes that the same command is used to update the binary. It pipes a script from s.numi.app into sh:
curl -sSL https://s.numi.app/cli | shPiping a remote script into a shell is convenient and also means you are trusting whatever that endpoint serves at the moment you run it. If you would rather not do that, the README offers a Homebrew tap as an alternative:
brew install nikolaeu/numi/numi-cliOnce installed, the binary is invoked as numi-cli with the expression as a single quoted argument. The README's example:
numi-cli "20 inches in cm"You should get the converted value back on stdout. The quoting is not decorative: the expression contains spaces, so the shell needs to see it as one argument. The same form works for the README's other examples, such as a currency expression with a percentage applied, or a date offset like `today + 2 weeks`.
For the graphical app, the README points at the project website and the GitHub releases page. The macOS build is distributed as a DMG and the Windows build as an installer, both linked from cdn.numi.app. The Alfred workflow is a separate download and, per the README, requires the terminal version to be installed first.
Where Numi stops being the right tool
The most concrete limitation is the one the README states itself: timezone conversion is not implemented in the terminal version. If your work involves scheduling across regions, the CLI will not carry it, and the README does not document a workaround.
The second is the absence of variables and plugins in the CLI. Without variables, every expression has to be self-contained. You cannot set a discount rate once and apply it to a list of prices. Without plugins, you cannot extend the unit set. Both of these are listed as supported in the macOS app, so the limitation is specific to the terminal surface rather than to Numi as a whole.
There is a third boundary that the README implies rather than states. The CLI list of unimplemented features includes CSS, which in the desktop app means CSS-style values such as colors and lengths. A developer who wanted to use Numi as a quick CSS value calculator in a shell will not get that from numi-cli today.
Finally, the search interest around an Android build has no answer in this repository. The README documents macOS and Windows desktop builds and a terminal binary. No Android artifact appears in the installation section or the release list.
Numi against Soulver: same idea, different packaging
Soulver is the comparison people search for, and the two tools start from the same premise: a notepad-style calculator that reads natural language rather than a formula grammar. The difference is in what surrounds the parser.
Soulver is a Mac-first product built around a document model, where the calculation lives in a sheet you keep and edit over time. Numi's README frames the desktop app as a calculator app for macOS with a Windows build alongside it, and the repository ships a terminal binary and an Alfred extension as first-class parts of the project. That makes Numi's centre of gravity the single-shot query: you invoke it, get an answer, move on. The CLI and the Alfred workflow exist to shorten that loop.
The trade-off runs the other way too. A document-style tool accumulates context between calculations, which is exactly what Numi's CLI cannot do without variables. If your work is a running sheet of related numbers, Numi's terminal surface will feel like it resets after every command. If your work is a stream of one-off conversions, the CLI's speed is the point.
A second alternative is simply the calculator already on your system. It will not parse "20 inches in cm", but it also has no install step, no binary to update and no gap between a desktop and a terminal feature set.
Licence, maintenance and the cost of keeping up
The repository is licensed under MIT, with the licence text in license.txt at the top level. MIT is permissive: it allows use, modification and redistribution with the copyright notice and permission notice retained. That is a statement about the licence file, not legal advice about your situation.
The repository is not archived, and the last push was on 2026-07-19. That date coincides with the mac-3.34 release, so the most recent activity in the repository is a desktop release rather than CLI work. The CLI's latest listed release, cli-v0.18.0, is from 2026-02-20, roughly five months earlier. If you depend on numi-cli, budget for the possibility that fixes and features land in the desktop app first.
Upgrade cost is low by design. The install command doubles as the update command for the terminal binary, so refreshing is one line. The desktop app is a download from the project's CDN or the releases page, and the changelog.md at the top level is where release notes accumulate. The real cost is not the upgrade itself but the parity gap: every time you reach for a feature the CLI has not implemented, you either switch to the desktop app or do the work by hand.
Editorial conclusion
Adopt Numi if you want a scratchpad calculator that reads phrases instead of a strict expression syntax, and if you live on macOS or Windows or in a shell. Do not adopt it if you need timezone conversion, variables, plugins or CSS units, all of which the README lists as not yet implemented in the terminal version, or if you need an Android build, which the repository does not provide. Before relying on it, verify which of the listed gaps apply to your workflow and check the changelog for the release you install.
Frequently asked questions
How do I install the Numi terminal version?
The README gives a shell command that pipes a script from s.numi.app into sh, and notes the same command updates the binary. Homebrew users can run brew install nikolaeu/numi/numi-cli instead.
Is Numi free to use?
The repository is licensed under MIT, with the licence text in license.txt. That covers the source in this repository; the README does not state pricing for the desktop downloads it links to.
Which features are missing from numi-cli compared with the macOS app?
The README lists timezone conversion, CSS, variables, and plugins/extensions as not yet implemented in the terminal version. Localization support, tokens (sum, prev, avg) and dates appear struck through in that list, indicating they have since been added.
Does Numi run on Windows?
Yes. The README links a Windows installer from cdn.numi.app alongside the macOS DMG, and the project description covers macOS, Linux and Windows.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/nikolaeu-numi)