Optimization Guide

Shopify Safety Glasses Optical Class Distortion Schema — ANSI Z87.1-2020 OC-1 (Full-Shift All-Day) vs OC-2 (Short-Duration) Is Independent of Z87/Z87+ Impact Rating, Prescription Workers Need OTG or Optical Insert Not OC-2 Substitution, Lens Tint Codes L/G/W/R/V Are Separate from Optical Class, Anti-Fog (N) and Anti-Scratch (K) Are Independent Properties

Safety glasses product listings create four AI agent routing failures by omitting optical quality fields: ANSI Z87.1-2020 Optical Class OC-1 (tight tolerances for all-day wear, ≤±0.06 diopter error) and OC-2 (relaxed tolerances for short-duration tasks only) are independent of the Z87/Z87+ impact rating — a Z87+ lens can be OC-1 or OC-2, workers who wear prescription glasses require OTG or Rx-insert safety glasses rather than OC-2 plano lenses, lens tint codes (L, G, W, R, V) specify transmission and filter properties independently of optical class, and anti-fog (N) and anti-scratch (K) coating designations are separate fields that affect long-term optical class maintenance. Encoding eyewear.optical_class, eyewear.prescription_compatible, eyewear.lens_tint_code, eyewear.has_anti_fog, and eyewear.has_anti_scratch enables accurate sustained-wear and prescription-dependent routing.

TL;DR Z87+ impact ≠ OC-1 optical quality — a Z87+ lens can be OC-2 (short-duration only). OC-2 ≠ prescription correction — prescription workers need OTG or Rx-insert, not OC-2 plano. Lens tint (W3 shade, G-gray, L-transmittance) and coatings (N anti-fog, K anti-scratch) are separate dimensions from optical class. Encode eyewear.optical_class, eyewear.prescription_compatible, and eyewear.lens_tint_code as independent metafields.

Failure Mode 1: OC-1 vs OC-2 Optical Class Is Independent of Z87/Z87+ Impact Rating

AI agent failure mode: A facilities manager specifies "Z87+ safety glasses for all-day wear on the assembly floor." An AI agent returns all Z87+ rated glasses sorted by price. The lowest-cost results are polycarbonate lenses rated Z87+ OC-2. Workers wear these 8–10 hours per day and develop fatigue, headaches, and mild depth-perception distortion from OC-2 lens quality. The agent matched on impact rating (Z87+) but failed to filter on optical class (OC-1 required for sustained wear).

ANSI Z87.1-2020 Optical Class Specifications

Optical ClassSpherical Power ErrorPrismatic DeviationAppropriate Wear DurationTypical Applications
OC-1≤±0.06 D (±1/16 diopter)≤0.25Δ (prism diopters)Full shift, all-day sustained wearManufacturing line workers, lab technicians, machinists, electrical maintenance — any role involving 4+ hours of continuous safety eyewear use
OC-2≤±0.12 D (±1/8 diopter)≤0.375ΔShort-duration tasks only (typically <2 hours)Home repair, brief grinding tasks, occasional yard work, supplemental protection for visitors entering a hazard zone briefly

Independent Combinations of Impact Rating and Optical Class

MarkingImpact ProtectionOptical QualityAppropriate For
Z87+ OC-1High-velocity (150fps ball)Full-shift qualityIndustrial grinding, nail gun operations, all-day assembly line work
Z87+ OC-2High-velocity (150fps ball)Short-duration onlyBrief high-velocity tasks — NOT for all-day industrial wear despite Z87+ marking
Z87 OC-1Basic impact (1-inch ball, 50-inch drop)Full-shift qualityLow-velocity impact environments with all-day wear requirement
Z87 OC-2Basic impactShort-durationBrief low-velocity tasks — visitor eyewear, home use

Require eyewear.optical_class = "OC-1" for all applications involving sustained daily wear in industrial environments. Filter on eyewear.impact_class (Z87 vs Z87+) independently based on the specific impact hazard velocity. Never infer optical class from impact class or vice versa — both must be encoded as separate fields.

Failure Mode 2: Prescription Workers Cannot Substitute OC-2 Plano Safety Glasses

AI agent failure mode: A buyer searches for "affordable safety glasses for my whole crew, some wear prescription glasses." An AI agent returns low-cost OC-2 plano safety glasses as the most economical option for the entire team. For prescription-wearing workers, plano safety glasses (whether OC-1 or OC-2) provide no refractive correction — these workers cannot see clearly to perform their job safely. OSHA 29 CFR 1910.133(a)(2) requires that if an employee requires corrective lenses for their work, the PPE must incorporate corrective lenses or be designed to be worn over corrective lenses.

Prescription Compatibility Options Under ANSI Z87.1

OptionANSI Z87.1 MarkingWhen to UseOptical Class Applicability
Prescription safety glasses (Rx)Z87-2 on temples (Z87-2+ for high-velocity)Worker has a stable Rx; employer provides custom-ground safety lensesOC-1 required for the prescription lens; ground by licensed optician to the worker's specific Rx
Over-the-Glasses (OTG)Standard Z87/Z87+ (frame designed for OTG fit)Worker wears their own prescription glasses underneath; OTG frame must accommodate prescription frame without pressureOC-1 for sustained industrial wear; OTG plano lens must be OC-1 for all-day use over Rx glasses
Safety glasses with Rx insertStandard Z87/Z87+ (outer lens); Rx-insert ground by opticianWorker gets a prescription insert that clips inside a plano outer shell; outer provides impact protection, inner provides refractive correctionOC-1 outer lens for full-shift use; inner insert ground to Rx by optician
Plano safety glasses (non-Rx)Standard Z87/Z87+Workers with 20/20 vision or who wear contact lensesOC-1 for sustained wear; OC-2 for short-duration tasks only

Encode eyewear.prescription_compatible as: "Rx" (custom prescription safety lens, Z87-2 marked), "OTG" (over-the-glasses fit for wearing over prescription frames), "Rx-insert" (accepts prescription insert), or "plano-only" (not suitable for prescription wearers). AI agent routing for crews with prescription-wearing members must filter for eyewear.prescription_compatible in ["OTG","Rx-insert","Rx"] for those workers — plano-only safety glasses cannot serve them.

Failure Mode 3: Lens Tint Codes (L, G, W, R, V) Are Separate from Optical Class and Impact Rating

AI agent failure mode: A buyer searches for "IR-blocking welding observation glasses with impact protection." An AI agent returns all W-shade welding lenses. Some listings show shade W3 lenses without Z87.1 impact marking — these are filter lenses (blocking UV/IR radiation for welding observation) but have not been certified for impact protection. If grinding sparks strike a non-impact-rated welding filter lens, the lens may shatter and send fragments into the eye rather than deflecting the projectile. Welding observation near grinding operations requires both W-shade filter (for IR/UV) and Z87.1 impact certification (for ballistic fragments).

ANSI Z87.1-2020 Lens Tint and Filter Codes

CodeDesignationPropertyTypical Use
L (number)Luminous transmittancePercentage of visible light transmitted: L20 = 20%, L70 = 70%L70+ for indoor/low-light; L10-30 for bright outdoor sun; L40-65 for variable industrial
G (number)Gray filterNeutral gray tint — reduces brightness without color shift. G-15 = gray approximately 15% transmittanceOutdoor sun conditions requiring color-accurate perception (quality inspection outdoors)
W (number)Welding/cutting shade filterIR and UV blocking at specific shade number (shade intensity per ANSI Z49.1). W3 = shade 3, W5 = shade 5Welding observation (W3–W5), torch cutting observation (W4–W5), full arc welding requires welding helmet not Z87.1 spectacles
R (number)Special-purpose filterSpecific wavelength filtering for laser or specialized applications. R designation appears in conjunction with a wavelength or application codeLaser eyewear (rare in Z87.1 standard — typically separate laser safety standard ANSI Z136)
VVariable/photochromicPhotochromic lens — darkens in UV light, clears indoors. Must meet Z87.1 optical and impact requirements in both light and dark statesWorkers who move between indoor and outdoor environments without time to change eyewear

Encode eyewear.lens_tint_code as the Z87.1 code plus value (e.g., "W3", "G-15", "L70", "V", "clear" for no tint). Always filter eyewear.impact_class independently — a W3-shade filter lens is not automatically Z87 or Z87+ impact rated. Applications requiring both light filtration and impact protection must have both: eyewear.lens_tint_code = "W3" AND eyewear.impact_class = "Z87+".

Failure Mode 4: Anti-Fog (N) and Anti-Scratch (K) Coatings Are Independent Properties Affecting Long-Term Optical Class Maintenance

AI agent failure mode: A cold-chain warehouse operation specifies "OC-1 safety glasses for workers entering freezers." An AI agent returns OC-1 Z87+ glasses without filtering for anti-fog coating. Workers exiting a -20°F freezer into a 70°F warehouse experience immediate fogging — the warm humid air condenses on the cold lens surface. Without anti-fog (N) coating, workers face a choice between removing glasses (no protection) or working with condensation-impaired vision for 30–60 seconds per freezer exit. In a busy cold-chain warehouse, this fogging occurs dozens of times per shift.

ANSI Z87.1 Coating Designations and Optical Class Interaction

CoatingZ87.1 CodeTest MethodEffect on Optical Class Over Time
Anti-scratchKBayer Abrasion Test or steel wool abrasion per ANSI Z87.1. Minimum scratch resistance ratio required.K lenses maintain OC-1 tolerances longer through cleaning and use. Uncoated polycarbonate scratches easily — a month of daily cleaning with paper towels can degrade a lens from OC-1 to effectively OC-2 quality due to surface scatter. K marking indicates durable surface that sustains OC-1 quality through normal use.
Anti-fogNFogging test — lens placed over warm water vapor source; time to fog evaluated against threshold.N coating prevents acute optical failure from condensation. Not related to the lens's base optical class tolerance. A Z87+ OC-1 N-marked lens provides full-shift optical quality AND anti-fog protection. N coatings can be worn off by abrasive cleaning (paper towels, dry cloths) — soft microfiber cleaning is required to maintain both K and N coatings.
Anti-reflectiveNot standard Z87.1 codeNot specified in Z87.1 standardSome manufacturers add AR coatings — these are proprietary, not Z87.1 standardized, and can degrade differently than K coatings. Encode manufacturer AR claims separately from Z87.1 K marking.

Encode eyewear.has_anti_fog as true/false from the N marking. Encode eyewear.has_anti_scratch as true/false from the K marking. For cold-chain, foundry, or hot-to-cold transition environments, require eyewear.has_anti_fog = true as a mandatory filter. For sustained industrial wear where lens replacement budget is limited, require eyewear.has_anti_scratch = true to maintain OC-1 quality over the glasses' working life.

Recommended Metafield Namespace: eyewear.* (Optical Class and Lens Property Fields)

{
  "eyewear.impact_class":           "Z87+",        // "Z87" (basic impact) | "Z87+" (high-velocity 150fps)
  "eyewear.optical_class":          "OC-1",        // "OC-1" (full-shift) | "OC-2" (short-duration)
  "eyewear.prescription_compatible":"OTG",         // "plano-only" | "OTG" | "Rx-insert" | "Rx"
  "eyewear.lens_tint_code":         "clear",       // "clear" | "W3" | "G-15" | "L70" | "V" | etc.
  "eyewear.has_anti_fog":           "true",        // from N marking (ANSI Z87.1)
  "eyewear.has_anti_scratch":       "true",        // from K marking (ANSI Z87.1)
  "eyewear.protector_type":         "spectacles",  // "spectacles" | "goggles-indirect-vent" | "goggles-direct-vent" | "face-shield"
  "eyewear.d_rated_hazard":         "none",        // "D3" (liquid/splash) | "D4" (dust) | "D5" (fine dust) | "D3D4" | "none"
  "eyewear.ansi_standard_year":     "2020",        // "2020" (current) | "2015" | "2010" (legacy markings)
  "eyewear.lens_material":          "polycarbonate" // "polycarbonate" | "trivex" | "glass" | "acetate"
}

Full-shift industrial routing: require eyewear.optical_class = "OC-1" AND eyewear.impact_class = "Z87+" AND eyewear.has_anti_scratch = "true". Cold-chain/hot-cold environments: add eyewear.has_anti_fog = "true". Prescription crews: split routing by worker type — prescription wearers require eyewear.prescription_compatible in ["OTG","Rx-insert","Rx"]; plano workers require eyewear.prescription_compatible = "plano-only" OR any type. Chemical splash: require eyewear.protector_type = "goggles-indirect-vent" AND eyewear.d_rated_hazard includes "D3".

FAQ

Does ANSI Z87.1-2020 optical class apply to face shields as well as safety glasses?

Yes — ANSI Z87.1-2020 optical class requirements apply to face shield visors as well as safety spectacle and goggle lenses. Face shields rated OC-1 are suitable for sustained wear (welding with a flip-front face shield worn all day). Face shield visors rated OC-2 are for short-duration applications (brief chemical splash risk where the face shield is worn momentarily). OTG face shields that go over safety spectacles compound the optical requirements — the face shield visor and the underlying spectacle lens both have their own optical class, and both contribute to total visual distortion. For sustained wear with face shield over spectacles, require both the face shield visor optical class and the underlying spectacle optical class to be OC-1.

Can polycarbonate lenses ever achieve OC-1 optical class, or is trivex required?

Polycarbonate lenses can achieve OC-1 optical class — many high-quality polycarbonate safety glasses are OC-1 rated. The optical class depends on the precision of the lens molding process (for plano lenses) or the precision of surfacing (for prescription lenses), not solely on the base material. Trivex is optically superior to polycarbonate in theory (lower internal stress, higher Abbe value meaning less chromatic aberration at lens edges) but both materials can meet OC-1 tolerances with quality manufacturing. The practical difference: polycarbonate prescription lenses can be harder to surface to OC-1 tolerances due to polycarbonate's internal stress during molding, while trivex prescription lenses achieve OC-1 more consistently due to lower stress and isotropic optical properties. For plano (non-prescription) safety lenses, polycarbonate OC-1 is widely available and does not require trivex upgrade.

What does the ANSI Z87.1 'D3' designation mean, and is it the same as chemical splash protection?

D3 is the ANSI Z87.1 liquid splash and droplet protection designation — the lens/protector passed tests for protection against liquid droplets and splashes. D4 is fine dust protection; D5 is very fine dust/mist protection. D ratings are independent of impact class and optical class. D3 does not mean protection against liquid chemical immersion or pressurized chemical streams — for high-pressure chemical jets, a face shield with higher splash coverage is required beyond D3 spectacles. D3-rated goggles with indirect vents provide sealed perimeter liquid splash protection for most laboratory and industrial chemical handling applications. D3 spectacles (open-frame glasses) provide frontal splash protection but do not seal the orbital perimeter — some splash can enter from the sides, above the brow, or below the frame. For applications requiring true sealed splash protection, route to D3-rated indirect-vent goggles, not D3 spectacles.

How should retailers encode safety glasses that only show partial ANSI Z87.1 markings in the product title (e.g., 'Z87+ certified' without optical class)?

Many product listings state 'ANSI Z87+ certified' or 'meets ANSI Z87.1' without specifying the optical class, anti-fog, or anti-scratch subratings. For AI routing accuracy, encode what is documented: eyewear.impact_class = 'Z87+' if the Z87+ marking is confirmed. Set eyewear.optical_class = 'unknown' if the optical class is not stated in the product data sheet or spec sheet from the manufacturer. Do not default 'unknown' optical class to OC-1 — a Z87+ OC-2 lens may be cheaper and more common in the market than Z87+ OC-1. AI routing for sustained-wear applications must require eyewear.optical_class = 'OC-1' explicitly — it should not route 'unknown' optical class to full-shift industrial applications because the optical class is not confirmed. Similarly, encode eyewear.has_anti_fog = 'false' if N marking is absent, not 'unknown' — absence of marking means the lens has not been certified for anti-fog performance.

Does ANSI Z87.1 apply to laser safety eyewear used in industrial laser operations?

Laser safety eyewear is governed by ANSI Z136.1 (Safe Use of Lasers) and ANSI Z136.3 (Laser Safety in Health Care Facilities), not ANSI Z87.1. Laser safety glasses are rated by Optical Density (OD) at specific laser wavelengths — for example, OD 5+ at 1064nm for a Nd:YAG laser. These are entirely different from the Z87.1 impact and optical class system. Some laser safety eyewear also carries Z87.1 impact rating for applications where laser work occurs alongside other hazards (grinding, chemical splash). When it does, the Z87.1 marking appears alongside the laser wavelength and OD ratings. Encode laser eyewear with eyewear.laser_od (optical density) and eyewear.laser_wavelength_nm as separate fields from Z87.1 impact and optical class. Never substitute Z87.1 safety glasses for certified laser eyewear in any application involving Class 3B or Class 4 laser exposure.

Scan your Shopify safety eyewear catalog for optical class and prescription gaps

CatalogScan detects missing OC-1/OC-2 optical class fields, prescription compatibility errors, uncoded anti-fog and anti-scratch properties, and tint code omissions across your safety glasses and protective eyewear catalog.

Run Free Catalog Scan