A notepad that does the math.
Type text and numbers naturally, and see the answers line by line.
Docs ยท Syntax ยท Glossary ยท Units ยท For LLMs
Reckon is a free, open-source take on notepad calculators like Numi and Soulver. It runs in any browser, installs as an app, works offline, and keeps your notes on your own device.
Available now
- Answers as you type, aligned beside each line. Click an answer, or press โ/Ctrl โง C, to copy it.
- Natural syntax:
20% of 50,10% off 80,5 as % of 20,3 apples + 2 apples - Variables and references:
hourly rate = 85,prev,line3,sum,avg,count,min,max - Units:
5 km in miles,60 mph in km/h,6 ft 2 in in cm,72 ยฐF in ยฐC,1 GiB in MB,2 cups in ml, CSS12pt in px - Currencies and crypto:
$30 in EUR,โฌ20 + $5,0.01 BTC in USD, with rates cached for offline use - Units that cancel:
hourly rate = $85/h, then12.5 h ร hourly rateis$1,062.50 - Dates and time zones:
today + 2 weeks,days until Dec 25,next friday at 3pm,3pm PST in London,time in Tokyo - Conditions and comparisons:
if total > $100 then 10% off total else total,5 km > 3 miles,and/or/not, bitwise& | xor << >> - Your own functions and units:
tip(bill, rate) = bill ร rate,1 sprint = 2 weeks, even a metric1 cup = 250 ml - Precise decimals:
0.1 + 0.2is0.3, not0.30000000000000004 - Many notes with search, pinning, trash and undo
- Share links: the note is compressed into the URL itself, so no server ever sees it
- Export with answers as aligned text, Markdown tables or a printable web page
- Backup and restore as JSON, plus import of
.txtand.mdfiles - Syncs between open tabs and works offline once loaded
- Command palette (โ/Ctrl K), autocomplete for variables, units and functions, and a row of math keys above the phone keyboard
- Settings: theme, font size, number format, decimal places, angle unit, and a switch that turns off all network requests
- Light and dark themes, a phone layout, and screen reader support
For developers and AI (see the docs)
- Links that open a note:
โฆ/reckon/#/new?text=<percent-encoded note>, easy for any LLM or script to write - engine.js: the calculation engine as one ES module,
evaluate(note)in Node, Deno or a browser - llms.txt, a prompt that makes any chat assistant answer with a clickable Reckon link, and an agent skill
| What | Examples |
|---|---|
| Numbers | 1,000 ยท 1_000 ยท 1.5e3 ยท 1.5k ยท 2M ยท 3bn ยท 2 million ยท 0xFF ยท 0b1010 ยท ยฝ |
| Operators | + - * / ^ mod ! ยท ร รท โ ยท plus, times, divided by ยท 3 x 4 ยท 2(3 + 4) ยท 2pi |
| Percentages | 20% of 50 ยท 50 + 10% ยท 10% off 50 ยท 10% on 50 ยท 5 as % of 20 ยท 5 is what % of 20 ยท 20% of what is 5 |
| Variables | rent = 1,200 ยท multi-word names: monthly rent * 12 |
| References | prev / ans (last answer) ยท line3 (answer on line 3) |
| Totals | sum / total ยท avg ยท count ยท min ยท max (each covers the lines since the last heading or blank line) |
| Functions | sqrt ยท cbrt ยท root(x, n) ยท round(x, 2) ยท floor ยท ceil ยท abs ยท sin / cos / tan (degrees) ยท log ยท ln ยท exp ยท fact |
| Constants | pi / ฯ ยท e ยท tau ยท phi |
| Output formats | 255 in hex ยท 10 in binary ยท 8 as oct ยท 1500 in sci |
| Units | 5 km in miles ยท 1 m + 20 cm ยท 60 km/h in m/s ยท 3 m ร 4 m ยท sqrt(16 mยฒ) ยท 1/2 cup ยท 5' 10" ยท 1 h 30 min ยท 100 ยฐC in ยฐF ยท 1 GB in MiB ยท 24px in pt |
| Dates | today ยท tomorrow at 9am ยท next friday ยท Dec 25 ยท 2026-07-04 ยท today + 2 weeks ยท Jan 31 + 1 month ยท Dec 25 - today ยท days until Dec 25 ยท 3 days ago ยท in 45 min |
| Times and zones | 3pm ยท 15:45 ยท noon ยท 3pm + 90 min ยท 5pm - 3pm ยท now in Tokyo ยท time in New York ยท 3pm PST in London ยท 9:00 EST to CET ยท 3pm in UTC+5:30 |
| Currency | $30 ยท โฌ20 + $5 ยท 100 GBP to yen ยท 20 canadian dollars in USD ยท 0.5 BTC in USD ยท 100k sats in USD ยท $85/h ร 37.5 h |
| Structure | # Heading ยท // comment ยท label: 42 (text before a colon is ignored) |
A line Reckon can't make sense of shows no answer, never a wrong one.
| Shortcut | Action |
|---|---|
| โ/Ctrl K | Command palette: every action, plus jump to any note |
| โ/Ctrl โง C | Copy the answer on the current line |
| โ/Ctrl / | Comment or uncomment lines |
| โ/Ctrl F | Find and replace |
| Tab | Accept an autocomplete suggestion (Ctrl Space to ask for one) |
| ? | Show all shortcuts (also the keyboard button in the notes list) |
- Notes are stored in your browser (IndexedDB). There are no accounts, no servers and no analytics.
- The only network requests fetch exchange rates (open.er-api.com, falling back to Frankfurter; CoinGecko only if a note mentions crypto). They never include your notes, and you can turn them off in Settings.
- Clearing site data deletes your notes, so use Export all notes (sidebar footer) for a backup.
- A share link holds the whole note in the part of the URL after
#, which browsers never send to a server.
Requires Node 22+.
npm install
npm run dev # http://localhost:5173/reckon/
npm test # unit and golden tests (Vitest)
npm run test:e2e # browser tests (Playwright, desktop and mobile)
npm run lint && npm run typecheck
npm run screenshots # regenerate the README screenshots
node scripts/smoke-engine.mjs # check dist/engine.js after a buildEvery push to main runs CI and deploys to GitHub Pages.
- CHANGELOG.md lists what changed in each version.
- PLAN.md has the product spec, full syntax reference and roadmap.
- AGENTS.md covers project structure, conventions and how-to recipes (adding a unit, a function, or new syntax).
Built with TypeScript, Vite, CodeMirror 6, decimal.js, Temporal (with temporal-polyfill), IndexedDB (via idb) and vite-plugin-pwa. Exchange rates
come from ExchangeRate-API, Frankfurter and
CoinGecko.
Reckon builds on ideas from these notepad calculators. Details come from each project's site or repo as of October 2026. "See site" means we didn't confirm the detail.
| App | Platforms | Open source | Price | Ideas Reckon borrows |
|---|---|---|---|---|
| Reckon | Any browser; installable PWA | โ MIT | Free | Works offline, stores everything locally, shares notes by link |
| Numi | macOS, Windows, Linux CLI, Alfred | CLI only (repo) | See site | Natural phrases ($20 in euro - 5% discount), # headers, prev/sum/avg, CSS units, JS extensions |
| numbr | Web, Chrome extension | โ (repo) | Free | TypeScript parser/evaluator split, share by URL, k/M suffixes, ignores surrounding text |
| Soulver | macOS, iOS, iPadOS | โ | Paid | Live line references, subtotals and totals, multi-word variables, percentage phrasing, calendar math |
| Parsify | macOS, Windows, web | โ | Free (5 lines) or โฌ30 one-time | Over 200 currencies with hourly rates, time zones, plugins, theming |
| Notes Calculator | Mac, Windows, Linux, iOS, Android, web | โ | One free note; lifetime purchase for more | Large-number shorthand, hex/binary, conditionals, offline-first |
| Antinote | macOS | โ | See site | Scratchpad feel, sum/average/count, reactive variables, local-only privacy |
| Calcator | macOS, Windows, Linux | See site | Free | Variable autocomplete, multi-cursor editing, number-format settings, tabs |
| Ganaka | macOS 14+ | โ | Free | $1/$last line refs, min/max/count, Unicode ร รท โ, tabbed workspaces |
| Figr | See site | See site | See site | The minimal notepad-calculator framing |
Thanks to all of them for the inspiration. The project plan has a longer breakdown, including what Reckon avoids.
Reckon is released under the MIT License. ยฉ 2026 Sam Parmar.