Convert a glasses (spectacle) prescription to an estimated contact lens prescription by adjusting for vertex distance, including cylinder and axis. You can also use it for frame changes by entering a different final vertex distance and choosing rounding.
Advanced options
How to use our Contact Lens Vertex Calculator
- Choose a conversion type (most people use Spectacles to contacts, often 12 mm to 0 mm).
- Enter Sphere (D) exactly as written on the prescription (use minus for myopia and plus for hyperopia).
- Enter Cylinder (D). If you have no astigmatism, enter 0.00.
- If Cylinder is not 0.00, enter Axis (degrees) from 1 to 180 (if Cylinder is 0.00, Axis is ignored).
- Enter the Initial vertex distance (mm) for the original lens position (typical glasses are around 12 to 14 mm).
- Open Advanced options if needed and enter Final vertex distance (mm) (use 0 mm for contact lenses, or a different value for a new glasses frame).
- In Advanced options, pick a rounding step (or Exact) and a rounding rule (Nearest, Up, or Down).
- Choose an output cylinder format (keep the input sign or transpose to plus-cylinder form).
- Click Calculate to see the exact converted sphere/cylinder, the two principal meridian powers, how much each meridian changed, and the rounded result.
Definitions
Vertex distance (mm): The gap from the back of a glasses lens to the front of your eye. Contacts sit on the eye, so their vertex distance is treated as 0 mm.
Diopter (D): A unit of lens power. Higher absolute values (like -8.00 D or +6.00 D) are more sensitive to vertex distance changes.
Sphere (D): The main focusing power for nearsightedness (minus) or farsightedness (plus).
Cylinder (D): Extra power for astigmatism. It affects one direction more than the other.
Axis (degrees): The direction (1 to 180) that tells where the cylinder has no effect. It is used only when Cylinder is not 0.00.
Principal meridians: The two perpendicular directions of lens power: one along the axis, and one 90 degrees away. This calculator adjusts each one separately, then converts back to sphere/cylinder/axis. [2]
Transpose (plus-cylinder vs minus-cylinder): Two different ways to write the same optics. Transposing changes the written numbers, not the actual lens effect.
Methodology
What this calculator is doing
Glasses sit a few millimeters in front of the eye, but contact lenses sit on the eye. Moving a lens closer or farther changes its effective power. Vertex compensation estimates the new power after a change in vertex distance. [1]
Step 1: Handle cylinder sign (internal standard)
This calculator does the meridian math in minus-cylinder form.
If your input Cylinder is already negative (or 0.00), it is treated as minus-cylinder.
If your input Cylinder is positive (plus-cylinder), the calculator first transposes it to an equivalent minus-cylinder prescription (same optics) before computing meridians, and then (optionally) transposes back for display.
Sphere_minus = Sphere_plus + Cylinder_plus
Cylinder_minus = -Cylinder_plus
Axis_minus = (Axis_plus + 90) mod 180, with 0 treated as 180
Step 2: Convert sphere/cylinder to the two principal meridian powers
The axis meridian equals the sphere. The meridian 90 degrees away equals sphere plus cylinder. [2]
F_axis_old = Sphere
F_orth_old = Sphere + Cylinder
Step 3: Vertex compensate each meridian (mm to m)
Convert millimeters to meters and compute the distance change.
d_initial_m = vertex_initial_mm / 1000
d_final_m = vertex_final_mm / 1000
delta_d_m = d_initial_m - d_final_m
Apply the standard vertex compensation to each meridian. [1]
F_new = F_old / (1 - delta_d_m * F_old)
F_axis_new = F_axis_old / (1 - delta_d_m * F_axis_old)
F_orth_new = F_orth_old / (1 - delta_d_m * F_orth_old)
If a denominator is 0 (or extremely close to 0), the result is not computable, and the calculator shows an error instead of an infinite value.
Step 4: Convert the new meridians back to sphere/cylinder/axis
Sphere_out_minus = F_axis_new
Cylinder_out_minus = F_orth_new - F_axis_new
Axis_out = Axis_in
The axis stays the same because vertex compensation changes strength, not direction.
Step 5: Changes (deltas) reported in the results
Each delta is the compensated meridian minus the original meridian. Negative means more minus (or less plus) in that direction.
Delta_axis = F_axis_new - F_axis_old
Delta_orth = F_orth_new - F_orth_old
Step 6: Optional transpose for display
If you choose plus-cylinder output, the calculator transposes the computed minus-cylinder output to plus-cylinder form (same optics).
Sphere_out_plus = Sphere_out_minus + Cylinder_out_minus
Cylinder_out_plus = -Cylinder_out_minus
Axis_out_plus = (Axis_out_minus + 90) mod 180, with 0 treated as 180
Step 7: Rounding (optional)
If you choose a step like 0.25 D, rounding is applied after all exact calculations (rounded values do not feed back into the math).
Rounded = round_rule(Exact / step) * step
Nearest rounds to the closest step. Up means toward more plus (or less minus). Down means toward more minus (or less plus).
Notes on interpretation
Vertex effects are usually small at low powers and larger at high absolute powers or large vertex changes. If rounding removes cylinder (for example, cylinder rounds to 0.00), the display may no longer reflect available toric lens choices, so treat the rounded result as a practical estimate to discuss with a clinician.