Percent to Fraction Calculator
Percent to fraction conversion means writing the percent over 100 and cutting it to simplest form, and this page shows how for any percent. It also covers a percentage to fraction chart, decimal percents, percents over 100 as mixed numbers and the formula.
Example values are filled in. Replace them with your own.
Fraction
3/8
Working
- 37.5% = 375/1000
- The greatest common divisor (GCD) of 375 and 1000 is 125. Divide both by 125: 3/8
- Decimal
- 0.375
A recipe calls for 37.5% of the flour and the worksheet wants a fraction. Write the percent over 100 and simplify: 37.5 ÷ 100 becomes 375/1000, which reduces to 3/8.
Enter a percent, decimals and values over 100 included, and this percent to fraction calculator returns the simplified fraction, the mixed number and the working.
How percent to fraction works
Quick answer: write the percent over 100, then divide the top and bottom by their greatest common divisor. 40% is 40/100, which simplifies to 2/5.
How to convert a percent to a fraction
Converting a percentage to a fraction takes four steps.
- Drop the % sign and write the number over 100.
- If the number has decimals, multiply the top and bottom by 10 for each decimal place, so both are whole numbers.
- Divide the top and bottom by their greatest common divisor to simplify.
- If the top is larger than the bottom, write the result as a mixed number.
p% = p / 100p = a / 10^k => p% = a / (100 × 10^k)Here a is the number with its decimal point removed and k is the number of decimal places.
Simplifying with the greatest common divisor
The greatest common divisor (GCD) is the largest whole number that divides both parts. For 40/100 it is 20, so 40/100 = 2/5. The Euclidean algorithm finds it: 100 mod 40 = 20, then 40 mod 20 = 0, so the GCD is 20. A fraction is in simplest form when the GCD is 1.
Percents over 100 and mixed numbers
A percent above 100 gives a top larger than the bottom. 125% is 125/100 = 5/4, an improper fraction, which is 1 1/4 as a mixed number. Divide the top by the bottom for the whole part and keep the remainder over the bottom.
Percent to fraction examples
Example 1: 40%
Given
Step 1
Write 40/100.Step 2
The GCD is 20, so 40/100 = 2/5.
Answer
Example 2: 62.5%, a decimal percent
Given
Step 1
Write 62.5/100.Step 2
One decimal place, so multiply the top and bottom by 10 to get 625/1000.Step 3
The GCD is 125, so 625/1000 = 5/8.
Answer
Example 3: 125%, above 100
Given
Step 1
Write 125/100, which simplifies to 5/4, or 1 1/4 as a mixed number.
Answer
Example 4: 0.5%, below 1
Given
Step 1
Write 0.5/100, which is 5/1000, which simplifies to 1/200.
Answer
Percent to fraction chart
This percentage to fraction chart lists common percents as fractions in simplest form. The mixed-number percents are exact, so 33 1/3% is 1/3 where 33.33% is not.
| Percent | Fraction in simplest form |
|---|---|
| 1% | 1/100 |
| 2% | 1/50 |
| 4% | 1/25 |
| 5% | 1/20 |
| 6.25% | 1/16 |
| 8% | 2/25 |
| 8 1/3% | 1/12 |
| 10% | 1/10 |
| 12.5% | 1/8 |
| 15% | 3/20 |
| 16 2/3% | 1/6 |
| 20% | 1/5 |
| 25% | 1/4 |
| 30% | 3/10 |
| 33 1/3% | 1/3 |
| 35% | 7/20 |
| 37.5% | 3/8 |
| 40% | 2/5 |
| 45% | 9/20 |
| 50% | 1/2 |
| 60% | 3/5 |
| 62.5% | 5/8 |
| 65% | 13/20 |
| 66 2/3% | 2/3 |
| 70% | 7/10 |
| 75% | 3/4 |
| 80% | 4/5 |
| 85% | 17/20 |
| 87.5% | 7/8 |
| 90% | 9/10 |
| 95% | 19/20 |
| 100% | 1 |
Percent to fraction code
Both versions return the examples above (2/5, 5/8, 5/4 or 1 1/4, 1/200) and the chart. They work on exact integers, not floating point, accept a trailing % sign and reject non-numeric input.
JavaScript
export function cleanPercent(raw) { let s = String(raw).trim().replace(/%$/, "").trim(); if (/^[+-]?[1-9]\d{0,2}(,\d{3})+(\.\d+)?$/.test(s)) s = s.replace(/,/g, ""); else if (/^[+-]?\d*,\d+$/.test(s)) s = s.replace(",", "."); return /^[+-]?(\d+\.?\d*|\.\d+)$/.test(s) ? s : null;}function gcd(a, b) { while (b) [a, b] = [b, a % b]; return a;}export function percentToFraction(raw) { const s = cleanPercent(raw); if (s === null) throw new TypeError("percent must be a number"); const negative = s.startsWith("-"); const [intPart, fracPart = ""] = s.replace(/^[+-]/, "").split("."); if (fracPart.length > 10) throw new RangeError("use at most 10 decimal places"); let n = BigInt((intPart || "0") + fracPart); let d = 100n * 10n ** BigInt(fracPart.length); const g = gcd(n, d) || 1n; n /= g; d /= g; const whole = n / d; const rest = n % d; const sign = negative && n !== 0n ? "-" : ""; const fraction = `${sign}${n}/${d}`; const mixed = whole > 0n && rest > 0n ? `${sign}${whole} ${rest}/${d}` : null; return { numerator: negative ? -n : n, denominator: d, fraction, mixed };}Python
import refrom decimal import Decimalfrom fractions import Fractiondef clean_percent(raw): s = re.sub(r"%$", "", str(raw).strip()).strip() if re.fullmatch(r"[+-]?[1-9]\d{0,2}(,\d{3})+(\.\d+)?", s): s = s.replace(",", "") elif re.fullmatch(r"[+-]?\d*,\d+", s): s = s.replace(",", ".") return s if re.fullmatch(r"[+-]?(\d+\.?\d*|\.\d+)", s) else Nonedef percent_to_fraction(raw): s = clean_percent(raw) if s is None: raise ValueError("percent must be a number") if len(s.partition(".")[2]) > 10: raise ValueError("use at most 10 decimal places") f = Fraction(Decimal(s)) / 100 whole, rest = divmod(abs(f.numerator), f.denominator) sign = "-" if f < 0 else "" mixed = f"{sign}{whole} {rest}/{f.denominator}" if whole and rest else None return f"{f.numerator}/{f.denominator}", mixedpercentToFraction("62.5%") returns the fraction 5/8. The JavaScript version uses BigInt so a long decimal cannot lose precision, and Python's Fraction reduces automatically.
Privacy and input safety
Values are calculated in your browser. The percent you enter is not sent to a server or stored.
The field accepts numbers with an optional trailing % sign and a leading minus. Text, empty fields, NaN and Infinity are rejected with a message, and nothing you type is ever evaluated as code.
- A comma followed by exactly three digits is read as a thousands separator, so 1,200 is 1200. Any other comma is a decimal point, so 12,50 is 12.50, and a number starting with 0, such as 0,500, is read as a decimal. Mixed formats such as 1.234,5 and ambiguous entries such as 1,2,3 are refused instead of guessed. Spaces, including no-break spaces, between digit groups are ignored.
- Decimal places are limited to 10.
Common percent to fraction mistakes
| Mistake | What goes wrong | What the calculator does |
|---|---|---|
| Writing the percent over 10 | 40% as 40/10 gives 4 instead of 2/5 | Always divides by 100 |
| Leaving the fraction unsimplified | 40/100 reported as the answer | Reduces by the GCD and shows the working |
| Ignoring the decimal point | 12.5% treated as 125/100, which is 1 1/4, not 1/8 | Clears the decimal first |
| Reading 0.5% as 1/2 | 0.5% is 1/200 | Treats the input as a percent, not a decimal |
| Rounded repeating percents | 33.33% gives 3333/10000, not 1/3 | Gives the exact fraction and offers the nearest simple one |
| Reading a mixed number as a product | 1 1/4 read as 1 × 1/4 | Shows the improper fraction beside it, 5/4 |
Percent to fraction vs fraction to percent vs percent to decimal
| Conversion | Rule | Example | Tool |
|---|---|---|---|
| Percent to fraction | Write over 100, then simplify | 75% = 3/4 | This calculator |
| Fraction to percent | Divide, then multiply by 100 | 3/4 = 75% | Fraction to percent calculator |
| Percent to decimal | Divide by 100 | 75% = 0.75 | Decimal to percent calculator |
| Decimal to fraction | Read the place value, then simplify | 0.75 = 75/100 = 3/4 | Same simplifying step as above |
Percent to fraction and fraction to percent are inverses, so 75% becomes 3/4 and 3/4 becomes 75% again. The decimal sits between them: 75% is 0.75, which is 75/100, which simplifies to 3/4.