HomeCalculatorsMathPercent, Ratio & ProportionPercentage Calculator
Math calculator

Percentage Calculator

Calculate percentages, percentage of a number, and “what percent is X of Y” with clear arithmetic steps. Runs locally in your browser. Try it free.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance
Input interpretation
Enter values to calculate.
Result
—
Assurance
Core
Declared partition coverage
PASS · 9/9 declared partitions (of, is-what, of-what, change, adjust-up, adjust-down, difference, invalid-domain, xcal) · Matrix
Known limitations
  • All seven modes; sampled numeric scales, signed inputs, exact zeros, denominator/domain errors, representable subnormals; nonzero conversion and output under/overflow rejected, including delta and average. Independent CPython Fraction reference; private280-case corpus.
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
Common percentage phrases: % of, is what %, of what, percent change, ±P% adjust, and percentage difference.
Scope
Interactive evaluation runs locally in the browser. Shared URLs and REST evaluate the same versioned engine (query SSR).
Verification
Engine tested · Source checked · v1.1.2 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance· View Manifest · CVP overview · Specification
Versions
Calculation 1.1.2 · CVP protocol 1.0.0-proposed · Evidence 2026-10-21.percentage-complete-contract-v2
Verification revision
2026-10-21.percentage-complete-contract-v2 · 2/2 property · digest 9cbd3aac385f
Legacy regression
19/19 tests · Production surface contract 6/6
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 7/7 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
253/253 golden · 7/7 CVP boundary · 34/34 invalid · 2/2 property · 2/2 metamorphic · 2/2 round-trip · 14/14 cross-interface · 3/3 cross-calculator · 6/6 CVP contract · Manifest
Sources
Sources
Evidence
12 legacy golden · 7 legacy boundary · legacy regression suite · 253/253 oracle-backed golden · 34/34 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.1.2 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Percent change uses |old| in the denominator — the same signed convention as Percentage Change.

P% of XY = X × P / 100
X is what % of YP = 100 × X / Y
X is P% of whatY = 100 × X / P
Percent changeΔ% = 100 × (new − old) / |old|
Increase / decreaseY = X × (1 ± P/100)
Percent differenceΔ% = 100 × |A − B| / ((A + B) / 2)Domain: A ≥ 0, B ≥ 0, A + B ≠ 0
iPercent means “per hundred.” 35% = 0.35 = 35/100. Percent change uses |old| in the denominator so a negative starting value keeps the increase/decrease direction. Percentage difference is defined for non-negative A and B.

How to use

1

Choose a phrase or mode

Pick % of, is what %, of what, change, increase/decrease, or difference.

2

Enter the known numbers

Use the labels that match how you ask the question in words.

3

Read the result and steps

See the formula filled with your values.

Example calculations

Common configurations with formula and result.

ϟ

Percent of

20% of 250

250 × 20/100
50
ϟ

Is what percent

50 of 200

100 × 50/200
25%
ϟ

Of what

12 is 20% of ?

100 × 12/20
60
ϟ

Percent change

40 → 50

(50−40)/|40|×100%
25%
ϟ

Increase by %

500 + 10%

500×1.1
550

Quick examples

Common values at a glance.

QuestionResult
What is 20% of 250?50
50 is what % of 200?25%
12 is 20% of what?60
Change from 40 to 50?+25%
500 increased by 10%?550
500 decreased by 10%?450
Difference 10 vs 6?50%
i Percentage difference uses the average of two non-negative values in the denominator; percent change uses |old| as the baseline.

Percentage calculator specification

Version 1.1.2 · Engine tested

Calculation status

Review policy · Evidence

Definition
A percentage expresses a number as a fraction of 100. This calculator handles the common phrases: what is P% of X; X is what % of Y; X is P% of what; change from A to B; increase or decrease by P%; and percentage difference between two values.
What it calculates
Common percentage phrases: % of, is what %, of what, percent change, ±P% adjust, and percentage difference.
Inputs
  • % of: percent P and base X
  • Is what %: part X and whole Y
  • Of what: part X and percent P
  • Change: old and new values
  • ± %: value X and percent P (increase or decrease)
  • Difference: values A and B
Outputs
  • The missing amount or percent for the selected phrase
Formula
Y=X·P/100; P=100·X/Y; Y=100·X/P; Δ%=100·(new−old)/|old|; diff%=100·|A−B|/((A+B)/2) for A≥0, B≥0, A+B≠0
Assumptions
  • Interactive evaluation runs locally in the browser. Shared URLs and REST evaluate the same versioned engine (query SSR).
  • Denominators (whole, old, average of A and B, P) must be nonzero where required.
  • Percent change uses |old| in the denominator (signed increase/decrease). Typically used with a nonzero baseline; old = 0 is undefined.
  • Percentage difference is defined for A ≥ 0, B ≥ 0, and A+B ≠ 0.
Units
  • Inputs in consistent units; results as amounts or %
Boundary conditions
  • Division by zero → DIVISION_BY_ZERO
  • Percentage difference with A < 0 or B < 0 → VALUE_MUST_BE_NON_NEGATIVE
  • Unknown mode → INVALID_MODE
  • Nonzero input/output rounding to zero or overflow (including delta/average) → NUMERIC_RANGE; rescale
  • Matching active aliases only; decimal tokens at most512 characters; explicit zero canonicalizes to +0
Example
20% of 250 = 50
Validation cases

7 published on this page · 19/19 tests · Production surface contract 6/6 · View evidence

  • 20% of 250 → 50
  • 50 is what % of 200 → 25%
  • 12 is 20% of what → 60
  • 40 → 50 change → 25%
  • old=−100, new=−50 change → +50% (uses |old|)
  • 10 vs 6 difference → 50%
  • A=−10, B=10 difference → error VALUE_MUST_BE_NON_NEGATIVE
Sources
  • BIPM — The International System of Units (SI), 9th edition — Units accepted for use with the SI — percent (symbol %), 1% = 0.01 · accessed 2026-08-28
    Supports: Defines percent as the number 0.01 (one part in one hundred). The core relation P% of X = X × P/100 follows from that definition.
  • NIST Special Publication 811 — Guide for the Use of the International System of Units (SI) — Writing values of quantities — the percent · accessed 2026-08-28
    Supports: NIST usage of percent as 0.01 with the SI. Does not prescribe percent-change vs percent-difference conventions.
  • CalculatorX percentage conventions — Six phrase modes, |old| percent change, non-negative percentage difference
    Supports: Percent change Δ% = 100×(new−old)/|old| (undefined at old = 0). Percentage difference Δ% = 100×|A−B|/((A+B)/2) on A ≥ 0, B ≥ 0, A+B ≠ 0. Increase/decrease is X×(1±P/100).
  • NIST — SI Unit Rules and Style Conventions — Percent and fractions
    Supports: The symbol % represents the number 0.01. Thus p% = p/100 and a part of p% of base b equals b×p/100; inverse percentage equations are algebraic rearrangements. CalculatorX’s negative-baseline signed-change convention is separately specified, not attributed to NIST. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.
Calculation version
1.1.2

Background

Interpretation and common distinctions.

What does this percentage calculator compute?

A percentage expresses a number as a fraction of 100. This calculator handles the common phrases: what is P% of X; X is what % of Y; X is P% of what; change from A to B; increase or decrease by P%; and percentage difference between two values.

The published formula or method is Y=X·P/100; P=100·X/Y; Y=100·X/P; Δ%=100·(new−old)/|old|; diff%=100·|A−B|/((A+B)/2) for A≥0, B≥0, A+B≠0. The following references support the stated mathematics or method:

  • NIST — SI Unit Rules and Style Conventions: The symbol % represents the number 0.01. Thus p% = p/100 and a part of p% of base b equals b×p/100; inverse percentage equations are algebraic rearrangements. CalculatorX’s negative-baseline signed-change convention is separately specified, not attributed to NIST. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.

Which inputs and limits should you check?

Keep the part, base, and percentage distinct; percent means a ratio multiplied by 100. Each of the seven modes requires its two labeled fields. Use consistent units, finite decimal numbers or scientific notation, and at most512 characters per number. Aliases must agree; inactive and unknown fields are rejected. Percent change uses a nonzero |old| baseline; difference needs A,B≥0 and a nonzero sum.

Inputs round to IEEE-754 binary64 first. The engine evaluates each percentage formula exactly for those normalized inputs, then rounds each published numeric field once, ties to even. This is not exact decimal arithmetic or measurement uncertainty propagation. Explicit signed zero displays as 0. Nonzero inputs or outputs that round to zero, overflow, and unrepresentable change delta or difference average return NUMERIC_RANGE: rescale. Subnormal values are supported when the complete result remains representable. Near-zero denominators amplify input rounding; displayed digits use the shortest round-trip decimal.

The worked example uses 20% of 250 with 250 × 20/100. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.percentage v1.1.2 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

What is a percentage?

A percentage is a number expressed as a fraction of 100, written with %. It is a dimensionless way to compare a part to a whole (alongside ratios, fractions, and decimals).

Example: 25 of 50 students are male → 25/50 = 0.5 = 50%.

Core formulas

Y = (X · P)/100 P = (100 · X)/Y Y = (100 · X)/P

Algebraically these are the same relation P(decimal) × V₁ = V₂.

Percent change

% change = (new − old)/(|old|) × 100%

The absolute value in the denominator is a CalculatorX convention (shared with the Percentage Change calculator): a move from −100 to −50 is a +50% increase. Percent change is undefined when old = 0. Negative baselines can still be unintuitive in some domains — say so in the result interpretation.

Increase / decrease by P%

X increased by P% = X(1+P/100), X decreased by P% = X(1−P/100)

Percentage difference

% difference = (|A−B|)/((A+B)/2) × 100% (A ≥ 0, B ≥ 0, A+B ≠ 0)

This page does not extend percentage difference to negative values. A = −10, B = 10 would make the average zero; two negatives can make an unsigned relative-difference look signed. Use percent change when a signed starting value is the baseline.

Frequently asked questions

Key distinctions behind the calculation.

What is a percentage?

A number or ratio expressed as a fraction of 100, usually written with %. Example: 25 out of 100 is 25%.

How do you calculate a percentage?

Divide the part by the whole, then multiply by 100: percentage = (part / whole) × 100.

What is P% of X?

Multiply X by P/100. Example: 20% of 250 = 250 × 0.2 = 50.

How do I find what percent X is of Y?

Compute 100 × X / Y. Example: 50 is what % of 200? → 25%.

How do I find the whole when I know the part and percent?

Whole = 100 × part / percent. Example: 12 is 20% of what? → 60.

Percent change vs percent difference?

Change compares a new value to an old starting value using |old| in the denominator. Difference divides |A−B| by the average of two non-negative values A and B — useful when neither value is a natural baseline.

How do I increase or decrease a number by a percent?

New = X × (1 + P/100) to increase, or X × (1 − P/100) to decrease.

Why does percent change use |old|?

So a move from −100 to −50 is a +50% increase (less negative), not a sign flip from the denominator. The dedicated Percentage Change calculator uses the same convention. Percent change is still undefined at old = 0.

Can percentage difference use negative numbers?

No. This page defines percentage difference for A ≥ 0, B ≥ 0, and A+B ≠ 0. A = −10 and B = 10 would make the average 0; two negatives can make the unsigned formula look signed. Use percent change when a signed baseline exists.

Why do percentages matter?

They show discounts, taxes, tips, grades, growth rates, and comparisons in a common 0–100 scale.