This is the abridged developer documentation for Hissab # Api # API [Section titled “API”](#api) Coming Soon. # Home # Docs [Section titled “Docs”](#docs) # FAQs ## General [Section titled “General”](#general) ### What is Hissab? [Section titled “What is Hissab?”](#what-is-hissab) > Hissab is a calculator app where you can type your calculations and get results instantly. It uses an intuitive syntax and AI. It can perform wide range of calculations. ### Who is Hissab for? [Section titled “Who is Hissab for?”](#who-is-hissab-for) > Hissab is designed to be a general purpose calculator app. Its capabilities range from simple calculations to advanced computations. Thus, Hissab is useful for everyone including students and professionals. ### What is Hissab classic? [Section titled “What is Hissab classic?”](#what-is-hissab-classic) > Hissab classic is the standard non-ai part of hissab. Its totally free to use. It has an almost natural language like syntax and you can refer the docs for more details for its syntax and capabilities. ### What is Hissab AI? [Section titled “What is Hissab AI?”](#what-is-hissab-ai) > Hissab AI is a wrapper over classic hissab to provide full natural language capabilities for calculations and math and uses hissab engine for the actual calculations. ### What platforms does Hissab run on? [Section titled “What platforms does Hissab run on?”](#what-platforms-does-hissab-run-on) > Hissab can be [installed](installation) on all major OSs like web, Windows, MacOS, Linux, iOS, Android, Chrome & Edge browser extension. ### Are my notes backed up in the cloud? [Section titled “Are my notes backed up in the cloud?”](#are-my-notes-backed-up-in-the-cloud) > Not currently. The notes are only stored locally on device. ### Is there any difference between using hissab on the web vs installing it as a pwa on device? [Section titled “Is there any difference between using hissab on the web vs installing it as a pwa on device?”](#is-there-any-difference-between-using-hissab-on-the-web-vs-installing-it-as-a-pwa-on-device) > No. It is identical. However installing it can be convenient as it integrates the shortcut to open hissab based on the OS. ### Does Hissab work offline? [Section titled “Does Hissab work offline?”](#does-hissab-work-offline) > Not currently. But soon, if you have installed hissab it will work offline except for some features (like AI) that require internet connection. ## AI [Section titled “AI”](#ai) ### What LLM Models does Hissab AI use? [Section titled “What LLM Models does Hissab AI use?”](#what-llm-models-does-hissab-ai-use) > Currently Hissab uses Google Gemini set of models, tuned for use with hissab. We are always working to improve the models and its performance while experimenting with other models as well. ### How does Hissab AI work? And how does it ensure accurate results? [Section titled “How does Hissab AI work? And how does it ensure accurate results?”](#how-does-hissab-ai-work-and-how-does-it-ensure-accurate-results) > Hissab AI uses a combination of LLMs and hissab engine to provide accurate results. The LLMs are tuned to understand the context of the calculations and extract calculation intent from the prompts which generate hissab expressions. These expressions are parsed by hissab engine which does the computation to provide the final results. ## Account [Section titled “Account”](#account) ### Do I need to create an account to use Hissab? [Section titled “Do I need to create an account to use Hissab?”](#do-i-need-to-create-an-account-to-use-hissab) > No. Hissab does not require you to create an account to use it. You only need an account if you want to subscribe and use the AI features. ## Privacy [Section titled “Privacy”](#privacy) ### Does Hissab collect my personal information or share it with any 3rd party vendors? [Section titled “Does Hissab collect my personal information or share it with any 3rd party vendors?”](#does-hissab-collect-my-personal-information-or-share-it-with-any-3rd-party-vendors) > Hissab does not collect any personal information nor does it share any info with any 3rd party vendors. Hissab AI does use the user prompts anonymously to improve the models and its performance. ### Are the calculations performed locally on device, or on the cloud? [Section titled “Are the calculations performed locally on device, or on the cloud?”](#are-the-calculations-performed-locally-on-device-or-on-the-cloud) > All classic calculations are performed locally on the device. All AI calculations are performed on the cloud. # Currencies # WORK IN PROGRESS [Section titled “WORK IN PROGRESS”](#work-in-progress) # Date & Time Formats # WORK IN PROGRESS [Section titled “WORK IN PROGRESS”](#work-in-progress) # Functions # WORK IN PROGRESS [Section titled “WORK IN PROGRESS”](#work-in-progress) # Operators # WORK IN PROGRESS [Section titled “WORK IN PROGRESS”](#work-in-progress) # Units # WORK IN PROGRESS [Section titled “WORK IN PROGRESS”](#work-in-progress) # General Hissab supports various date and time operations. ###### Valid date and time formats are: [Section titled “Valid date and time formats are:”](#valid-date-and-time-formats-are) | Format | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | dd.mm.yyyy | 15.03.2020Sun 15 Mar 2020 | | mm.dd.yyyy | 03.15.2020Sun 15 Mar 2020 | | mm.dd.yyyy> In this format, if there is ambiguity between date and month, it will use mm.dd.yyyy format | 03.02.2020Mon 2 Mar 2020 | | dd mmm yyyy | 15 mar 2020Sun 15 Mar 2020 | | yyyy mmm dd | 2020 mar 15Sun 15 Mar 2020 | | {date} {timezone/city}> Use common timezone abbreviations to specify timezones. You can also use popular city names to specify its timezone (Preferred) | 15 mar 2020 estSun 15 Mar 2020 est15 mar 2020 new yorkSun 15 Mar 2020 new york | | hh:mm:ss:ms> The hour is mandatory in time format. Minutes, seconds and milliseconds are optional. | 05:12:43:2875:12:43:287 | | hh:mm am/pm> If am or pm is not mentioned, it will use 24 hour format. | 10:33 pm10:33 pm | | hh:mm | 14:314:03 | | {date} {time}> Use any date format with time format | 2020 mar 15 10:12 pmSun 15 Mar 2020, 10:12 pm | ###### You can perform intuitive operations with dates and times. [Section titled “You can perform intuitive operations with dates and times.”](#you-can-perform-intuitive-operations-with-dates-and-times) | Operation | Example | | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Add days, months, years etc to dates | 15 mar 2020 + 10 daysWed 25 Mar 202003.15.2020 + 3 months + 43 daysMon 27 Jul 2020, 6 | | Subtract days, months, years etc from dates | 15 mar 2020 - 10 daysThu 5 Mar 202003.15.2020 - 3 months - 43 daysFri 1 Nov 2019, 18 | | Similar operations can be performed with times | 02:23:22 + 4 hours + 32 minutes6:55:2222:23:22 - 132 minutes20:11:22 | | Or with combination of dates and times | 15 mar 2020 - 30 hoursFri 13 Mar 2020, 1815 mar 2020 02:23 pm - 4 hours + 30 minutesSun 15 Mar 2020, 10:53 am15 mar 2020 02:23 am - 4 hours + 30 minutesSat 14 Mar 2020, 10:53 pm | | Get difference between two dates or times. Default answer in free version will be in millisecond | 15 mar 2020 - 23 jul 202018 week 4 day | | But, You can convert it into any unit like year, days, hours etc. | 15 mar 2020 - 23 jul 2010 to days3,523 days23:12:23 - 06:34 to minutes998.3833 minutes | ###### Hissab also supports these keywords to get current date or time [Section titled “Hissab also supports these keywords to get current date or time”](#hissab-also-supports-these-keywords-to-get-current-date-or-time) | Keyword | Example | | ------------------------------- | ----------------------- | | now> Get current date and time | now6 Jun 2025, 18:12:51 | | today> Get today’s date | today6 Jun 2025 | | tomorrow> Get tomorrow’s date | tomorrow7 Jun 2025 | | yesterday> Get yesterday’s date | yesterday5 Jun 2025 | > Note: Date formats such as mm/dd/yyyy or mm-dd-yyyy with a / or - as a separator are not supported because of its ambiguity with divide and subtract operations. ### Unix epoch timestamp conversion [Section titled “Unix epoch timestamp conversion”](#unix-epoch-timestamp-conversion) You can convert a unix timestamp in millisecond or second to date or vice versa. 12 mar 2020 to epoch 1,583,971,200,000 milliseconds 12 mar 2020 to timestamp 1,583,971,200 seconds 1693248840 seconds to human date Mon 28 Aug 2023, 18:54 1693248840234 to human date Mon 28 Aug 2023, 18:54:00:234 # Timezone You can find current time in any timezone. now in pst 6 Jun 2025, 11:12:51 pst today in dubai 6 Jun 2025, 4 dubai You can also convert any time from one timezone to another. 4 pm ist to denver 3:30 am denver It is recommended to use city names instead of timezone abbreviations as those are not standardized and can refer to multiple different timezones. Hissab will guess and use one of those timezone. e.g. CST refers to Central Standard time UTC-06, China Standard time UTC+08 and Cuba Standard Time UTC-05. You can also calculate specific time of one timezone to another timezone. 10:30 pm ireland to beijing 6:30 am beijing # Binary Operations Hissab supports the following binary operations. | Operator | Example | | ----------------------- | ---------------------------------- | | \~> Bitwise Not | \~0b101010100b-10101011 | | &> Bitwise AND | 0b10101010 & 0b110011010b10001000 | | \|> Bitwise OR | 0b10101010 \| 0b110011010b11101111 | | xor> Bitwise XOR | 0b10101010 xor 0b11001100b11001100 | | >>> Bitwise right shift | 0b10101010 >> 30b10101 | | <<> Bitwise left shift | 0b10101010 << 30b10101010000 | Binary operations can be performed not just on binary numbers but with any number system. 1234 & 0x123fe 210 \~73453 -73,454 # Colors # Colors [Section titled “Colors”](#colors) Hissab supports various color representations. * Hex (with or without alpha) * rgb * rgba * hsl * Color names * Color numbers ### Color Conversion [Section titled “Color Conversion”](#color-conversion) You can convert color representations from one format to another. \#8100ff to rgb color rgb(129, 0, 255) rgb(129, 0,,rgb(129, 0, 255) to hex \#8100ff red to hsl color hsl(0, 1, 0.5) pink to color number 16761035 \#ff69b4 to color name hotpink ### Color Temperature [Section titled “Color Temperature”](#color-temperature) You can get the temperature of the color. \#8100ff to color temperature 40,000 yellow to color temp 1,000 ### Mix Colors [Section titled “Mix Colors”](#mix-colors) You can mix color by simply adding one color with another. \#1c1c1c + rgb(12,145,121) \#14574b cyan + magenta \#8080ff ### Darken or Brighten colors [Section titled “Darken or Brighten colors”](#darken-or-brighten-colors) You can find a darker or lighter shade of a color by adding a number to the color. \#1c1c1c + 1.3 \#4f4f4f \#efefef - 1.3 \#aeaeae hsl(270,0.5,0.5) hsl(269.76377952755905, 0.4980392156862745, 0.5) ### Complimentary Colors [Section titled “Complimentary Colors”](#complimentary-colors) You can find complimentary or inverse of a color. \~#1c1c1c \#e3e3e3 \~red aqua # Number Systems Most calculations are done using decimal (base 10) number systems, but hissab also supports other number systems. | Number system | Examples | | -------------------------------------------------------------------------------------------------------------- | ------------------------------ | | Decimal> Base: 10. The default number system we all know and love | 12341,23423\*43989 | | Binary> Base: 2. To input as a binary number use prefix 0b or 0B followed by the binary number | 0b010101 + 0B1010100b111111 | | Octal> Base: 8. To input as a octal number use prefix 0o or 0O followed by the octal number | 0O214562 + 0o2635460o500330 | | Hexadecimal> Base: 16. To input as a hexadecimal number use prefix 0x or 0X followed by the hexadecimal number | 0x1a2f3d2 + 0Xc323ef40xdd532c6 | Numbers with any number system can be used same way as a decimal number. 0b100101 kilogram to grams 0b1001000010001000 grams You can also use different number systems in the same expression. In this case the result will be presented using the first number system used in the expression. 0b100101 + 2345 0b100101001110 2345 + 0b100101 2,382 ### Number system conversion [Section titled “Number system conversion”](#number-system-conversion) You can convert a number from one number system to another. 0b100101 to hex 0x25 0b100101 to decimal 37 2345 + 0b100101 to octal 0o4516 234234 to binary 0b111001001011111010 # Introduction Type your expressions in the editor and the answer is calculated and shown instantly on the right. 1 + 1 2 Each line computes one expression. Multiple expressions on one line will not work. 1 + 1 12 meters to cm 1,400 cm 1 + 1 2 12 meters to cm 1,200 cm Words or strings are case-insensitive except variable name. 12 mEteRs to CeNtImeTer 1,200 CeNtImeTer Popular short forms of units will work. Also, plural forms will work in most cases and will be refined over time. 10 gram to kilogram 0.01 kilogram 10 gram to kg 0.01 kg 10 grams to kg 0.01 kg You can enter numbers with commas in them. 123,456,789 123,456,789 123456789 123,456,789 It is recommended to use brackets to override the default precedence. Check the following example, where one expression gives different results with and without brackets. 10 + 20 \* 3 70 (10 + 20) \* 3 90 Hissab also supports functions which provides quick way to get complex calculations done in simple syntax. Functions take on a fix or variable number of parameters as input and output the results using those inputs. Its syntax is: > function name(input1, input2, input3,…)’. Each input can be an expression in itself. sum(12,23,52,65) 152 # Arithmetics #### Hissab supports following arithmetic operations: [Section titled “Hissab supports following arithmetic operations:”](#hissab-supports-following-arithmetic-operations) ### Elementary Operations [Section titled “Elementary Operations”](#elementary-operations) Addition, subtractions, multiplications and division 10 + 5 15 10 - 5 5 10 \* 5 50 10 / 5 2 ### Power [Section titled “Power”](#power) 10 ^ 5 100,000 10 \*\* 5 100,000 ### Percentages [Section titled “Percentages”](#percentages) 25% 0.25 25% of 200 50 200 + 25% 250 200 - 25% 150 25% off 200 150 25% of what is 200 800 ### Factorial [Section titled “Factorial”](#factorial) 5! 120 ### Remainder / Modulo [Section titled “Remainder / Modulo”](#remainder--modulo) 10 mod 7 3 ### Absolute [Section titled “Absolute”](#absolute) abs(-232) 232 abs(100 + 30 - 300) 170 ### Permutation [Section titled “Permutation”](#permutation) 8 perm 3 336 ### Combination [Section titled “Combination”](#combination) 8 comb 3 56 ### Least common multiple [Section titled “Least common multiple”](#least-common-multiple) lcm(3,36,60,12) 180 ### Greatest common divisor [Section titled “Greatest common divisor”](#greatest-common-divisor) gcd(3,36,60,12) 3 ### Minimum [Section titled “Minimum”](#minimum) min(3,36,60,12) 3 min(1 kg, 1 pound, 100gram) 100 gram ### Maximum [Section titled “Maximum”](#maximum) max(3,36,60,12) 60 max(1 kg, 1 pound, 100gram) 1 kg ### Logarithm [Section titled “Logarithm”](#logarithm) * log = log with base e * loge = log with base e * log10 = log with base 10 * log2 = log with base 2 log 100 4.6052 loge 100 4.6052 log10 100 2 log2 100 6.6439 # Statistics # Statistics [Section titled “Statistics”](#statistics) #### Hissab supports following Statistics operations: [Section titled “Hissab supports following Statistics operations:”](#hissab-supports-following-statistics-operations) ### Arithmetic mean [Section titled “Arithmetic mean”](#arithmetic-mean) avg(3,36,60,12) 27.75 avg(1 kg, 1 pound, 100gram) to grams 517.8641 grams ### Harmonic mean [Section titled “Harmonic mean”](#harmonic-mean) harmonic mean(3,36,60,12) 8.6747 ### Geometric mean [Section titled “Geometric mean”](#geometric-mean) geometric mean(3,36,60,12) 16.6989 ### Standard deviation [Section titled “Standard deviation”](#standard-deviation) standard deviation(3,36,60,12) 22.1853 ### Variance [Section titled “Variance”](#variance) variance(3,36,60,12) 492.1875 ### Median [Section titled “Median”](#median) median(3,36,60,12) 24 ### Range [Section titled “Range”](#range) range(3,36,60,12) 57 # Trigonometry # Trigonometry [Section titled “Trigonometry”](#trigonometry) #### Hissab supports following trigonometric operations: [Section titled “Hissab supports following trigonometric operations:”](#hissab-supports-following-trigonometric-operations) ### Basic functions [Section titled “Basic functions”](#basic-functions) You can enter angles in any units. Default is degrees. sin 60 0.866 cos 60 0.5 cot 13 radians 2.1597 csc 23 arcminute 40 arcsecond 145.2581 ### Arc functions [Section titled “Arc functions”](#arc-functions) asin 0.12 6.8921 degree acos -0.25 to radians 1.8235 radians acot 123 36.6654 degree ### Hyperbolic functions [Section titled “Hyperbolic functions”](#hyperbolic-functions) sinh 6 201.7132 cosh 6 201.7156 coth 1.45 1.1165 ### Hyperbolic arc functions [Section titled “Hyperbolic arc functions”](#hyperbolic-arc-functions) asinh 60 4.7876 acosh 60 4.7874 acoth 0.45 2.0631 # References & Variables A cool feature of hissab is that it can store results for any expression in a variable of any name, which can be referenced in any other expression. myvar = 123 + 234 357 myvar - 100 -100 Here ‘myvar’ is a variable name. There are rules around variable names. * Variable cannot start from a number or special character, except \_ (underscore). * It must start from a letter. * It cannot contain any special character except \_. abcd123 = 1234 1,234 \_ab = 12 12 my\_var = 34 34 \#ab = 12 12 Variables can hold values with units as well as dates and times. unit1 = 5 miles 5 mile time\_then = now + 100 days 14 Sep 2025, 18:12:51 Variable names are case-sensitive. abcd123 = 1234 1,234 abcd123 = 1234 1,234 Variable names cannot be a unit name or hissab keyword like ‘time’. time = 1234 1,234 meters = 123 123 time123 = 1234 1,234 Variable declaration must be at the beginning of an expression. 9876 + (myvar = 1234) 11,110 myvar - 9876 -9,876 myvar = 1234 1,234 You can directly reference results from any previous lines without storing it in variables as well by using line (or just l) followed by the line number and no space in between. You cannot only refer to lines above the current line. 123 + 234 357 50 meters to cm 5,000 cm 123 123 line 2 \*2 4 You can refer to the previous line’s result with the ‘prev’ keyword. 123 \* 2 246 ‘prev’ keyword also works if there are empty lines in between. 123 \* 2246 276,258 If you want to add results from all above lines, you can use the ‘total’ keyword. This only works if those results are addable. 1234 1,234 234+2 236 10 mod 7 3 50 sq meter 50 square meter 10 sq km to sq miles 3.861 sq miles 10 sq mile to acre 6,400 acre 12 12 20 20 10 10 50 50 1234 1,234 today 6 Jun 2025 2000 kb to mb 1.9531 mb # Unit Conversion Hissab supports unit conversions for most popular units, and then some. To convert from one unit to another, type your expressions in this format: > {value} {unit} to {destination unit} The ‘to’ can be replaced with ‘in’ as well. > {value} {unit} in {destination unit} 50 meters to miles 0.0311 miles Convert 50 meters to miles 0.0311 miles You can perform various mathematical operations with values of different units seamlessly. Hissab will choose the first value’s unit as base and convert all other values to that base unit to calculate final result. 50 meters + 15 miles - 10 km 14 kilometer 190 meter 16 centimeter However, if you want to force final result to use certain unit, simply add ‘to {final unit}’ at the end of the expression. 50 meters + 15 miles - 10 km to yards 15,518.5477 yards ### Breakdown units [Section titled “Breakdown units”](#breakdown-units) The results with large value will be broken down into smaller valued units as seen above. You can also explicitly mention what units the value should be broken down. 50 meters + 15 miles - 10 km to miles,yards,feet 8 mile 1,438 yard 1.643 feet # Installation Caution Hissab app is also available in the various app stores, but is no longer supported and will not receive any more updates. Please use the following installation methods to use hissab in your device. Hissab is a web app and can be easily installed as PWA in most platforms. ## Web [Section titled “Web”](#web) Head over to [app.hissab.io](https://app.hissab.io) to use Hissab on the web. ## Mac OS, Windows & Linux [Section titled “Mac OS, Windows & Linux”](#mac-os-windows--linux) Your browser does not support the video tag. ## iOS - iPhones & iPads [Section titled “iOS - iPhones & iPads”](#ios---iphones--ipads) Your browser does not support the video tag. ## Android - Phones & tablets [Section titled “Android - Phones & tablets”](#android---phones--tablets) Your browser does not support the video tag. ## Chrome/Edge extension [Section titled “Chrome/Edge extension”](#chromeedge-extension) You can download Hissab Chrome extension from [here](https://chrome.google.com/webstore/detail/hissab-smart-calculator/nahkoofkgaammjfeapmdfmcioamfehkg?hl=en). You can install this extension in Microsoft edge browser as well.