HomeMedical & Clinical › Visual Acuity Converter

Visual Acuity Converter

Converts a visual acuity written as a Snellen fraction in feet or metres, a decimal or a logMAR value into all four notations plus the minimum angle of resolution, the nearest ETDRS/logMAR chart line and the WHO ICD-11 distance-vision-impairment category.

When to use

You need to translate an acuity between US Snellen (20/40), metric Snellen (6/12), decimal (0.5) and logMAR (0.3) notation, or to place it against the WHO impairment thresholds or the US legal-blindness acuity criterion.

Do not use when: The acuity is recorded as counting fingers, hand motion or light perception (no numeric conversion), or the problem is visual-field loss; results are informational and not medical advice.

Formula

decimal = numerator / denominator (Snellen) or 10^(−logMAR); logMAR = log10(1 / decimal) = log10(denominator / numerator); mar_arcmin = 1 / decimal; snellen_feet = 20 / (20 / decimal); snellen_metres = 6 / (6 / decimal); nearest line = logMAR rounded to the nearest 0.1

The notations are exact transforms of one another (20/40 = 6/12 = 0.5 = logMAR 0.30); denominators are rounded to whole numbers above 20 and to one decimal below. ICD-11 categories are defined on presenting acuity in the better eye, and the US definition of legal blindness also accepts a visual field of 20° or less. Results are informational only and not a substitute for clinical judgement or medical advice.

Inputs

ParameterTypeUnitRequiredDescription
acuitystringyesAcuity in any common notation: Snellen feet "20/40", Snellen metres "6/12", decimal "0.5" or "logMAR 0.3". A plain number is read as decimal acuity unless format says otherwise (a negative number is read as logMAR).
formatenum: auto | snellen_ft | snellen_m | decimal | logmardefault autoHow to read acuity; auto recognises fractions, the word logMAR and plain decimals.

Outputs

OutputTypeUnitDescription
snellen_feetstring20/x notation.
snellen_metresstring6/x notation.
decimal_acuitynumbernumerator / denominator (1.0 = 20/20 = 6/6).
logmarnumberlog10 of the minimum angle of resolution: 0 = 20/20, higher is worse, each 0.1 is one ETDRS line.
mar_arcminnumberarcmin1 / decimal acuity (1 arcmin at 20/20).
categorystringDistance vision impairment category (mild: worse than 6/12 to 6/18; moderate: worse than 6/18 to 6/60; severe: worse than 6/60 to 3/60; blindness: worse than 3/60), applied to this acuity.
us_legal_blindnessstringWhether the acuity meets the US statutory criterion (20/200 or worse in the better eye with best correction; the alternative visual-field criterion is not assessed).
nearest_standard_linestringNearest ETDRS/logMAR chart line (0.1 logMAR steps from 20/10 to 20/800) with its Snellen equivalents.
input_interpreted_asstringHow the acuity text was interpreted.

Example

20/40: {"acuity":"20/40"}{"snellen_feet":"20/40","snellen_metres":"6/12","decimal_acuity":0.5,"logmar":0.3,"mar_arcmin":2,"nearest_standard_line":"20/40 (6/12), logMAR 0.3"}

6/6: {"acuity":"6/6","format":"auto"}{"snellen_feet":"20/20","snellen_metres":"6/6","decimal_acuity":1,"logmar":0,"mar_arcmin":1,"category":"Normal vision (6/6 = 20/20 or better)"}

GET https://tttkmbb.com/api/v1/calculate/snellen-vision-conversion?acuity=20%2F40

Machine access

Sources

FAQ

How do I read logMAR values?

0.0 is 20/20, each +0.1 is one line worse (0.3 = 20/40, 1.0 = 20/200) and negative values are better than 20/20 (−0.1 = 20/16). It is the scale used in research and ETDRS charts.

Why does 20/30 convert to 6/9 rather than the 6/9.5 on my chart?

The conversion is exact (20/30 = 0.667 = 6/9); ETDRS charts step in 0.1 logMAR, so their 6/9.5 line is 20/32 (logMAR 0.2), which nearest_standard_line reports.

What is legal blindness?

In the US, best-corrected acuity of 20/200 or worse in the better eye, or a visual field of 20° or less; other countries use different thresholds (the UK certifies severe sight impairment around 3/60).

Related calculators