Official guide · macOS 13+

The InkCalc guide

InkCalc is a notepad calculator: write expressions line by line and results appear on the right. Units, currencies, dates, bases, functions, and line references are all built in — and AI can convert, summarize, or fix your math when you want it to. This page walks through every feature, with examples.

Approx. 15 min read · Last updated 2026-05-14

01Introduction #

InkCalc is a calculation note. Unlike a single-shot scratchpad, it stores notes in folders of .inkcalc files so you can return to the same household budget, mortgage scenario, or trip estimate over time.

  • One expression per line. Newlines separate statements. Empty lines and comments don't affect results.
  • Results appear on the right. The overlay is read-only — copying the source never picks up the results.
  • Plain text files. Notes live on disk as .inkcalc files you can open in Finder.
  • AI is opt-in. AI features only run when you trigger them. Turn them off in Settings and the app makes zero outbound calls.
Requirements

macOS 13 Ventura or later. Apple Silicon and Intel both supported. Apple Intelligence requires a compatible Mac.

02Quick start #

Type these four lines into a fresh note. Results appear instantly to the right.

Monthly comms — household
# Monthly comms
mobile = 85
internet = 65
mobile + internet         # → 150
(mobile + internet) * 12  # → 1,800

Lines starting with # or // are comments. x = ... declares a variable that you can reuse below. That alone turns a calculator into a re-runnable note.

The five-second workflow

  1. Click at the bottom of the sidebar to add a note.
  2. Type one expression per line. Enter advances.
  3. Read results on the right. Errors turn the row red.
  4. Need help? ⌘⇧I writes the expression, ⌘⇧F fixes the error, ⌘⇧M summarizes, ⌘⇧J infers intent.

03Basics: notes & math side by side #

In InkCalc, each line is an independent expression. Every newline triggers re-evaluation, and the result lands in the right gutter. Blank lines and comments are kept for prose; they don't compute (but line numbers stay stable).

Three kinds of line

  • Expression: 1 + 2, 30km in mi. Result on the right.
  • Assignment: x = 5. Stores the value for later lines.
  • Comment: starts with # or //. Pure prose.

The right gutter

Results are rendered as a subtle overlay, so the file stays readable. Copying the text gives you the source you wrote — nothing more.

Input120 + 8%
Shown129.6

04Numbers, bases & bit ops #

Base literals

0xff 0b1010 0o17

Hex, binary, and octal literals are first-class. Mixed-base expressions are evaluated normally; you can choose the display base later.

Bitwise operators

OperatorMeaningExample
&AND0xff & 0x0f15
|OR0b1100 | 0b001115
xorXOR0b1010 xor 0b01100b1100
<< / shlLeft shift1 << 8256
>> / shrRight shift256 >> 264

Base display

Convert the display base with in hex / in binary / in dec.

255 in hex          # → 0xff
10 in binary        # → 0b1010
0xff in dec         # → 255
0b1101 in hex       # → 0xd

05Operators & precedence #

Precedence matches standard math, with natural-language keywords layered on top. From lowest to highest:

LevelOperators / keywordsUsed for
1 (lowest)in / to / asUnit and base conversion
2|Bitwise OR
3xorBitwise XOR
4&Bitwise AND
5<< >> shl shrShifts
6+ -Additive
7* / × ÷ modMultiplicative & modulo
8of20% of 100
9^Power (right-associative)
10Unary - +Sign
11 (highest)Unit / %Postfix forms

Full-width × / ÷ and the Unicode minus (U+2212) are accepted everywhere the ASCII forms are, so non-Latin input methods don't trip you up.

06Units #

Attach a unit and the value becomes a quantity. Quantities in the same category convert automatically.

CategoryUnits
Lengthmm cm m km inch ft yd mi
Massmg g kg t lb oz
Timems s min h day week year
Databit byte KB MB GB TB KiB MiB GiB TiB
Volumeml l gal cup pint
TemperatureC F K (°C / °F accepted)

Conversion keywords

in, to, and as are interchangeable. Use whichever reads best.

5 km in miles        # → 3.107 mi
1 kg as lb           # → 2.2046 lb
2 GB to MB           # → 2,000 MB
100 C in F           # → 212 °F
30 min + 45 s        # → 30.75 min
Note

Data sizes distinguish decimal (KB/MB/GB) from binary (KiB/MiB/GiB) — handy when storage vs memory matters.

07Currency #

Currency works like any other unit. Exchange rates are fetched on launch and refreshed periodically, so conversions are live.

Supported currencies

USD EUR JPY GBP CHF CAD AUD CNY KRW INR HKD SGD NZD SEK NOK DKK

Symbols & prefixes

$ ¥ £ can be used inline. $200 means 200 USD.

100 USD in JPY            # rate-dependent
$50 + €30 in JPY          # cross-currency, normalized then summed
1500 JPY as USD           # → ~9.85 USD
sum(100 USD, 50 EUR) in JPY
Heads-up

When offline, the last cached rate is used. Verify connectivity before critical calculations. A subscription provides reliable rate refresh.

08Percent #

The % postfix becomes a ratio at evaluation time, but it behaves intuitively: adds and subtracts as a delta, multiplies as a fraction. That lets you write tax and discount math in plain language.

PatternMeaningExample
X + N%X increased by N%1000 + 10%1100
X - N%X decreased by N%1000 - 20%800
X * N%N% of X200 * 15%30
N% of XN% of X20% of 25050
X / Y * 100%Ratio as percent30 / 200 * 100%15%

09Dates & time #

Literals

ISO dates (YYYY-MM-DD) plus English keywords.

2025-04-25 today now tomorrow yesterday

Arithmetic

You can add or subtract a time quantity (days, weeks, year, …) to/from a date. Subtracting two dates yields a quantity in days.

2025-04-25 + 7 days       # → 2025-05-02
today + 30 days           # 30 days from today
2025-05-02 - 2025-04-25   # → 7 days
tomorrow - today          # → 1 day
Use cases

Renewal dates, deadlines, billing cycles — anything where you ask "what's the date X days from Y?".

10Functions & constants #

Constants

NameValue
pi / ππ
eEuler's number
tau

Functions

CategoryFunctions
Arithmeticsqrt abs round floor ceil trunc sign
Exp / logexp ln log log2
Trigsin cos tan asin acos atan
Stats (variadic)sum min max avg
sqrt(2)               # → 1.4142
sin(pi / 2)           # → 1
log(1000)             # → 3
avg(85, 92, 78, 90)   # → 86.25

Functions also apply to quantities (except units with offsets, like temperature). For example, round(1.7 kg)2 kg.

11Line refs & aggregates #

Reference other lines and your note becomes a lightweight spreadsheet.

Single refs

  • ans — result of the previous line.
  • line1, line2, … — result of the given line number.

Range aggregates

"Aggregate every line above this one." Blank lines, comments, and the previous aggregate row are skipped automatically.

ModifierMeaning
sum aboveSum of values above
avg aboveAverage
min above / max aboveMin / max
count aboveCount
totalAlias for sum above
April spend
100 + 200           # → 300
ans * 1.1           # → 330
500                 # → 500
sum above           # → 1,130
avg above           # → 376.7

12Variables & comments #

name = expression declares a variable. Re-assign at any point and lines below pick up the new value.

tax = 10%
price = 1980
price + price * tax     # → 2,178

# Update the rate and the totals re-flow.
tax = 8%
price + price * tax     # → 2,138.4

Comments

Anything after # or // on a line is a comment. Pairs especially well with intent inference (⌘⇧J) — a question-mark comment expands into a real expression.

# Total monthly comms?   ← ⌘⇧J asks AI to fill in below
mobile + internet        # AI inserts this row

13AI shortcuts #

InkCalc ships four AI shortcuts, all opt-in. Each sends only the minimum context required and runs only when you trigger it.

I
Natural language → expression
Turn "Tokyo–Osaka shinkansen round trip × 4 people" into a real expression.
F
Fix the error
Ask AI to propose a fix for the first error row, with a diff to confirm.
M
Summarize note
Reads the note and results, produces a 1–3 sentence summary you can paste.
J
Infer intent
From a # …? comment, AI produces an aggregating expression underneath.

⌘⇧I — Natural language → expression

Type plain language on a row and press ⌘⇧I. A sheet opens with the AI-built expression; Replace swaps it in, or close to keep your original.

InputTokyo–Osaka shinkansen round trip × 4 people
AI suggestion14000 * 2 * 4 = 112,000

⌘⇧F — Fix the error

If a row goes red (e.g. (1 + 2 * 3), hit ⌘⇧F. AI proposes a corrected line with a side-by-side diff so you can apply with one click.

⌘⇧M — Summarize the note

Useful when notes get long. AI reads the source and computed results, then produces a sentence or three you can paste into a doc, chat, or daily log.

⌘⇧J — Infer intent

Write a question comment like # Total monthly comms? and press ⌘⇧J. AI scans the note, picks the relevant rows, and inserts an aggregating expression right under the question. You don't write the formula — the note answers itself.

Privacy

Only the minimum required context is sent — never your filenames or other notes. See the privacy policy for details.

14Choosing an AI backend #

Three backends are available in Settings → AI. API keys are stored in the macOS Keychain.

BackendWhere it runsSetupPick when
Apple Intelligence (default) On-device + Private Cloud Compute No keys; compatible Mac required You want minimal data egress / offline use
Anthropic Claude Cloud API Anthropic API key (Keychain) Highest quality natural-language & Japanese
OpenAI ChatGPT Cloud API OpenAI API key (Keychain) You already have OpenAI infrastructure
Recommendation

Start with Apple Intelligence — no egress, fast on supported hardware. Switch to Claude or OpenAI when you need stronger language modeling.

15Workspace & iCloud #

Notes are stored as .inkcalc files under a workspace folder you choose. Local or iCloud Drive — both are fine.

First-time setup

  1. Open the sidebar folder picker → "Open workspace…".
  2. Pick any folder via the macOS open panel.
  3. Use at the bottom of the sidebar to add notes inside it.

iCloud Drive sync

Point the workspace at an iCloud Drive folder and your notes follow you across Macs. InkCalc uses NSFileCoordinator + NSFilePresenter for safe concurrent writes and external-edit detection.

Heads-up

Editing the same file on two Macs at the same time can produce an iCloud conflict copy. InkCalc detects external changes and reloads, but it's safest to edit one device at a time.

17Export #

From the status bar you can export as Markdown or CSV. Markdown is great for reports, CSV for downstream spreadsheets.

Markdown

# Monthly comms

```
mobile = 85              # 85
internet = 65            # 65
mobile + internet        # 150
(mobile + internet) * 12 # 1800
```

CSV

line,expression,result
1,"mobile = 85",85
2,"internet = 65",65
3,"mobile + internet",150
4,"(mobile + internet) * 12",1800

18Settings #

Open with InkCalc → Settings… or ⌘,.

Display

  • Language: English / Japanese / system. Switches without restart.
  • Font size: editor body size.
  • Decimal places: precision of the result overlay.
  • Theme: dark (additional themes planned).

Window

  • Menu-bar mode
  • Dock icon visibility
  • Always-on-top

AI

  • Backend: Apple Intelligence / Claude / OpenAI.
  • API key: Keychain (Claude / OpenAI only).
  • Enable AI: turn it off and the shortcuts make zero outbound calls.

19Subscription #

InkCalc is delivered as a subscription covering reliable FX rates, AI features, iCloud sync, and ongoing updates.

Buying

  1. The paywall appears on first launch or from Settings → Subscription.
  2. Pick "Start free trial" (if eligible) or "Subscribe".
  3. Confirm with your Apple ID via the StoreKit sheet.

Managing & cancelling

Use App Store → Subscriptions to manage or cancel at any time. Features stay enabled until the period ends, then the paywall takes over automatically.

Restoring

After reinstalling or migrating, tap Restore purchases on the paywall to reload your Apple ID's entitlement.

Pricing & terms

Localized pricing is shown on the paywall. Terms: Apple Standard EULA. Privacy: privacy policy.

20Keyboard reference #

KeysAction
NNew note
SSave (autosave is on)
,Open settings
IAI: natural language → expression
FAI: fix error
MAI: summarize
JAI: infer intent
WClose window (hides in menu-bar mode)
QQuit InkCalc

21FAQ #

Where are notes stored?

Under the workspace folder you picked, as .inkcalc plain-text files. You can open them in any editor and back them up like any other text file.

Do I have to use AI?

No. Every AI feature is opt-in; with AI disabled, the app makes no outbound calls. Units, currencies, bases, line refs — all the core features work without AI.

Are API keys safe?

Yes. Claude / OpenAI keys go into the macOS Keychain under the service name jp.inkcalc.app.ai. They never live in files or UserDefaults.

Can I use it without a subscription?

The App Store download is free and the paywall appears on first launch. Eligible Apple IDs can start a free trial.

Can I sync without iCloud?

Yes — point the workspace at a Dropbox / Google Drive / OneDrive folder. Conflict behavior depends on the service.

Is there an iPad / iPhone app?

Not yet. It's on the roadmap and prioritized highly.

How often are FX rates refreshed?

On launch and periodically while running. Offline, the last cached rate is used.

Is there a limit on variables?

No practical limit. Variables are scoped per note, so different notes don't interfere.

Still stuck?

Reach out on X (@InkCalc) — feedback is genuinely welcome.