Qalculate!
- the ultimate desktop calculator
Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to use but provides power and versatility normally reserved for complicated math packages, as well as useful tools for everyday needs (such as currency conversion and percent calculation). Features include a large library of customizable functions, unit calculations and conversion, physical constants, symbolic calculations (including integrals and equations), arbitrary precision, uncertainty propagation, interval arithmetic, plotting, and a user-friendly interface (Gtk, Qt, and CLI).
Qalculate! is free software, licensed under the GNU Public License v2 (or later).
Latest News
2026-10-05
Qalculate! version 5.13 released
Changes:
- New function: ymd() (returns the number of calendar years, months, and days between two dates)
- Return exact value for more argument values in lambertw() function
- Integrate sqrt(ax + b)/x and 1/(x × sqrt(ax² + bx + c))
- Do not use same "n" variable for different unknown integer values in equation result (e.g. e^e^x = 1)
- Solve e^x = ln(x), a × sin(x) = a × tan(x), and a × sin(x) = −a × tan(x)
- Solve f(x) = f(x²) and f(x) = −f(x²) for trigonometric functions, and exponentiation
- Do not return x = −infinity as solution for a^x = 0
- Fix a = 1 and b = 1 solution for a^x = b when the value of a and b are unknown
- Fix uncertainty propagation with duplicate equal data set functions
- Fix trigonometric functions with function in argument not calculated when angle unit is not radians
- Fix segfaults with deeply recursive expressions, and from unavailable pipe2, on Mac OS
- Fix global variables not initialized properly when a Calculator instance lives in a different translation unit's global scope
- Fix division by zero warning for some expressions with zero quantity (e.g. "1 m × 0 kg")
- Fix inconsistent (over)use of secondary exchanges rate sources
- Fix number of decimals for currency quantity when currency is placed before quantity
- Fix result containing interval with zero as lower value not displayed automatically
- Add option to use underscore as digit group separator (CLI)
- Fix segfault when completion results in a shorter text string, e.g. rho to ρ (CLI)
- Add temporary check box to function edit dialog (Gtk, Qt)
- Fix bookmark removed when deleting history item immediately above (Gtk)
- Fix crashes when adding bookmark to most recent history item (Gtk)
- Preserve base of current expression when switching input number base using keypad buttons (Qt)
- Customizable number bases font (Qt)
- Use slightly larger font size and wider letter spacing for binary digits, and add option to use bold font for binary "1" (Qt)
- Show tooltip with index and decimal value of bit when mouse is over binary digit in number bases view (Qt)
- Insert decimal separator (regardless of reported key symbol) when separator key is pressed on keyboard number pad (Qt)
- Minor bug fixes and feature enhancements
Donate