This Percentile, Quartile, and IQR Calculator helps you analyze the distribution and spread of your data. It calculates percentiles (values below which a given percentage of observations fall), quartiles (values that divide data into four equal parts), and the interquartile range (IQR, a measure of statistical dispersion). For example, you can analyze test scores to find the 75th percentile, determine salary quartiles, or use the IQR to identify outliers in any numerical dataset.
Need a quick calculation? Enter your numbers below:
A percentile shows where a value ranks compared to all other values in a dataset. If you're in the 75th percentile for height, you're taller than 75% of people in your comparison group. Percentiles help you understand relative position rather than absolute values.
You scored higher than 98% of people. Only 2% performed better than you.
You outperformed 99% of people. You're in the top 1%.
Percentile:
Your rank position (90th percentile = better than 90% of people)
Percentage:
Portion of total (90% correct answers on a test)
Track your child's growth compared to other children of the same age and gender.
Convert IQ scores to percentile ranks to understand cognitive ability position.
Compare your financial position to others in your age group or region.
Understand standardized test performance relative to all test-takers.
US household net worth distribution showing how wealth varies by age group (2024 data).
| Age Range | 25th Percentile | 50th Percentile (Median) | 75th Percentile | 90th Percentile |
|---|---|---|---|---|
| 25-29 | $4,000 | $23,000 | $75,000 | $177,000 |
| 30-34 | $8,000 | $50,000 | $142,000 | $285,000 |
| 35-39 | $20,000 | $91,000 | $225,000 | $424,000 |
| 40-44 | $35,000 | $141,000 | $350,000 | $644,000 |
| 45-49 | $46,000 | $190,000 | $473,000 | $875,000 |
| 50-54 | $75,000 | $266,000 | $740,000 | $1,580,000 |
How to use this: Find your age group and see which percentile your net worth falls into. This helps with financial planning and goal setting.
Data: [10, 15, 20, 25, 30, 35, 40, 45, 50]
Example: Find percentile rank of 30 in [10, 15, 20, 25, 30, 35, 40, 45, 50]
Quartiles:
Outlier Detection:
Explore how percentiles divide data using this interactive histogram and box plot.
This visualization shows 1,000 exam scores. Hover over the percentile buttons to see how they divide the data.
67.0
25% scored below this
75.0
50% scored below this
83.0
75% scored below this
16.0 points
The range containing the middle 50% of scores (from 67.0 to 83.0)
Each histogram bar represents a score range (e.g., 70-75), not a single score. The box plot summarizes the same data by showing the key percentiles and the IQR.
Examples of how to calculate percentiles in R, Python, and Excel.
# Calculate percentiles in R
library(tidyverse)
data <- c(10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60)
# Using quantile() function
percentiles <- quantile(data, probs = c(0.25, 0.50, 0.75, 0.90, 0.95))
print(percentiles)
# 25% 50% 75% 90% 95%
# 22.5 35.0 47.5 55.0 57.5
# Specific percentile
p25 <- quantile(data, 0.25)
p75 <- quantile(data, 0.75)
iqr <- p75 - p25
print(str_glue("IQR: {iqr}"))
# IQR: 25
# Find percentile rank of a value
value <- 35
percentile_rank <- (sum(data < value) + 0.5 * sum(data == value)) / length(data) * 100
print(str_glue("Value {value} is at the {percentile_rank} percentile"))
# Value 35 is at the 50 percentile
# Create percentile table
percentile_table <- tibble(
percentile = c(10, 25, 50, 75, 90, 95, 99),
value = quantile(data, probs = percentile/100)
)
print(percentile_table)
# percentile value
# 0 10 15.0
# 1 25 22.5
# 2 50 35.0
# 3 75 47.5
# 4 90 55.0
# 5 95 57.5
# 6 99 59.5import numpy as np
import pandas as pd
data = [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60]
# NumPy percentiles
percentiles = np.percentile(data, [25, 50, 75, 90, 95])
print("Percentiles:", percentiles)
# Pandas quantiles
df = pd.Series(data)
q25, q50, q75 = df.quantile([0.25, 0.50, 0.75])
iqr = q75 - q25
# Find percentile rank
from scipy import stats
value = 35
percentile_rank = stats.percentileofscore(data, value)
print(f"Value {value} is at the {percentile_rank}th percentile")
# Create comprehensive percentile table
percentile_df = pd.DataFrame({
'percentile': [10, 25, 50, 75, 90, 95, 99],
'value': [np.percentile(data, p) for p in [10, 25, 50, 75, 90, 95, 99]]
})Method 1: PERCENTILE Function
=PERCENTILE(A1:A100, 0.25) # 25th percentile
=PERCENTILE(A1:A100, 0.50) # 50th percentile (median)
=PERCENTILE(A1:A100, 0.75) # 75th percentileMethod 2: PERCENTRANK Function
=PERCENTRANK(A1:A100, B1) # Find percentile rank of value in B1
=PERCENTRANK(A1:A100, B1, 3) # With 3 decimal placesStep-by-step Excel Guide:
=PERCENTILE(A:A,0.25) for 25th percentile=PERCENTILE(A:A,0.5) for median=PERCENTILE(A:A,0.75) for 75th percentile=C3-C1What's a good percentile?
Depends on context. For standardized tests, 75th+ is good. For baby growth, 3rd-97th percentile can be normal.
Can percentiles exceed 100?
No. Percentiles range from 0-100. The 100th percentile would mean you outperformed everyone.
This Percentile, Quartile, and IQR Calculator helps you analyze the distribution and spread of your data. It calculates percentiles (values below which a given percentage of observations fall), quartiles (values that divide data into four equal parts), and the interquartile range (IQR, a measure of statistical dispersion). For example, you can analyze test scores to find the 75th percentile, determine salary quartiles, or use the IQR to identify outliers in any numerical dataset.
Need a quick calculation? Enter your numbers below:
A percentile shows where a value ranks compared to all other values in a dataset. If you're in the 75th percentile for height, you're taller than 75% of people in your comparison group. Percentiles help you understand relative position rather than absolute values.
You scored higher than 98% of people. Only 2% performed better than you.
You outperformed 99% of people. You're in the top 1%.
Percentile:
Your rank position (90th percentile = better than 90% of people)
Percentage:
Portion of total (90% correct answers on a test)
Track your child's growth compared to other children of the same age and gender.
Convert IQ scores to percentile ranks to understand cognitive ability position.
Compare your financial position to others in your age group or region.
Understand standardized test performance relative to all test-takers.
US household net worth distribution showing how wealth varies by age group (2024 data).
| Age Range | 25th Percentile | 50th Percentile (Median) | 75th Percentile | 90th Percentile |
|---|---|---|---|---|
| 25-29 | $4,000 | $23,000 | $75,000 | $177,000 |
| 30-34 | $8,000 | $50,000 | $142,000 | $285,000 |
| 35-39 | $20,000 | $91,000 | $225,000 | $424,000 |
| 40-44 | $35,000 | $141,000 | $350,000 | $644,000 |
| 45-49 | $46,000 | $190,000 | $473,000 | $875,000 |
| 50-54 | $75,000 | $266,000 | $740,000 | $1,580,000 |
How to use this: Find your age group and see which percentile your net worth falls into. This helps with financial planning and goal setting.
Data: [10, 15, 20, 25, 30, 35, 40, 45, 50]
Example: Find percentile rank of 30 in [10, 15, 20, 25, 30, 35, 40, 45, 50]
Quartiles:
Outlier Detection:
Explore how percentiles divide data using this interactive histogram and box plot.
This visualization shows 1,000 exam scores. Hover over the percentile buttons to see how they divide the data.
67.0
25% scored below this
75.0
50% scored below this
83.0
75% scored below this
16.0 points
The range containing the middle 50% of scores (from 67.0 to 83.0)
Each histogram bar represents a score range (e.g., 70-75), not a single score. The box plot summarizes the same data by showing the key percentiles and the IQR.
Examples of how to calculate percentiles in R, Python, and Excel.
# Calculate percentiles in R
library(tidyverse)
data <- c(10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60)
# Using quantile() function
percentiles <- quantile(data, probs = c(0.25, 0.50, 0.75, 0.90, 0.95))
print(percentiles)
# 25% 50% 75% 90% 95%
# 22.5 35.0 47.5 55.0 57.5
# Specific percentile
p25 <- quantile(data, 0.25)
p75 <- quantile(data, 0.75)
iqr <- p75 - p25
print(str_glue("IQR: {iqr}"))
# IQR: 25
# Find percentile rank of a value
value <- 35
percentile_rank <- (sum(data < value) + 0.5 * sum(data == value)) / length(data) * 100
print(str_glue("Value {value} is at the {percentile_rank} percentile"))
# Value 35 is at the 50 percentile
# Create percentile table
percentile_table <- tibble(
percentile = c(10, 25, 50, 75, 90, 95, 99),
value = quantile(data, probs = percentile/100)
)
print(percentile_table)
# percentile value
# 0 10 15.0
# 1 25 22.5
# 2 50 35.0
# 3 75 47.5
# 4 90 55.0
# 5 95 57.5
# 6 99 59.5import numpy as np
import pandas as pd
data = [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60]
# NumPy percentiles
percentiles = np.percentile(data, [25, 50, 75, 90, 95])
print("Percentiles:", percentiles)
# Pandas quantiles
df = pd.Series(data)
q25, q50, q75 = df.quantile([0.25, 0.50, 0.75])
iqr = q75 - q25
# Find percentile rank
from scipy import stats
value = 35
percentile_rank = stats.percentileofscore(data, value)
print(f"Value {value} is at the {percentile_rank}th percentile")
# Create comprehensive percentile table
percentile_df = pd.DataFrame({
'percentile': [10, 25, 50, 75, 90, 95, 99],
'value': [np.percentile(data, p) for p in [10, 25, 50, 75, 90, 95, 99]]
})Method 1: PERCENTILE Function
=PERCENTILE(A1:A100, 0.25) # 25th percentile
=PERCENTILE(A1:A100, 0.50) # 50th percentile (median)
=PERCENTILE(A1:A100, 0.75) # 75th percentileMethod 2: PERCENTRANK Function
=PERCENTRANK(A1:A100, B1) # Find percentile rank of value in B1
=PERCENTRANK(A1:A100, B1, 3) # With 3 decimal placesStep-by-step Excel Guide:
=PERCENTILE(A:A,0.25) for 25th percentile=PERCENTILE(A:A,0.5) for median=PERCENTILE(A:A,0.75) for 75th percentile=C3-C1What's a good percentile?
Depends on context. For standardized tests, 75th+ is good. For baby growth, 3rd-97th percentile can be normal.
Can percentiles exceed 100?
No. Percentiles range from 0-100. The 100th percentile would mean you outperformed everyone.