Decimal to Fraction Converter
Turn any decimal into a fraction reduced to lowest terms - as an improper fraction and a mixed number - with the steps. Handles terminating and repeating decimals.
- Free, no account
- No watermark
- No usage limit
About the Decimal to Fraction
Paste a decimal in and this converter gives you the fraction in lowest terms, as both an improper fraction and a mixed number, with the working shown, so 0.75 comes back as 3/4 and 2.25 as 9/4, or 2 1/4. It's free, instant, and runs entirely in your browser, so nothing you type gets uploaded anywhere.
The reason to build this at all is repeating decimals. Most free converters botch them. Type 0.333 into one and it hands back 333/1000, close to a third but not a third, and it never tells you there's a difference. The real 1/3 is 0.333 going on forever, and that endless tail is the exact reason it's a clean fraction. This converter makes you mark where the loop is, then returns the true 1/3 instead of a rounded fake that's wrong past the third decimal. It never guesses at your number, you point at the repeating digits and it does the rest with exact integer math.
How to use
- Type your decimal. Negatives and all. 0.75, 2.25, -0.6 all work.
- Pick the type. Leave it on Terminating for a decimal that ends. Switch to Repeating if the digits loop forever.
- If it repeats, mark the loop. Enter how many of the last digits repeat. For 0.333... type 0.3 and tell it 1 digit repeats. For 0.3636... type 0.36 and say 2 repeat.
- Read the answer. You get the reduced fraction, the same value as a mixed number, and a step box showing exactly how it got there.
For a decimal that ends, just type the whole thing, zeros and all. You only reach for repeating mode when the decimal genuinely never stops, and even then you type one cycle of the loop, not a screenful of digits.
The easy case: decimals that end
A decimal that ends is already an exact fraction, you just have to read it off. Every place after the point is a power of ten on the bottom. Tenths, then hundredths, then thousandths. So 0.75 is 75 hundredths, which is 75/100, and once you divide top and bottom by 25 you land on 3/4.
The mechanical version, which is what the tool runs:
- Count the digits after the point. 0.75 has two, 2.625 has three.
- Drop the point and put the number over that power of ten. 0.75 becomes 75/100. 2.625 becomes 2625/1000.
- Reduce. Divide both by the largest number that goes into each. 2625 and 1000 share a factor of 125, so it comes out 21/8, or 2 5/8 as a mixed number.
This always works for a decimal that ends, and there's a clean reason why. A power of ten factors into nothing but 2s and 5s. Run that backward and it's also why 1/3 can never end as a decimal: 3 isn't a 2 or a 5, so it can't divide evenly into any power of ten and the division just keeps going. That single fact is the whole line between the easy case and the hard one.
The hard case: decimals that repeat
This is the reason to use the tool instead of whatever a quick search hands you. A repeating decimal is exact, but only when the tool knows where the loop is, and that's the part most converters skip.
Take 0.333 with the 3 repeating. Call the number x, and multiply both sides by 10 to shift everything one place left, so 10x = 3.333.... Line them up:
- 10x = 3.333...
- x = 0.333...
Subtract the bottom from the top. The two endless tails are identical, so they cancel completely, and you're left with 9x = 3. That gives x = 3/9, which reduces to 1/3. The endless tail is annoying to look at, but it's the reason the subtraction cancels so cleanly.
The pattern falls right out. One repeating digit gives a 9 on the bottom, two give 99, three give 999, one nine per digit in the loop. So 0.6 repeating is 6/9 = 2/3, and 0.36 repeating is 36/99 = 4/11. The tool does exactly this and prints each line, which is usually the part that gets graded.
It also handles the messier shape where a fixed part sits in front of the loop, like 1.8333 where only the 3 repeats. It shifts by two different amounts, one to line up the whole repeating block and one for just the fixed piece, subtracts, and the same cancellation happens, so 1.8333... comes out as 11/6, or 1 5/6. You mark which digits loop and read the result.
The number you typed vs the number you meant
One honest limit, and it's the part cheaper tools gloss over. The converter converts the number in the box, exactly, and that isn't always the number in your head. A few decimals are not fractions at all. Pi is 3.14159... with no ending and no loop, and no fraction of two whole numbers names it. Type a rounded piece of pi, say 3.14159, and you'll get the exact fraction for 3.14159, a good stand-in, not pi.
The same trap catches rounded thirds. 0.667 and 2/3 look close but they're different numbers. 2/3 is 0.6666 forever, and 0.667 is a snapshot someone rounded. Convert 0.667 in terminating mode and you correctly get 667/1000, dead-on for what you typed and a hair off from a true two-thirds. If you meant two-thirds, use repeating mode and mark the loop. The tool stays exact about the number you gave it, and leaves the choice between the rounded one and the true one to you.
That precision is why fractions still win in a few places. Anything measured in halves, quarters, eighths and sixteenths reads more naturally as a fraction. A caliper showing 0.6875 inches is 11/16, and that 11/16 is what's printed on the ruler in your hand. Converting the decimal back is often the only way to use the number.
Frequently asked questions
Why is 0.333 a different answer from 0.333...?
Because they're different numbers. 0.333 stops after three digits, so in terminating mode it converts to exactly 333/1000, a shade under a third. 0.333... never stops, and that endless tail is what makes it exactly 1/3. Pick the mode that matches what you mean: repeating with the loop marked for a true third, terminating for the rounded number 0.333. The tool converts whichever one you actually typed.
How do I enter a decimal like 1.8333 where only part repeats?
Type the whole visible number, 1.8333, switch to repeating mode, then tell it how many of the trailing digits loop, which here is 1 (just the 3). It separates the fixed front part from the loop for you and returns 11/6. If instead the 33 repeated you'd say 2, and you'd get a different fraction, so the count you give is what pins down the exact number.
Does 0.999... really convert to 1?
It does, and the algebra is airtight. Turn on repeating mode, type 0.9, and mark 1 digit repeating. Let x = 0.999..., then 10x = 9.999..., and subtracting leaves 9x = 9, so x = 1, with no rounding and no approximation anywhere in it. 0.999... forever and 1 are two names for the same point on the number line, the way 1/2 and 2/4 are. It's the old argument that decimal notation sometimes spells one number two ways.
How does it get the fraction into lowest terms?
It divides top and bottom by their greatest common divisor, the biggest number that goes evenly into both, using Euclid's method: replace the larger number with the remainder of dividing it by the smaller, repeat until one hits zero, and the last number left is the divisor. For 75 and 100 that divisor is 25, so 75/100 reduces to 3/4. Every answer runs through it, so a half-reduced result like 6/8 never slips out.
What about negative decimals and numbers bigger than 1?
Both are fine. A minus sign gets stripped, the positive part converted, and the sign put back, so -0.6 becomes -3/5, with the sign sitting on the numerator by convention. Anything over 1 gives an improper fraction where the top beats the bottom, like 2.25 to 9/4, and you also get the mixed-number form, 2 1/4, right next to it.
What if I type something that isn't a decimal?
It waits instead of throwing an error. An empty box, a lone minus sign, a stray letter, or two decimal points all just prompt you for a real number rather than flashing a broken result or a NaN. As soon as the input is a valid decimal the answer appears. Scientific notation like 1e5 isn't accepted, so write the number out in plain form.
Is it private, and does it work offline?
Yes to both. Every conversion runs on your own machine with exact integer math, and nothing you type is uploaded or logged or sent off anywhere. Once the page has loaded you can pull the plug on the internet and it keeps working.