Calculate fractions exactly — with every step written out
Pick an operation and enter fractions — as whole numbers, fractions like 3/4, mixed numbers like 2 1/2 or decimals like 0.75. The maths runs on integers instead of floating point: 1/3 + 1/3 + 1/3 is exactly 1. Below the result you get the full working — common denominator, reducing, mixed number.
How do I add fractions with different denominators?
Via the common denominator, the least common multiple of both denominators. For 3/4 + 1/6 the LCM of 4 and 6 is 12, so both fractions are expanded: 9/12 + 2/12 = 11/12. Those are exactly the lines the step list shows, including the factors used for expanding. If both fractions already share a denominator, the calculator says so instead of expanding needlessly. Subtraction works the same way, only the numerators are subtracted; multiplication is numerator times numerator, denominator times denominator. The whole working can be copied with one click — into a notebook or a message, for example.
Why does this fraction calculator not simply use decimals?
Because binary floating-point numbers store many fractions only approximately. JavaScript keeps numbers, as laid down by the ECMA-262 language standard, as 64-bit IEEE 754 floating-point values — and in that format 0.1 + 0.2 is not 0.3 but 0.30000000000000004 (source: ECMA-262, which defines the Number type as IEEE 754 double precision). So every fraction here stays a pair of integer numerator and denominator until the very end; only for display does a long division work out the decimal form. Repeating results are shown in copyable parentheses: 5/6 = 0.8(3). The result also names the mixed number and the value as a percentage.
What does the sign in −2 1/2 mean?
It applies to the whole mixed number: −2 1/2 means −(2 + 1/2) = −5/2 — not −2 + 1/2, which would be −3/2. That mix-up is a classic among fraction mistakes. So that nothing happens silently, the tool shows below the input field how it understood an entry: 2 1/2 becomes “read as 5/2”. Fraction characters such as ½ or ¾ and both decimal separators (comma and point) are read as well.
How do you divide by a fraction — and what happens with zero?
Dividing means multiplying by the reciprocal: 3/4 ÷ 2/5 becomes 3/4 · 5/2 = 15/8. The step list shows flipping the second fraction as its own step. Dividing by zero, on the other hand, is impossible — if the second fraction equals 0, a named error message appears instead of a result. A denominator of 0 is rejected at reading time already, because a fraction like 3/0 is undefined.
What are the limits of this calculator?
Numerator, denominator and the whole part may each be up to one trillion (10^12) per entry. Internally every calculation stays exact up to 2^53 − 1 — up to that bound, JavaScript represents every integer without error. If a product threatens to run past it, the calculator cross-reduces first and lists that step in the working; if even that is not enough, it reports an overflow instead of silently rounding. The decimal display works out up to 60 decimal places and honestly marks longer expansions as cut off.
Does my input stay private?
Yes. The entire calculation runs in your browser — no request leaves the page, and there is no server that could log what you type. Only your device stores anything: the last operation and entries, so the tool opens where you left off. Sharing still works — the entries live as parameters in the address bar, so a copied link shows the same calculation.