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.
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
ANSI Z87.1-2020 Optical Class Specifications
| Optical Class | Spherical Power Error | Prismatic Deviation | Appropriate Wear Duration | Typical Applications |
|---|---|---|---|---|
| OC-1 | ≤±0.06 D (±1/16 diopter) | ≤0.25Δ (prism diopters) | Full shift, all-day sustained wear | Manufacturing 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
| Marking | Impact Protection | Optical Quality | Appropriate For |
|---|---|---|---|
| Z87+ OC-1 | High-velocity (150fps ball) | Full-shift quality | Industrial grinding, nail gun operations, all-day assembly line work |
| Z87+ OC-2 | High-velocity (150fps ball) | Short-duration only | Brief high-velocity tasks — NOT for all-day industrial wear despite Z87+ marking |
| Z87 OC-1 | Basic impact (1-inch ball, 50-inch drop) | Full-shift quality | Low-velocity impact environments with all-day wear requirement |
| Z87 OC-2 | Basic impact | Short-duration | Brief 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
Prescription Compatibility Options Under ANSI Z87.1
| Option | ANSI Z87.1 Marking | When to Use | Optical 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 lenses | OC-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 pressure | OC-1 for sustained industrial wear; OTG plano lens must be OC-1 for all-day use over Rx glasses |
| Safety glasses with Rx insert | Standard Z87/Z87+ (outer lens); Rx-insert ground by optician | Worker gets a prescription insert that clips inside a plano outer shell; outer provides impact protection, inner provides refractive correction | OC-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 lenses | OC-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
ANSI Z87.1-2020 Lens Tint and Filter Codes
| Code | Designation | Property | Typical Use |
|---|---|---|---|
| L (number) | Luminous transmittance | Percentage 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 filter | Neutral gray tint — reduces brightness without color shift. G-15 = gray approximately 15% transmittance | Outdoor sun conditions requiring color-accurate perception (quality inspection outdoors) |
| W (number) | Welding/cutting shade filter | IR and UV blocking at specific shade number (shade intensity per ANSI Z49.1). W3 = shade 3, W5 = shade 5 | Welding observation (W3–W5), torch cutting observation (W4–W5), full arc welding requires welding helmet not Z87.1 spectacles |
| R (number) | Special-purpose filter | Specific wavelength filtering for laser or specialized applications. R designation appears in conjunction with a wavelength or application code | Laser eyewear (rare in Z87.1 standard — typically separate laser safety standard ANSI Z136) |
| V | Variable/photochromic | Photochromic lens — darkens in UV light, clears indoors. Must meet Z87.1 optical and impact requirements in both light and dark states | Workers 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
ANSI Z87.1 Coating Designations and Optical Class Interaction
| Coating | Z87.1 Code | Test Method | Effect on Optical Class Over Time |
|---|---|---|---|
| Anti-scratch | K | Bayer 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-fog | N | Fogging 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-reflective | Not standard Z87.1 code | Not specified in Z87.1 standard | Some 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