# What you can type Every example below was run through Ratio 0.6 on 15 October 2026. Ratio reads every line as a calculation and shows the answer beside it. Write numbers, units, currencies and dates the way you'd say them. Words it doesn't need, it simply ignores. Results use the 1,234.5 style here. In the app they follow your computer's region. Tax rates and public holidays come from the region in Settings; these examples use Germany (19% VAT). ## Basics and percentages | 2 + 3 * 4 | 14 | | --- | --- | | 2^10 | 1,024 | | sqrt(8) | 2.8284 | | 5! | 120 | | 1/3 + 1/4 | 7/12 | | 20% of 150 | 30 | | 150 + 20% | 180 | | 150 - 10% | 135 | | 50 is what % of 200 | 25% | | 30 is 15% of what | 200 | | change(80, 100) | 25% | ## Variables, line references and totals Name a value with `=`, reuse line 3 with `L3`, and the line above with `prev`. Labels such as “Rent” are skipped, so you can write notes beside the numbers. | price = 1200 | 1,200 | | --- | --- | | discount = 15% | 15% | | price - discount | 1,020 | | L3 * 2 | 2,040 | | prev / 4 | 510 | `sum` and `average` add up the block above them. Tag lines with `#` words to add up only those, anywhere in the sheet. | Rent 1200 #home | 1,200 | | --- | --- | | Internet 40 #home | 40 | | Trip 600 #travel | 600 | | sum #home | 1,240 | To split a bill, put `@` names after what each person had. A line with no names is shared by everyone named in its block. A line that starts with a name shows that person's share, and `split` shows everyone's. More on the [bill splitting calculator](https://useratio.app/bill-splitting-calculator) page. | "Pizza" 12.50 @Ana | 12.5 | | --- | --- | | "Wine" 20 @Ana @Ion | 20 | | "Bread" 3 | 3 | | @Ion + 10% | 12.65 | | split | Ana 24 · Ion 11.5 | A line starting with `#` and a space is a heading. Text in “quotes” is a comment inside a line. ## Currencies and crypto 160+ currencies and major cryptocurrencies, refreshed every hour on the Mac (and when it wakes) and every few hours on Windows and Linux. Without a connection Ratio uses the last rates it downloaded. Results below are from 15 October 2026 and change with the market. | dinner = 84 eur / 3 | €28 | | --- | --- | | dinner in usd | $31.41 | | 100 usd in eur | €89.14 | | 100 EUR in RON | 533.42 RON | | 0.5 btc in usd | $41,058.34 | Add a date for that day's European Central Bank reference rate: | 100 eur in usd on 1 jan 2024 | $110.50 | | --- | --- | Or fix a rate for every line below it, so an invoice reads the same when you open it next month: | 1 eur = 1.08 usd | fixed rate | | --- | --- | | 500 eur in usd | $540.00 | ## Subscriptions Write each price per month, year, week or day: `/month`, `a month` and `monthly` all work. Add `renews` and a date to see when it next comes out of your account. `subscriptions` adds them up per month and per year, in the first one's currency, and names the next renewal. A price per hour is a rate of pay and is left out. | Netflix 15.99 eur a month renews 12th | 15.99 EUR/month · 12 Nov | | --- | --- | | Spotify 10.99 eur monthly | 10.99 EUR/month | | iCloud 2.99 eur/month | 2.99 EUR/month | | Domain 18 eur per year renews 3 mar | 18 EUR/year · 3 Mar 2027 | | subscriptions | 31.47 EUR/month · 377.64 EUR/year · next Netflix 12 Nov | The renewal dates above are from 29 October 2026. `renews 12th` is the 12th of every month; a past date such as `renews 3 mar 2024` moves on to the next one. ## Units 150+ units of length, area, volume, mass, speed, temperature, time, data and more. Use `in` or `to`. | 5 km in mi | 3.11 mi | | --- | --- | | 6 ft in cm | 182.88 cm | | 100 f in c | 37.78 °C | | 3 cups in ml | 709.76 mL | | 60 mph in km/h | 96.56 km/h | | 20 m2 in sq ft | 215.28 ft² | | 1 gb in mb | 1,000 MB | | 1 gib in mib | 1,024 MiB | | 2 h in min | 120 min | ## Dates, countdowns and time zones | 14 oct 2027 - 1 oct 2027 | 13 days | | --- | --- | | 25 dec 2026 + 3 weeks | Fri, 15 Jan 2027 | | Easter 2027 | Sun, 28 Mar 2027 | | Ramadan 2027 | Mon, 8 Feb 2027 | | Chinese New Year 2027 | Sat, 6 Feb 2027 | | Thanksgiving 2026 | Thu, 26 Nov 2026 | | 1h:17m + 20 min | 1 h 37 min | | today + 2 weeks | Thu, 29 Oct 2026 | | in 3 days | Sun, 18 Oct 2026 | | next friday | Fri, 16 Oct 2026 | | days until christmas | 71 days | | until Christmas | 70 days 3 h 20 min | | 15:00 London in Tokyo | Thu 23:00 | | now in New York | Thu 14:39 EDT | | now in unix | 1792089588 | Lines that start with `until` are live countdowns: the result ticks down while the sheet is open. ## Working days and holidays Working days skip weekends and the national public holidays of your region. Add your own days off with a `holidays = […]` line. | 1 mar 2027 + 10 working days | Mon, 15 Mar 2027 | | --- | --- | | workdays between 1 mar 2027 and 31 mar 2027 | 21 | | working days in march 2027 | 21 | | holidays = [24 dec, 31 dec] | | | --- | --- | | 20 dec 2027 + 5 working days | Mon, 27 Dec 2027 | ## VAT, margins and rounding `VAT` is your region's standard rate. `TVA`, `MwSt`, `IVA`, `GST` and `tax` work too, or write the rate after the word. | 1000 + VAT | 1,190 | | --- | --- | | 1190 without VAT | 1,000 | | VAT in 1190 | 190 | | 1000 + VAT 9% | 1,090 | | 80 + 25% margin | 106.6667 | | margin(80, 100) | 20% | | markup(80, 100) | 25% | | 2.675 to 2 decimals | 2.68 | | 12.37 to nearest 0.05 | 12.35 | ## Loans and interest Plain-word forms, plus the spreadsheet functions `pmt`, `fv`, `pv`, `npv` and `irr`. | 10k at 4% for 5 years | 12,166.529 | | --- | --- | | 5000 at 7% for 3 years compounded monthly | 6,164.6279 | | loan 200k at 5% for 30 years | 1,073.6432 | | pmt(5%/12, 360, 200000) | 1,073.6432 | | npv(10%, 100, 200, 300) | 481.5928 | | irr(-1000, 300, 400, 500) | 8.8963% | | amortize 200k at 5% for 30 years | 1,073.6432 | | save 500/month at 7% for 20 years | 260,463.3299 | | cagr(1000, 2500, 5 years) | 20.1124% | | roi(1000, 1500) | 50% | | 5% minus 3% inflation | 1.9417% | | fire 40k/year | 1,000,000 | | break even fixed 5000, price 50, cost 30 | 250 | | depreciate 10000 over 5 years | 2,000 | | ddb(10000, 1000, 5, 1) | 4,000 | `amortize` shows the payment, and hovering it lists each year's interest, principal and balance. `save` adds up a regular deposit; `sln`, `ddb` and `syd` are the spreadsheet depreciation functions. ## Salary and freelancing Take-home pay uses 2026 rules: Romania and Poland by the month (Romania: CAS, CASS, personal deduction, 10% tax; Poland: ZUS, health, PIT, no PPK), Germany (tax class I, no children, no church tax; approximate), France (private-sector employee, one share), the UK (outside Scotland), Ireland (single person, USC and PRSI) and the US (single filer, federal only) by the year. Hover a result for each deduction. The country comes from `in RO`, `in DE`, `in UK`, `in US`, `in PL`, `in IE` or `in FR`, from the currency (lei, zł, £, $), or from your region. `in hourly` and `in daily` divide by this year's working days in your region, 8 hours each. | 5000 gross in RO | 2,981 | | --- | --- | | 3000 net in gross in RO | 5,036 | | 60000 gross in DE | 37,622 | | 50000 gross in UK | 39,519.6 | | 100000 gross in US | 79,180 | | 5000 eur/month in yearly | 60,000 EUR/year | | 1 mar 2027 net 30 | Wed, 31 Mar 2027 | | late fee 1000 at 0.1%/day for 45 days | 45 | | 9:15–17:40 - 45 min | 7 h 40 min | ## Equations and calculus | solve 2x + 3 = 11 | x = 4 | | --- | --- | | solve x^2 - 5x + 6 = 0 | x = 2 or x = 3 | | solve cos(x) = x | x ≈ 0.7391 | | integral(x^2, 0, 3) | 9 | | derivative(x^3, 2) | 12 | `plot sin(x)` or `plot x^2 from -2 to 2` draws a small chart in the sheet. ## Statistics, primes, complex numbers and constants | mean(1, 2, 3, 4) | 2.5 | | --- | --- | | median(1, 3, 2) | 2 | | stdev(2, 4, 4, 4, 5, 5, 7, 9) | 2.1381 | | percentile([3, 7, 9, 12], 90) | 11.1 | | sum([120, 340, 89]) | 549 | | isprime(91) | not prime: 7 × 13 | | isprime(97) | prime | | is 59 prime | prime | | standard deviation of 20, 30 and 40 | 10 | | max of 3 and 4 | 4 | | time to double at 12% | 6.12 years | | years from $100 to $200 at 7% growth every year | 10.24 years | | 100² | 10,000 | | (3 + 4i) * (1 - 2i) | 11 - 2i | | sqrt(-4) | 2i | | c | 299,792,458 m/s | ## Developer maths | 255 in hex | 0xFF | | --- | --- | | 10 in binary | 0b1010 | | 255 in bin 8 bits | 0b11111111 | | -1 in hex u8 | 0xFF | | 300 in u8 | 44 | | 0xF0 & 0x3C | 0x30 | | 1 << 4 | 16 | | #FF8800 in rgb | rgb(255, 136, 0) | | #FF8800 in hsl | hsl(32, 100%, 50%) | | chmod 755 | rwxr-xr-x | | 1920x1080 aspect | 16:9 | | 99.9% uptime | 43 min 50 s | | U+1F600 | 😀 U+1F600 | | 192.168.1.0/24 | 192.168.1.0 – 192.168.1.255 | | 10.0.0.5 in 10.0.0.0/8 | yes | | /24 mask | 255.255.255.0 | | base64 "hello" | aGVsbG8= | | decode base64 aGVsbG8= | hello | | urlencode "a b&c" | a%20b%26c | | sha256 "abc" | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | | uuid | 9b2c7e04-5f1a-4d3e-8c6b-2a7f0e9d1c35 | | 5 GB at 100 Mbps | 6 min 40 s | | 1 TB / 3 h in MB/s | 92.59 MB/s | | 1.2M tokens at $3/M | $3.60 | | $0.0832/h for 30 days | $59.90 | `md5`, `sha1` and `urlencode`/`urldecode` work the same way, and quotes are optional. `uuid` makes a new random UUID that stays put while you edit. `at` divides data by a speed and multiplies a count or a time by its price: `$3/M` is $3 per million. ## Science and engineering | 12 V / 4 ohm | 3 A | | --- | --- | | 10k \|\| 4.7k | 3,197.2789 | | brown black red gold | 1 kΩ ±5% | | 4.7k in colors | yellow violet red | | molar mass H2SO4 | 98.072 g/mol | | 10 g H2O in mol | 0.5551 mol | | det([[1,2],[3,4]]) | -2 | | inverse([[1,2],[3,4]]) | [[-2, 1], [1.5, -0.5]] | | dot([1,2,3],[4,5,6]) | 32 | | grades 9 x3, 7 x2 | 8.2 | | 1234.5 to 3 sig figs | 1,230 | | 4700 ohm in eng | 4.7 kΩ | Matrices also take `transpose`, `trace` and products; `cross` and `norm` work on vectors. `hr zones age 30` gives heart rate zones, and `jet lag London to Tokyo` the time difference. ## Health, home and travel | bmi(80 kg, 180 cm) | 24.7 | | --- | --- | | bmr 80 kg 180 cm 30 years male | 1,780 kcal | | pace 5 km in 27 min | 5:24 /km · 8:41 /mi | | race 10 km in 50 min to marathon | 3:50:01 | | distance between Paris and Rome | 1,105 km | | daylight hours in Reykjavik on Jun 21 | 21 h 8 min | | 1 cm in px @ 326 ppi | 128.35 px | | ppi of 15 inch screen at 2880x1864 | 229 ppi | | paint 40 m2 2 coats | 8 L | | tiles 12 m2 | 13.2 m² | | concrete 2 m3 | 184 | | mortgage 300k with 20% down at 5% for 30 years | 1,288.3719 | | 6.5 l/100km in mpg | 36.19 mpg | | 450 km at 6.5 l/100km | 29.25 L | ## Your own functions Define a function once and it works in every sheet, from then on. `forget f` removes it. | f(x) = x * 1.19 | | | --- | --- | | f(100) | 119 | | area(w, h) = w * h | | | area(3 m, 4 m) | 12 m² | ## Other languages Ratio understands keywords in Romanian, German, French, Spanish, Italian, Japanese, Chinese and Korean as well as English, and you can mix them in one sheet. Japanese, Chinese and Korean need no spaces: 100ドルを円に, 100美元换成人民币 and 100달러를 원으로 all work, and 万, 億, 만 and 억 multiply the number before them. | 5 km în mile | 3.11 mi | | --- | --- | | 1000 + TVA | 1,190 | | 1000 + MwSt | 1,190 | ## In Terminal The `ratio` command uses the same engine as the app. ``` ratio "5 km in mi" 3.11 mi ratio 20% of 150 30 cat budget.txt | ratio -t line = result, then the total ratio --region FR "1000 + VAT" ``` Other options: `--json`, `--csv`, `--explain`, `--vat N`, `--fetch`. Run `ratio --help` for the full list. ## In Claude and other AI assistants `ratio mcp` runs Ratio as an MCP server, so Claude can work out currencies, stock prices, units, working days, VAT and take-home pay with Ratio instead of guessing. It has two tools: `calculate` for one line and `calculate_sheet` for lines that build on each other. Mac only, with Ratio from this website. In Claude Code: ``` claude mcp add --scope user ratio -- /Applications/Ratio.app/Contents/Helpers/ratio mcp ``` In Claude Desktop, open Settings › Developer › Edit Config, add this inside `mcpServers`, then quit and reopen Claude: ``` "ratio": { "command": "/Applications/Ratio.app/Contents/Helpers/ratio", "args": ["mcp"] } ``` Cursor, VS Code and more: [the calculator MCP server page](https://useratio.app/calculator-mcp-server). ## Questions **How do I calculate VAT on a Mac or PC?** Type `1000 + VAT` to add it, `1190 without VAT` to remove it, or `VAT in 1190` to see the tax alone. **Do currencies work offline?** Yes, with the last rates Ratio downloaded. They refresh every hour when you're online. **What if a line shows no result?** Ratio leaves text it can't calculate blank instead of guessing. Check the spelling of units and currency codes, or hover a result to see how it was reached. **How do I count working days between two dates on a Mac or PC?** Type `workdays between 1 mar 2027 and 31 mar 2027` (21 in Germany) or `1 mar 2027 + 10 working days` (Mon, 15 Mar 2027). Ratio skips weekends and your region's public holidays. **How do I convert currencies on a Mac or PC without a browser?** Type `100 usd in eur` in Ratio. Rates for 160+ currencies and major crypto refresh every hour and keep working offline. Add `on 1 jan 2024` for a past day's rate. **Can Ratio solve equations?** Yes. `solve x^2 - 5x + 6 = 0` gives x = 2 or x = 3, and `solve cos(x) = x` gives x ≈ 0.7391. integral(x^2, 0, 3) gives 9. [Try Ratio free for 7 days](https://useratio.app/download) Source: https://useratio.app/docs