Home › Medical & 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
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
acuity | string | yes | Acuity 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). | |
format | enum: auto | snellen_ft | snellen_m | decimal | logmar | default auto | How to read acuity; auto recognises fractions, the word logMAR and plain decimals. |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
snellen_feet | string | 20/x notation. | |
snellen_metres | string | 6/x notation. | |
decimal_acuity | number | numerator / denominator (1.0 = 20/20 = 6/6). | |
logmar | number | log10 of the minimum angle of resolution: 0 = 20/20, higher is worse, each 0.1 is one ETDRS line. | |
mar_arcmin | number | arcmin | 1 / decimal acuity (1 arcmin at 20/20). |
category | string | Distance 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_blindness | string | Whether 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_line | string | Nearest ETDRS/logMAR chart line (0.1 logMAR steps from 20/10 to 20/800) with its Snellen equivalents. | |
input_interpreted_as | string | How 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
- API:
GET https://tttkmbb.com/api/v1/calculate/snellen-vision-conversion(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/snellen-vision-conversion · Markdown: https://tttkmbb.com/medical/snellen-vision-conversion.md · JSON definition: https://tttkmbb.com/medical/snellen-vision-conversion.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="snellen-vision-conversion" - OpenAPI operationId:
convert_visual_acuity - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
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
- Angle Converter — Convert the minimum angle of resolution between arcminutes and degrees.
- Glasgow Coma Scale Calculator — Another bedside neurological assessment converted to a standard scale.