CPT Codes for Eye Exams: The Complete Guide (92002 to 92015)

Last updated: August 6, 2026

There is no single CPT code for an eye exam, but a small family of them. Which one you use comes down to one decision made before the exam starts.

There is no single CPT code for an eye exam. There is a small family of them, and picking the right one depends less on the codes themselves than on one decision made before the exam even starts.

Search for the CPT code for an eye exam and you will get a confident, wrong answer: a single code, as if every eye exam were the same visit. It is not. An eye exam can be a routine wellness check, a medical workup for a symptom, a refraction for a glasses prescription, or several of those at once. Each carries a different code, and choosing among them is where a lot of eye care revenue is quietly won or lost.

This guide lays out the codes that actually apply to eye exams: the ophthalmological eye visit codes, the evaluation and management codes, refraction, vision screening, the common diagnostic tests, and the vision-plan and materials codes. More importantly, it explains the decision underneath all of them, because the code you choose is downstream of a question the code itself can never answer.

What is a CPT code for an eye exam?

A CPT code is the standardized number that tells a payer what service was performed. For an eye exam, there is no one code. Instead there are two families of exam codes, plus a set of supporting codes for refraction, testing, and materials. The ophthalmological eye visit codes (the 92000 series, maintained by the American Medical Association) were built specifically for eye exams. The evaluation and management codes (the 99000 series) are the general medical office visit codes that eye care also uses. Which family you reach for depends on the visit, and getting that first fork right matters more than any other coding decision in the exam room. The full landscape of eye-care codes beyond the exam itself lives in the vision billing codes guide.

The two code families: eye visit codes vs E/M codes

Every eye exam is billed with one of two code families, and the difference is the single most important thing to understand before you touch a code sheet.

The ophthalmological (Eye) visit codes, 92002 through 92014, describe a general ophthalmological service. They were designed for eye exams and are defined by the level of service (intermediate or comprehensive) and whether the patient is new or established. The evaluation and management (E/M) codes, 99202 through 99215, describe a general medical office visit and are defined by medical decision making or total time. Eye care can bill either family for the same physical exam, and the choice is not cosmetic. It changes documentation requirements, reimbursement, and how the claim reads to the payer.

Infographic showing an eye exam splitting into two CPT code families, the 92000 series eye visit codes and the 99000 series E/M office visit codes.
92xxx or 99xxx Both families can describe the same eye exam. The right choice depends on the payer, the reason for the visit, and what your documentation supports, not on habit.

Ophthalmological eye visit codes: 92002, 92004, 92012, 92014

These are the codes most people mean when they search for a comprehensive eye exam CPT code. They split along two axes: new versus established patient, and intermediate versus comprehensive service.

Table of the ophthalmological eye visit CPT codes 92002, 92004, 92012, and 92014, showing new versus established patient, intermediate versus comprehensive level, and the typical use of each code.

The comprehensive codes, 92004 and 92014, require a general evaluation of the complete visual system, which the American Academy of Ophthalmology documents in detail. Comprehensive is not tied to a single encounter and is not about how long you spent. It is about the scope of the service. The intermediate codes, 92002 and 92012, describe a more focused evaluation. One rule that trips up practices constantly: unlike E/M, the eye codes do not have a strict time or bullet-point formula, which makes solid documentation of medical necessity and scope essential.

E/M office visit codes for eye care: 99202 to 99215

The other family is the standard office visit set. New patient E/M runs 99202 to 99205; established patient E/M runs 99211 to 99215. Since the 2021 revision, these are selected by either medical decision making or total time on the date of the encounter, not by history and exam bullets, a change coded per AAPC conventions.

Eye care reaches for E/M codes when the visit is genuinely medical: a specific complaint, a diagnosis, a management plan. A patient presenting with flashes, a red eye, or a diabetic eye evaluation is often better captured by an E/M code than an eye code, because the documentation and the payer both expect a medical office visit. Choosing between a 92014 and a 99214 for the same patient is a real decision with real dollar consequences, and it turns on the reason for the visit, the payer, and what the chart supports.

Refraction: CPT code 92015

Refraction, the measurement that produces a glasses prescription, has its own code: 92015, determination of refractive state. It is billed in addition to the exam code, never instead of it.

Illustration of a phoropter with CPT code 92015, explaining that refraction is billed separately and is not covered by Medicare.

The critical fact about 92015 is coverage. Medicare treats refraction as a statutorily non-covered service, meaning it is excluded by law regardless of medical necessity, as the Centers for Medicare and Medicaid Services framework reflects and payer policy consistently applies. That means the patient or their vision plan pays for the refraction, not Medicare. Practices that fold refraction into the exam and forget to bill or collect for 92015 give away a service on nearly every routine visit. This is one of the most common quiet leaks in optometry billing, and it is entirely avoidable.

92015 Refraction is billed separately and is not covered by Medicare. It is the patient's or the vision plan's responsibility, and forgetting to bill it is a leak on nearly every routine exam.

Routine vs medical eye exam: the code follows the reason for the visit

Here is the decision underneath every code on this page. Whether an eye exam is routine or medical is not decided by the codes. It is decided by the reason the patient came in, and that determination drives both the code and the payer.

Infographic showing that the reason for an eye exam splits it into a routine visit billed to the vision plan or a medical visit billed to the medical carrier.

A routine eye exam is a wellness visit: a symptom-free patient coming in for a checkup and an updated glasses prescription. That belongs to the vision plan, and it is often billed with an eye code or a vision-plan S-code plus refraction. A medical eye exam is driven by a complaint, a symptom, or the monitoring of a condition like glaucoma or diabetes. That belongs to the medical carrier, and it is billed with an eye code or E/M code carrying a medical diagnosis. The same patient, in the same chair, can be either, and the difference between medical and vision insurance is exactly what separates the two. Get the reason-for-visit determination wrong and you will pick a technically valid code pointed at the wrong payer, which is the single most expensive mistake in the specialty.

Screening is not the same as an exam, and it has its own codes. CPT 99173 is a quantitative bilateral visual acuity screening, commonly used in pediatric and primary-care settings rather than a full eye exam. Related codes include 99172 for a visual function screen and 99174 or 99177 for instrument-based ocular screening. These are screening codes, not exam codes, and billing a screening code for a full eye exam, or the reverse, is a common miscode that either underpays the visit or invites a denial.

Common ophthalmic testing codes: OCT, visual fields, and more

Beyond the exam itself, eye care runs diagnostic tests that carry their own codes and are billed in addition to the visit when medically necessary and documented.

Table of common ophthalmic testing CPT codes, including 92133 and 92134 for OCT imaging, 92081 to 92083 for visual field exams, 92020 gonioscopy, 92250 fundus photography, and 92310 contact lens fitting.

Each of these has its own medical-necessity and frequency rules, and many are subject to bundling edits with the exam code. The point for this guide is simpler: they stack on top of the exam code, they are not a substitute for it, and each one still lands on a payer that the reason for the visit determined.

Vision plan exam and materials codes: S0620, S0621, and the V-codes

Vision plans often do not use the same codes as medical carriers. Routine vision exams for many vision plans are reported with HCPCS codes S0620 and S0621, a routine ophthalmological examination including refraction for a new (S0620) or established (S0621) patient. The materials themselves, frames, lenses, and contacts, carry the V-code series: V2020 for frames, the V2100 through V2499 range for spectacle lenses, and V2500 onward for contact lenses.

Which codes a given vision plan wants varies by plan, and the plan-specific detail is where practices get tripped up. The VSP billing guide and the EyeMed billing guide break down how the two largest vision plans expect these to be reported, and when a visit should leave the vision plan for the medical carrier entirely.

Diagnosis codes for an eye exam: Z01.00 and Z01.01

A CPT code says what you did; a diagnosis code says why. For a routine eye exam, the ICD-10 diagnosis is usually Z01.00, an encounter for examination of eyes and vision without abnormal findings, or Z01.01, the same encounter with abnormal findings. The dx code you choose has to match the story the CPT code tells. A routine Z-code paired with a medical eye code, or a medical diagnosis paired with a routine vision claim, is a mismatch that gets noticed, and coordinating the two correctly is part of why the coordination of benefits guide matters for any dual-coverage visit.

The one thing a CPT code cannot tell you

Every code on this page assumes a decision was already made correctly: which payer the visit belongs to. That is the decision the codes cannot make for you, and it is the one that determines whether you get paid correctly.

Illustration of a paid claim with a hidden downward value arrow, showing how a valid eye exam CPT code pointed at the wrong payer pays at a lower rate without denying.

When the reason for the visit is misjudged, a medical eye exam gets billed as routine vision, or the reverse. The claim does not deny. It is a valid code, a valid diagnosis, an eligible patient. It simply pays at the wrong rate, quietly, and no coding tool downstream flags it because nothing about the code is wrong. The loss never shows up on a denial report, so the practices losing the most are often the ones who think their coding is clean. Closing that gap is exactly what GIMBL was built to do. It is a pre-submission decision layer, not another code lookup: before the visit, it confirms new versus established status, surfaces every plan the patient holds, and points the visit at the payer it actually belongs to, so the correct code lands on the correct claim. The wider workflow this fits into is covered in the complete optometry billing guide, and how it sits alongside your existing tools is in the guide on optometry billing software.

Frequently asked questions

What is the CPT code for a routine eye exam?

There is no single code. A routine eye exam is commonly billed with an ophthalmological eye code (92002, 92004, 92012, or 92014) or a vision-plan HCPCS code (S0620 or S0621), plus 92015 for the refraction. Which one depends on the payer and whether the patient is new or established.

What is the difference between 92014 and 99214?

92014 is a comprehensive ophthalmological (Eye) visit code for an established patient, defined by the scope of the eye evaluation. 99214 is an established-patient E/M office visit code, defined by medical decision making or time. Eye care can use either for the same patient, and the right choice depends on the payer, the reason for the visit, and what the documentation supports.

Is refraction (92015) covered by insurance?

Refraction is a separate service billed with CPT 92015. Medicare does not cover it, treating it as a statutory exclusion, so it is the patient's or the vision plan's responsibility. Many private and vision plans do cover it, but it must be billed separately from the exam to be reimbursed or collected.

Do you bill an eye code or an E/M code for an eye exam?

Both are valid, and the choice depends on the visit. A general eye evaluation often fits the 92000 series eye codes, while a medically driven visit with a specific complaint and management plan often fits the 99000 series E/M codes. The determining factor is the reason for the visit and the payer, not preference.

Why do eye exam claims get underpaid even with the right CPT code?

Because a valid code can still be pointed at the wrong payer. When a medical visit is billed to the vision plan, or a routine visit to the medical carrier, the claim often pays at the lower rate rather than denying. Nothing about the code is wrong, so no scrubbing tool catches it, and the underpayment never appears on a denial report.