Quintile calculator
For the numbers 1 to 10, the four quintile cuts are 2.8, 4.6, 6.4 and 8.2, the 20th, 40th, 60th and 80th percentiles. Paste a list to split it into five ordered groups of roughly equal size. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Quintiles split an ordered sample into five roughly equal parts and appear whenever analysts rank incomes, test scores, sales territories or sensor batches into fifths. Unlike a single mean, quintiles describe the full shape of the sample without assuming normality. This capability takes a non-empty list of finite numbers and returns Q1 through Q4, the sorted sample, min, max, count and the fixed percentile markers in one deterministic call.
What the four quintiles mean on a list of numbers
After sorting the sample in ascending order, each quintile cut point is a percentile of that ordered list. This calculator uses linear inclusive interpolation: for a fraction p of zero point two, zero point four, zero point six or zero point eight, the index is p times n minus one, then the value is read from the order statistics by mixing the floor and ceil neighbors when the index is not an integer.
That convention matches the familiar Excel PERCENTILE.INC style and many textbook “linear” quantile definitions, so a classroom hand calculation and this tool should agree when both use the same rule. Q1 is the twentieth percentile, Q2 the fortieth, Q3 the sixtieth and Q4 the eightieth.
Together they carve five groups of roughly equal count on large samples: the bottom fifth ends at Q1, the next fifth runs from Q1 to Q2, the middle fifth from Q2 to Q3, the upper-middle fifth from Q3 to Q4, and the top fifth sits above Q4. For a classic walk-through with the integers one through ten, the four cut points are two point eight, four point six, six point four and eight point two.
A shorter list such as one through five yields one point eight, two point six, three point four and four point two. A single-element list sets all four quintiles to that lone value because every percentile of a one-point sample is the point itself. Because the cut points depend only on order statistics and linear mixing of neighbors, a few extreme tails move min and max without rewriting the entire ranking the way a mean would, which is why quintile tables are preferred for skewed income or score distributions.
Practical tips, limits, and related searches
When teaching, pair the one-through-ten walk-through with an even-length and an odd-length list so students see fractional indices interpolate between neighbors, and contrast the result with the sibling quartile calculator which splits into four groups rather than five. Prefer quintiles when product or policy language already speaks in fifths—income quintiles, performance bands, sales territory ranks—and prefer quartiles or a free-form percentile tool when you need medians, interquartile range, or an arbitrary k.
This page targets people searching for a quintile calculator or for the four cut points that divide data into five equal groups on a plain list of numbers, not a multi-column exploratory profile of a whole CSV file. Document the method field in downstream reports so later readers know the linear inclusive rule was used rather than nearest-rank or exclusive variants.
What you can do with it
Score and income banding into fifths
Bin exam scores, customer metrics or income figures into five ordered groups using shared quintile thresholds without installing a full stats library.
Pipeline summaries and dashboards
Summarize sensor batches, sales lists or experiment cells with four cut points in one call for five-band charts and quality screens.
FAQ
What happens if the list is empty?
There are no quintiles of nothing; failed validation is not charged.
Which method is used for the four cut points?
Linear inclusive interpolation: index i = p·(n−1) for p in {0.2, 0.4, 0.6, 0.8}, mixing adjacent order statistics when i is not an integer.
How do quintiles differ from quartiles?
Quartiles split data into four groups with three cuts (roughly 25th, 50th, 75th). Quintiles split into five groups with four cuts at the 20th, 40th, 60th and 80th percentiles.
Is the quintile calculator free?
The browser tool is free and runs locally.
Which fifth does a value belong to?
Anything at or below the first cut is in the bottom fifth, values between the first and second cuts form the second fifth, and so on, with the top fifth above the fourth cut.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/stat/quintiles \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers":[1,2,3,4,5,6,7,8,9,10]}'const res = await fetch("https://api.kit.forhosting.com/stat/quintiles", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numbers": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/quintiles",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numbers": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/quintiles", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numbers":[1,2,3,4,5,6,7,8,9,10]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numbers":[1,2,3,4,5,6,7,8,9,10]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/quintiles", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"numbers": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
]
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.quintiles",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The four cut points sit at the twentieth, fortieth, sixtieth and eightieth percentiles of the sorted data: everything at or below the first cut is the bottom fifth, values between the first and second cuts form the second fifth, and so on up to the top fifth above the fourth cut. Empty lists are rejected with invalid_input and are never charged.
What the four quintiles mean on a list of numbers
Always reject empty input rather than inventing thresholds from no data: there are no meaningful fifths of an empty bag.
How to call the API and what comes back
Numeric strings inside the array are coerced; a comma or whitespace separated string is also accepted for simple text forms. Use it from homework checkers, spreadsheet enrichment, customer-score binning, marketing segment tables that need fifths rather than quartiles, quality-control dashboards that want five ordered bands, or any workflow that needs quintile thresholds without installing a statistics package on every machine. Send a JSON body with one required field named numbers: a non-empty array of finite numbers. Aliases values, data and list are accepted and behave the same. On success the response includes count as n, numbers as the ascending sorted copy used for interpolation, min and max of the sample, q1 through q4 as the four cut points, quintiles as the array of those four values in order, percentiles as the fixed markers twenty forty sixty eighty, and method set to linear_inclusive so clients know which quantile convention was used. Failed validation—missing numbers, an empty list, non-finite entries, or a list longer than one hundred thousand values—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item. Prefer one request that returns all four cuts instead of four separate percentile calls: one contract, one charge unit, identical results in browser and API.
Practical tips, limits, and related searches
Keep lists within the published size cap so interactive Worker and browser paths stay fast; one hundred thousand finite numbers is ample for classroom sets and most operational samples. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap while students type empty arrays by mistake. If you already know you need only one percentile, the dedicated percentile calculator is a better fit; if you need all five bands at once, this quintile endpoint is the shortest path.
Integration use cases
Homework and exam answer keys
Give students a short numeric sample; check their hand-computed 20th, 40th, 60th and 80th percentile cut points against a deterministic browser or API result.
Technical questions
What does this quintile calculator return?
For a non-empty list it returns count, sorted numbers, min, max, q1, q2, q3, q4, the quintiles array, percentiles [20, 40, 60, 80], and method linear_inclusive.