www.lenscrafters.com Open in urlscan Pro
23.32.29.105  Public Scan

Submitted URL: http://lenscrafters.com/
Effective URL: https://www.lenscrafters.com/
Submission: On May 23 via manual from AU — Scanned from AU

Form analysis 6 forms found in the DOM

Name: navigation-find-a-storeGET /lc-us/eye-exam

<form id="storeSearchFormHeader" action="/lc-us/eye-exam" name="navigation-find-a-store" method="get" class="ng-pristine ng-valid" novalidate="novalidate">
  <input type="hidden" name="storeId" value="10851" autocomplete="off">
  <input type="hidden" name="catalogId" value="11651" autocomplete="off">
  <input type="hidden" name="langId" value="-1" autocomplete="off">
  <input type="hidden" name="fromHeader" value="true" autocomplete="off">
  <input type="hidden" class="latLong" name="latLong" value="" autocomplete="off">
  <input type="hidden" name="page" value="0" autocomplete="off">
  <input type="hidden" name="apptId" value="" autocomplete="off">
  <input type="hidden" name="reschedule" value="" autocomplete="off">
  <input type="hidden" id="StoreLocator_ProductId_Header" name="productId" value="" autocomplete="off">
  <input id="requiredFieldCityStateOrZipCode" type="text" autocomplete="off" class="store-input blur" aria-label="Location entry" name="locationEntry" value="" maxlength="64" placeholder="Enter City / State or Zip Code">
  <button id="storeSearchFormHeaderBtnForm" class="store-search-submit submit-find-store button-medium-blue-fill" href="javascript:void(0);"
    onclick="javascript:utag.link({link_name:'In-Store Lookup',product_id:['']});checkRequiredFieldCityStateOrZipCode();" type="button" data-element-id="X_X_MainNav_EYE-ZipCode"> SEARCH </button>
</form>

Name: CatalogSearchFormGET /SearchDisplay

<form name="CatalogSearchForm" action="/SearchDisplay" method="get" id="CatalogSearchForm" ng-show="searchOpen == true" class="ng-pristine ng-valid ng-hide">
  <input type="hidden" name="storeId" value="10851" id="WC_CachedHeaderDisplay_FormInput_storeId_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="catalogId" value="22701" id="WC_CachedHeaderDisplay_FormInput_catalogId_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="langId" value="-1" id="WC_CachedHeaderDisplay_FormInput_langId_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="pageSize" value="24" id="WC_CachedHeaderDisplay_FormInput_pageSize_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="beginIndex" value="0" id="WC_CachedHeaderDisplay_FormInput_beginIndex_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="searchSource" value="Q" id="WC_CachedHeaderDisplay_FormInput_searchSource_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="sType" value="SimpleSearch" id="WC_CachedHeaderDisplay_FormInput_sType_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="resultCatEntryType" value="2" id="WC_CachedHeaderDisplay_FormInput_resultType_In_CatalogSearchForm_1" autocomplete="off">
  <input type="hidden" name="showResultsPage" value="true" id="WC_CachedHeaderDisplay_input_1" autocomplete="off"> <input type="hidden" name="pageView" value="" id="WC_CachedHeaderDisplay_input_2" autocomplete="off"> <input type="hidden"
    name="showCarousel" value="true" id="showCarousel" autocomplete="off">
  <input type="hidden" name="selectedTab" value="" autocomplete="off">
  <div id="header-search" ng-class="searchInputHasGainFocus == true ? 'd-flex' : ''">
    <span id="searchTextHolder" class="nodisplay">Search for...</span>
    <span class="spanacce"> ???SEARCH_ACCESSKEY??? </span>
    <meta name="CommerceSearch" content="storeId_10851">
    <a id="close-mobile-search" class="hide show-xs-only show-sm-only ng-hide" ng-show="searchInputHasGainFocus" ng-click="hideSearch(); mobileMenuStatus = 0; searchInputHasGainFocus = false; emptySearchField = true; resetSearchField();" title="close search"></a>
    <label for="SimpleSearchForm_SearchTerm" class="nodisplayClass"> ???SEARCH_CATALOG??? </label>
    <input type="text" maxlength="64" accesskey="0" size="18" class="search-txt blur" ng-class="{mobile:mobileMenuStatus}" name="searchTerm" id="SimpleSearchForm_SearchTerm" value="Search for..."
      onfocus="JavaScript:retrieveCachedSuggestions('CachedSuggestionsView?langId=-1&amp;storeId=10851&amp;catalogId=22701'); clearSearchField();" onblur="fillSearchField();"
      onkeyup="doAutoSuggest(event, &quot;AutoSuggestView?coreName=MC_22651_CatalogEntry_en_US&amp;serverURL=http%3a%2f%2flbsolrronaprodlive.luxgroup.net%3a3737%2fsolr%2fMC_22651_CatalogEntry_en_US&quot;, this.value);"
      onkeypress="onKeyPressFunctions(event);" ng-init="resetSearchField();" ng-keyup="showCloseIcon($event);" ng-keypress="emptySearchField = false"
      ng-focus="searchInputHasGainFocus = true; searchOpen = true; emptySearchField = (deviceType == 'D' ? false : true);" autocomplete="off" tabindex="-1">
    <script type="text/javascript">
      // The primary Array to hold all static search suggestions
      var staticContent = new Array();
      // The titles of each search grouping
      var staticContentHeaders = new Array();
      var staticContentHeaderHistory = "???SEARCH_HISTORY???"
      // The auto suggest container ID's
      var staticContentSectionDiv = ["autoSuggestStatic_1", "autoSuggestStatic_2", "autoSuggestStatic_3"];
    </script>
    <div dojotype="wc.widget.RefreshArea" widgetid="AutoSuggestCachedSuggestions" controllerid="AutoSuggestCachedSuggestionsController" id="autoSuggestCachedSuggestions_div" role="region" aria-label="Auto Suggest Suggestions" waistate:live="polite"
      waistate:atomic="true" waistate:relevant="all" style="display: none;"></div>
    <button class="WC_CachedHeaderDisplay_button_1" type="submit" href="#" title="Click here to perform a search."
      onclick="JavaScript:document.CatalogSearchForm.searchTerm.value=trim(document.CatalogSearchForm.searchTerm.value); if(document.CatalogSearchForm.searchTerm.value); if(document.CatalogSearchForm.searchTerm.value.length > 0 &amp;&amp; document.CatalogSearchForm.searchTerm.value != 'Search LensCrafters.com') {submitSpecifiedForm(document.CatalogSearchForm);} return false;">
      ???SEARCH_CATALOG??? </button>
    <div id="autoCompleteContainer"></div>
  </div>
</form>

Name: navigation-find-a-storeGET /lc-us/eye-exam

<form id="storeSearchFormHome-home" action="/lc-us/eye-exam" name="navigation-find-a-store" method="get" class="ng-pristine ng-valid" novalidate="novalidate">
  <input type="hidden" name="storeId" value="10851" autocomplete="off">
  <input type="hidden" name="catalogId" value="22701" autocomplete="off">
  <input type="hidden" name="fromHeader" value="true" autocomplete="off">
  <input type="hidden" name="langId" value="-1" autocomplete="off">
  <input type="hidden" class="latLong" name="latLong" value="" autocomplete="off">
  <input type="hidden" name="page" value="0" autocomplete="off">
  <input type="hidden" name="apptId" value="" autocomplete="off">
  <input type="hidden" name="reschedule" value="" autocomplete="off">
  <input type="text" autocomplete="off" class="store-input" aria-label="Location entry" name="locationEntry" value="" maxlength="64" placeholder="Enter City / State or Zip Code" data-element-id="X_X_MainNav_EYE-ZipCode">
  <button class="store-search-submit submit-find-store" type="submit" data-element-id="X_X_1Hero_Banner1_CTA"> SCHEDULE </button>
</form>

Name: navigation-find-a-storeGET /lc-us/eye-exam

<form id="storeSearchFormHome-mob" action="/lc-us/eye-exam" name="navigation-find-a-store" method="get" class="ng-pristine ng-valid" novalidate="novalidate">
  <input type="hidden" name="storeId" value="10851" autocomplete="off">
  <input type="hidden" name="catalogId" value="22701" autocomplete="off">
  <input type="hidden" name="fromHeader" value="true" autocomplete="off">
  <input type="hidden" name="langId" value="-1" autocomplete="off">
  <input type="hidden" class="latLong" name="latLong" value="" autocomplete="off">
  <input type="hidden" name="page" value="0" autocomplete="off">
  <input type="hidden" name="apptId" value="" autocomplete="off">
  <input type="hidden" name="reschedule" value="" autocomplete="off">
  <input type="text" autocomplete="off" class="store-input" aria-label="Location entry" name="locationEntry" value="" maxlength="64" placeholder="Enter City / State or Zip Code" data-element-id="X_X_MainNav_EYE-ZipCode">
  <button class="store-search-submit submit-find-store" type="submit" data-element-id="X_X_1Hero_Banner1_CTA"> SCHEDULE </button>
</form>

<form class="section emailSignup ng-pristine ng-valid" id="emailSignup">
  <input name="preregister" ng-model="subscribe.preregister" type="hidden" ng-init="subscribe.preregister=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="addressType" ng-model="subscribe.addressType" type="hidden" ng-init="subscribe.addressType='M'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="lcGeneralEmailOptIn_10851_r_1" ng-model="subscribe.lcGeneralEmailOptIn" type="hidden" ng-init="subscribe.lcGeneralEmailOptIn=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="ageCheck_10851_r_1" ng-model="subscribe.ageCheck" type="hidden" ng-init="subscribe.ageCheck=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="canAddOrigin" ng-model="subscribe.canAddOrigin" type="hidden" ng-init="subscribe.canAddOrigin=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="optinStatus" ng-model="subscribe.optinStatus" type="hidden" ng-init="subscribe.optinStatus=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="URL" ng-model="subscribe.URL" type="hidden" ng-init="subscribe.URL='SuccessView'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="storeId" ng-model="subscribe.storeId" type="hidden" ng-init="subscribe.storeId='10851'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="langId" ng-model="subscribe.langId" type="hidden" ng-init="subscribe.langId='-1'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="emailType" ng-model="subscribe.emailType" type="hidden" ng-init="subscribe.emailType='Footer'" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="showRegister" ng-model="subscribe.showRegister" type="hidden" ng-init="subscribe.showRegister=true" autocomplete="off" class="ng-pristine ng-untouched ng-valid ng-not-empty">
  <input name="email" ng-model="subscribe.enteredEmail" id="footer_email_signup_acc" placeholder="Enter your e-mail address" class="ng-pristine ng-untouched ng-valid ng-empty">
  <button type="submit" class="" ng-click="submitEmailSubscription();" data-element-id="X_X_Subscribe_SignUp"> SIGN UP </button>
</form>

Name: insuranceLoginForm

<form name="insuranceLoginForm" class="css-form ng-pristine ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength" novalidate="">
  <span class="ng-binding"> </span>
  <div class="login-data">
    <div class="firstname-input"
      ng-class="{'invalid': !firstname_resetenabled &amp;&amp; !insuranceLoginForm.firstname.$valid &amp;&amp; insuranceLoginForm.firstname.$touched, bold: important, 'valid': !firstname_resetenabled &amp;&amp; insuranceLoginForm.firstname.$valid}">
      <section class="insurance-input-container">
        <input class="utagpiimask input ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required ng-valid-pattern" reset-field="" placeholder=" " id="firstname" type="text" ng-model="loginData.firstname" name="firstname"
          ng-pattern="/^([a-zA-Z]{2,})(\s[a-zA-Z]{2,})*$/" ng-required="personalFormRequired()" aria-label="First name"
          required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
        <label>First Name<span class="required-field">*</span></label>
      </section>
      <span class="insurance-input-validation required-firstname live-validation ng-hide" ng-show="!firstname_resetenabled &amp;&amp; step2.firstname.$dirty &amp;&amp; step2.firstname.$viewValue == null"
        aria-label="The first name field cannot be empty." tabindex="0"> The first name field cannot be empty. </span>
      <span class="insurance-input-validation letters-only-firstname live-validation ng-hide"
        ng-show="!firstname_resetenabled &amp;&amp; step2.firstname.$dirty &amp;&amp; step2.firstname.$invalid &amp;&amp; step2.firstname.$viewValue != null &amp;&amp; step2.firstname.$error.pattern" aria-label="Please enter letters only"
        tabindex="0"> Please enter letters only </span>
      <span ng-show="!insuranceLoginForm.firstname.$valid &amp;&amp; insuranceLoginForm.firstname.$touched" tabindex="-1" aria-label="Please enter a valid first name" class="insurance-input-validation ng-hide">Please enter a valid first name.</span>
    </div>
    <div class="lastname-input"
      ng-class="{'invalid': !lastname_resetenabled &amp;&amp; !insuranceLoginForm.lastname.$valid &amp;&amp; insuranceLoginForm.lastname.$touched, bold: important, 'valid': !lastname_resetenabled &amp;&amp; insuranceLoginForm.lastname.$valid}">
      <section class="insurance-input-container">
        <input class="utagpiimask input ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required ng-valid-pattern" id="lastname" reset-field="" placeholder=" " type="text" ng-model="loginData.lastname" name="lastname"
          ng-pattern="/^([a-zA-Z]{2,})(\s[a-zA-Z]{2,})*$/" ng-required="personalFormRequired()" aria-label="Last name"
          required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
        <label>Last Name<span class="required-field">*</span></label>
      </section>
      <span ng-show="!insuranceLoginForm.lastname.$valid &amp;&amp; insuranceLoginForm.lastname.$touched" tabindex="-1" aria-label="Please enter a valid last name" class="insurance-input-validation ng-hide">Please enter a valid last name.</span>
    </div>
    <div class="dob-zip-container">
      <div class="dob-input" ng-class="{'invalid': !dob_resetenabled &amp;&amp; !insuranceLoginForm.dob.$valid &amp;&amp; insuranceLoginForm.dob.$touched, bold: important, 'valid': !dob_resetenabled &amp;&amp; insuranceLoginForm.dob.$valid }">
        <lc-datepicker format="MM/dd/yyyy" show-calendar="dobDatePickerToggle" selector="#date-of-birth2" start-date="dateSet" max-date="maxDate" class="ng-isolate-scope">
          <div ng-transclude="">
            <input id="date-of-birth2" inputmode="numeric" class="lc-input lc-input-text utagpiimask ng-pristine ng-untouched ng-scope ng-empty ng-invalid ng-invalid-required ng-valid-minlength ng-valid-maxlength" name="dob" ng-minlength="10"
              ng-maxlength="10" ng-model="loginData.dob" placeholder="Date of birth" angular-mask="00/00/0000" ng-required="personalFormRequired()" dob-validation="" required="required">
            <label class="lc-input-label ng-scope" for="dob">Date of birth<span class="required-field">*</span></label>
            <a class="calendar-btn ng-scope" ng-click="dobDatePickerToggleFn()">
											<svg width="20" height="22" viewBox="0 0 20 22" fill="none" xmlns="http://www.w3.org/2000/svg">
												<path d="M16.9231 3H3.07692C1.92987 3 1 4.00736 1 5.25V18.75C1 19.9926 1.92987 21 3.07692 21H16.9231C18.0701 21 19 19.9926 19 18.75V5.25C19 4.00736 18.0701 3 16.9231 3Z" stroke="#222222" stroke-width="1.5" stroke-linejoin="round"></path>
												<path d="M10.5 10.125C10.5 10.3321 10.3321 10.5 10.125 10.5C9.91789 10.5 9.75 10.3321 9.75 10.125C9.75 9.91789 9.91789 9.75 10.125 9.75C10.3321 9.75 10.5 9.91789 10.5 10.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M15.5 10.125C15.5 10.3321 15.3321 10.5 15.125 10.5C14.9179 10.5 14.75 10.3321 14.75 10.125C14.75 9.91789 14.9179 9.75 15.125 9.75C15.3321 9.75 15.5 9.91789 15.5 10.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M10.5 13.625C10.5 13.8321 10.3321 14 10.125 14C9.91789 14 9.75 13.8321 9.75 13.625C9.75 13.4179 9.91789 13.25 10.125 13.25C10.3321 13.25 10.5 13.4179 10.5 13.625Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M15.5 13.625C15.5 13.8321 15.3321 14 15.125 14C14.9179 14 14.75 13.8321 14.75 13.625C14.75 13.4179 14.9179 13.25 15.125 13.25C15.3321 13.25 15.5 13.4179 15.5 13.625Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M5.5 13.625C5.5 13.8321 5.33211 14 5.125 14C4.91789 14 4.75 13.8321 4.75 13.625C4.75 13.4179 4.91789 13.25 5.125 13.25C5.33211 13.25 5.5 13.4179 5.5 13.625Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M5.5 17.125C5.5 17.3321 5.33211 17.5 5.125 17.5C4.91789 17.5 4.75 17.3321 4.75 17.125C4.75 16.9179 4.91789 16.75 5.125 16.75C5.33211 16.75 5.5 16.9179 5.5 17.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M10.5 17.125C10.5 17.3321 10.3321 17.5 10.125 17.5C9.91789 17.5 9.75 17.3321 9.75 17.125C9.75 16.9179 9.91789 16.75 10.125 16.75C10.3321 16.75 10.5 16.9179 10.5 17.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M15.5 17.125C15.5 17.3321 15.3321 17.5 15.125 17.5C14.9179 17.5 14.75 17.3321 14.75 17.125C14.75 16.9179 14.9179 16.75 15.125 16.75C15.3321 16.75 15.5 16.9179 15.5 17.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M5.5 10.125C5.5 10.3321 5.33211 10.5 5.125 10.5C4.91789 10.5 4.75 10.3321 4.75 10.125C4.75 9.91789 4.91789 9.75 5.125 9.75C5.33211 9.75 5.5 9.91789 5.5 10.125Z" fill="#222222" stroke="#222222" stroke-width="1.5"></path>
												<path d="M6 1.25V2.75" stroke="#222222" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
												<path d="M14 1V2.5" stroke="#222222" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
												<path d="M19 6L1 6" stroke="#222222" stroke-width="1.5" stroke-linejoin="round"></path>
											</svg>
										</a>
            <span ng-show="!insuranceLoginForm.dob.$valid &amp;&amp; insuranceLoginForm.dob.$touched" tabindex="-1" aria-label="Please enter a valid date of birth" class="insurance-input-validation ng-scope ng-hide">Please enter a valid date of
              birth.</span>
          </div><button type="button" ng-show="showToggle" class="calendar-toggle ng-hide" ng-click="toggleCalendar()">Toggle calendar</button>
          <div class="underlay ng-hide" ng-show="showCalendar" ng-click="toggleCalendar()"></div>
          <div class="lc-datepicker ng-hide" ng-show="showCalendar" ng-switch="" on="currentPage" data-analytics_available_call="0"> <!-- ngSwitchWhen: yearPage --> <!-- ngSwitchWhen: monthPage --> <!-- ngSwitchWhen: datePage -->
            <div class="date-page ng-scope" ng-switch-when="datePage">
              <div class="header"> <span class="header-control ng-binding" ng-click="goToMonthPage()">May</span> <span class="header-control ng-binding" ng-click="goToYearPage()">2023</span>
                <div class="buttons"> <button type="button" class="prev" ng-class="{'disabled': prevMonthIsInvalid()}" ng-disabled="prevMonthIsInvalid()" ng-click="goToPrevMonth()"> &lt; </button> <button type="button" class="next disabled"
                    ng-class="{'disabled': nextMonthIsInvalid()}" ng-disabled="nextMonthIsInvalid()" ng-click="goToNextMonth()" disabled="disabled"> &gt; </button> </div>
              </div>
              <div class="weekdays"> <!-- ngRepeat: day in week --><span class="weekday ng-binding ng-scope" ng-repeat="day in week">Sun</span><!-- end ngRepeat: day in week --><span class="weekday ng-binding ng-scope"
                  ng-repeat="day in week">Mon</span><!-- end ngRepeat: day in week --><span class="weekday ng-binding ng-scope" ng-repeat="day in week">Tue</span><!-- end ngRepeat: day in week --><span class="weekday ng-binding ng-scope"
                  ng-repeat="day in week">Wed</span><!-- end ngRepeat: day in week --><span class="weekday ng-binding ng-scope" ng-repeat="day in week">Thu</span><!-- end ngRepeat: day in week --><span class="weekday ng-binding ng-scope"
                  ng-repeat="day in week">Fri</span><!-- end ngRepeat: day in week --><span class="weekday ng-binding ng-scope" ng-repeat="day in week">Sat</span><!-- end ngRepeat: day in week --> </div>
              <div class="dates-list"> <!-- ngRepeat: date in pastMonth --><span class="date pastMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in pastMonth" ng-click="selectDate(date)"> 30 </span><!-- end ngRepeat: date in pastMonth --> <!-- ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 1 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 2
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth"
                  ng-click="selectDate(date)"> 3 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 4 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 5 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 6
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth"
                  ng-click="selectDate(date)"> 7 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 8 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 9 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 10
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth"
                  ng-click="selectDate(date)"> 11 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 12 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 13 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 14
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth"
                  ng-click="selectDate(date)"> 15 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 16 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 17 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 18
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth"
                  ng-click="selectDate(date)"> 19 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 20 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 21 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 22
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth"
                  ng-click="selectDate(date)"> 23 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 24 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 25
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 26 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 27 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 28
                </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}"
                  ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 29 </span><!-- end ngRepeat: date in currentMonth --><span class="date currentMonth ng-binding ng-scope invalid"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 30 </span><!-- end ngRepeat: date in currentMonth --><span
                  class="date currentMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in currentMonth" ng-click="selectDate(date)"> 31
                </span><!-- end ngRepeat: date in currentMonth --> <!-- ngRepeat: date in nextMonth --><span class="date nextMonth ng-binding ng-scope invalid"
                  ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth" ng-click="selectDate(date)"> 1 </span><!-- end ngRepeat: date in nextMonth --><span
                  class="date nextMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth" ng-click="selectDate(date)"> 2
                </span><!-- end ngRepeat: date in nextMonth --><span class="date nextMonth ng-binding ng-scope invalid" ng-class="{'selected': selectedDate.getTime() === date.getTime(), 'invalid': dateIsInvalid(date)}" ng-repeat="date in nextMonth"
                  ng-click="selectDate(date)"> 3 </span><!-- end ngRepeat: date in nextMonth --> </div>
            </div><!-- end ngSwitchWhen: -->
          </div>
        </lc-datepicker>
      </div>
      <div class="zipcode-input"
        ng-class="{'invalid': !zipcode_resetenabled &amp;&amp; !insuranceLoginForm.zipcode.$valid &amp;&amp; insuranceLoginForm.zipcode.$touched, bold: important, 'valid': !zipcode_resetenabled &amp;&amp; insuranceLoginForm.zipcode.$valid}">
        <section class="insurance-input-container">
          <input class="utagpiimask input ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required ng-valid-pattern" reset-field="" placeholder=" " type="text" inputmode="numeric" ng-model="loginData.zipcode" name="zipcode"
            ng-pattern="/^[0-9]{5}(?:-[0-9]{4})?$/" ng-required="personalFormRequired()" aria-label="Zipcode"
            required="required"><a ng-show="enabled" class="clear-input-icon ng-scope ng-hide" ng-mousedown="reset()"><svg class="icon close"><use xlink:href="#clear-input"></use></svg></a>
          <label>Zip Code<span class="required-field">*</span></label>
        </section>
        <span ng-show="!insuranceLoginForm.zipcode.$valid &amp;&amp; insuranceLoginForm.zipcode.$touched" tabindex="-1" aria-label="Please enter a valid zip code" class="insurance-input-validation ng-hide">Please enter a valid zip code.</span>
      </div>
    </div>
  </div>
  <div class="submit-plan-info">
    <div class="age-check">
      <scfg:storeconfigregistry var="insuranceURL" registrykey="INSURANCE_CLAIM_SYSTEM_LC">
        <label class="lc-control lc-control--checkbox" for="certifyage">I certify that my use of this service abides by the <a class="hippa-privacypolicies" href="/lc-us/privacy-policy"> Luxottica Retail HIPAA &amp; Privacy Policies</a>
          <input type="checkbox" ng-model="loginData.certifyage" name="certifyage" id="certifyage" data-element-id="D_X_MainNav_VisionInsurance-18YearsOld" required="" aria-label="18 years vision insurance checkbox"
            class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
          <div class="lc-control__indicator"></div>
        </label>
        <span class="age-check-error ng-hide" ng-show="!insuranceLoginForm.certifyage.$valid &amp;&amp; insuranceLoginForm.certifyage.$touched"
          aria-label="To proceed, tick the box above to certify you're 18 years or older. If you're not, you cannot proceed with this step.">To proceed, tick the box above to certify you're 18 years or older. If you're not, you cannot proceed with
          this step.</span>
      </scfg:storeconfigregistry>
    </div>
    <button class="submit-plan-info-button" name="submitplaninfobutton" ng-click="submitInsuranceLogin(insuranceLoginForm)" data-description="" data-element-id="X_X_InsurancePanel_Submit">Apply insurance</button>
  </div>
</form>

Text Content

LENSCRAFTERS

Find a Store
Previous
Buy online, pick up in store. Shop Now
It's our 40th anniversary!
Shop now, pay later. Discover more
Free shipping and free returns.
Discover blue-violet light filtering lenses. Shop now
Book an eye exam online. Schedule now
Buy online, pick up in store. Shop Now
It's our 40th anniversary!
Shop now, pay later. Discover more
Free shipping and free returns.
Discover blue-violet light filtering lenses. Shop now
Book an eye exam online. Schedule now
Buy online, pick up in store. Shop Now
Next
Insurance accepted online and in store
0

EYEGLASSES
Eyeglasses


SHOP BY gender
Women’s Eyeglasses

Men’s Eyeglasses

Kid’s Eyeglasses

Shop all eyeglasses
SHOP STYLES FOR YOU
Our Style Guide Frame Advisor
SHOP BY OFFER
Designer Sale | 50% off frame + lenses* Frame + lenses starting at $99
SHOP BY LENSES
Blue-Violet light Transitions
SHOP BY our picks
Best sellers Ray-Ban Oakley New arrivals Ray-Ban Stories
view all eyeglasses


30% OFF FRAMES
+ 50% OFF LENSES

SHOP NOW

30% OFF FRAMES
+ 50% OFF LENSES

SHOP NOW
SUNGLASSES
Sunglasses


SHOP BY gender
Women’s Sunglasses

Men’s Sunglasses

Kid’s Sunglasses

Shop all sunglasses
SHOP STYLES FOR YOU
Our Style Guide Frame Advisor
SHOP BY OFFER
Designer Sale | 50% off frame + lenses* Frame + lenses starting at $99
SHOP BY LENSES
Polarized Oakley Prizm
SHOP BY our picks
Best sellers Ray-Ban Oakley New arrivals Ray-Ban Stories
view all sunglasses


50% OFF LENSES

with frame purchase

SHOP NOW

50% OFF LENSES

with frame purchase

SHOP NOW
CONTACT LENSES
Contact lenses


Need a contact lenses refill?
LOGIN TO REORDER
Complete your first contact lens purchase and you can reorder next time with
just one click.

Your last purchase



Previous Next
 / 
REORDER NOW
Acuvue contacts
Dailies contacts
Air Optix contacts
Biofinity contacts
LensCrafters contacts
Ray-Ban contacts
Biotrue contacts
Precision 1 contacts
Ultra contacts

Shop all contact lenses
OUR PICKS View all
Acuvue Oasys® 1-Day with HydraLuxe™ Technology 90
1-Day Acuvue® Moist 90
Acuvue Oasys® for ASTIGMATISM 6
ACUVUE OASYS® with HYDRACLEAR® PLUS Technology 24
Acuvue Oasys 1-Day for Astigmatism 90
1-Day Acuvue® Moist for Astigmatism 90
ACUVUE® OASYS MAX 1-Day 30
ACUVUE® OASYS MAX 1-Day Multifocal 90
ACUVUE® OASYS MAX 1-Day Multifocal 30
Acuvue® Oasys Max 1-Day 90
DISCOVER MORE
Need a contact lenses refill?
LOGIN TO REORDER
Complete your first contact lens purchase and you can reorder next time with
just one click.

Loading your previous order...


Your last purchase
here's your last purchase

Previous Next REORDER NOW
 / 
LENSES

BRANDS
Brands


View all brands
Armani Exchange Arnette Brooks Brothers Bulgari Burberry Chaps Coach Costa Del
Mar Dolce&Gabbana Ess Emporio Armani Gucci Giorgio Armani LensCrafters Michael
Kors Oakley Oakley Youth Persol Polo Prep Polo Ralph Lauren Prada Prada Linea
Rossa Ralph by Ralph Lauren Ralph Lauren Ray-Ban Ray-Ban Jr Sferoflex Starck
Eyes Tiffany Tom Ford Tory Burch Versace Vogue Eyewear Vogue Jr
Shop all brands


VERSACE EYEWEAR
Spring Summer
2023

Shop now

VERSACE EYEWEAR
Spring Summer
2023

Shop now
EYE EXAM
Eye exam


Schedule an eye exam

for you and your family

Find the LensCrafters store closest to you
SEARCH
Please insert a zip code, city or state Invalid zip code, city or state
Protecting your eyes and the community
We’ve created a customer and patient experience that prioritizes hygiene and
safety without sacrificing our quality of care.
Hands and respiratory hygiene
Surface and products hygiene
Social distancing
discover more

HERE’S SOME LIGHT READING
Vision guide Clarifye Tips From Our Experts
IN STORE QUOTATION
Did you already receive a presonalized quotation in one of our stores?
Finalize your purchase online from a selection of frames and lenses tailored to
your vision needs.
FINALIZE QUOTATION


TIPS FROM OUR EXPERTS

Learn about our wide range of vision solutions to help you see with confidence
when you drive.

WATCH THE VIDEO

TIPS FROM OUR EXPERTS

Learn about our wide range of vision solutions to help you see with confidence
when you drive.

WATCH THE VIDEO
Search for... ???SEARCH_ACCESSKEY??? ???SEARCH_CATALOG???

???SEARCH_CATALOG???

RAY-BAN VERSACE OAKLEY BURBERRY EYEGLASSES CONTACT LENSES SUNGLASSES

0
Favorites

My account

My account My account Logout
My Account
Logout

Vision insurance Find a store
0
Favorites
0
Cart




Exclusive 30% off frames + 50% off lenses
Shop now Other offers
× Exclusive savings for you
ONLINE & IN STORE | APPLIES DIRECTLY IN CART Celebrate Memorial Day
30% off frames + 50% off lenses Shop Eyeglasses
ONLINE & IN STORE | APPLIES DIRECTLY IN CART Up to $150 off
an annual supply of contact lenses* Shop Contact lenses
ONLINE & IN STORE | APPLIES DIRECTLY IN CART Designer Sale | 50% off
frame + lenses Shop Designer Sale
IN STORE ONLY | APPLIES DIRECTLY IN STORE 50% off additional pairs Find a store
ONLINE & IN STORE | APPLIES DIRECTLY IN CART Frame + lenses starting at $99 Shop
Great Value Package
VIEW ALL OFFERS



CELEBRATE MEMORIAL DAY
IN STYLE

CELEBRATE MEMORIAL DAY IN STYLE


30% OFF FRAMES
+ 50% OFF LENSES

SHOP WOMEN'S EYEGLASSES SHOP MEN'S EYEGLASSES
SHOP EYEGLASSES
Shop his style
Shop her style



OUR VISION FOR YOUR EYE CARE

Experience seamless website-to-store vision care, from ordering online for
in-store pick-up to easy exam bookings from any device.


A VISION OF QUALITY
AND SERVICE

Free lifetime in-store fitting and adjustments.
We’re here to help with all of your vision needs.


MAKE THE MOST OF YOUR BENEFITS

LensCrafters accepts most major vision insurance providers, both online and at
our 1000+ locations across North America.


FREE SHIPPING AND RETURNS

Enjoy free shipping on all online orders, and return any item for an exchange or
a full refund within 30 days of delivery.

You can also choose Green Shipping as a sustainable solution to help reduce
climate impact.

Shop online and collect in one of our 1000+ stores Shop now
Free fitting and adjustment in store Discover more
We accept most insurance plans, online and in store Discover more
Free shipping and 30-day returns online and in store Discover more
Book an eye exam
for you and your family
SCHEDULE
Book an eye exam
for you and your family
SCHEDULE

emsName: X_HP_BelowHero

Shop online and collect in one
of our 1000 stores

Free fitting and adjustment
in store

We accept most insurance plans,
online and in store

Free shipping and 30-day
returns online & in store

BEST SELLERS
EYEGLASSES SUNGLASSES CONTACTS
VIEW ALL VIEW ALL VIEW ALL

Previous

6 COLORS


RAY-BAN

RB3447V Round Metal Optics

From $188.00


3 COLORS


BURBERRY

BE2370U Samuel

From $186.20


5 COLORS


BURBERRY

BE2363 Sylvie

From $321.00


3 COLORS


OAKLEY

OX8156 Holbrook™

From $106.40


4 COLORS


PRADA

PR 18WV

From $244.30


2 COLORS


RAY-BAN

RB4340V Wayfarer Ease Optics

From $125.30


2 COLORS


VERSACE

VE1275

From $179.20


4 COLORS


OAKLEY

OX8173 Activate

From $137.20


2 COLORS


VERSACE

VE3309

From $256.00


6 COLORS


RAY-BAN

RB5154 Clubmaster Optics

From $191.00


3 COLORS


PRADA

PR 09ZV

From $283.50

Next
Loading... Loading... Loading... Loading...

emsName: X_HP_Lenses


YOUR STYLE,
YOUR WAY

Looking for the perfect frame but not sure where to start? Browse a selection of
styles by shape, color and fit to suit your look.


OUR STYLE GUIDE


FRAME ADVISOR


VIRTUAL TRY ON


CHROME CRAZE


COOL BLUES


OUR STYLE GUIDE


FRAME ADVISOR


VIRTUAL TRY ON


CHROME CRAZE


COOL BLUES

Protect your vision
with an eye exam


PROTECT YOUR VISION WITH AN EYE EXAM

We're committed to transforming vision care and offering you a complete eye care
journey from start to finish. Our expert doctors are at your disposal, and
booking an exam is quick and easy both online or in store.

Schedule your eye exam
A treat for your eyes
with our brands and lenses


A TREAT FOR YOUR EYES WITH OUR BRANDS AND LENSES

Knowing your eyes is important. For this reason, we firmly believe in innovative
lens technology and high-quality frames. Discover our wide selection of
prescription lenses, designer brands and top-selling contacts.

Our lenses Our brands
At your service, online
and in our 1000+ stores


AT YOUR SERVICE, ONLINE AND IN OUR 1000+ STORES

Your vision is our priority. That's why, in more than 1000 stores, we make sure
all your vision needs are taken care of, from ordering online and picking up in
store to complimentary cleaning, fitting and adjusting.

Discover our services


SHARON STONE X LENSCRAFTERS

Shop her style
An easy way to choose
the perfect lenses
for your frame!
Shop online like you do in-store in just a few
simple steps, guided by our experts.
Start now

For every vision need
Whether you're nearsighted or farsighted, we have quality lenses to suit your
needs. You can choose blue-violet light filter for digital devices, light
adaptive lenses and thin options for strong prescriptions.
Discover lenses

4 easy steps to configure
your lens
Customize your own by choosing:

1Single vision, progressive or non-prescription

2Your favorite brand

3Additional lens treatments

4Three thickness options

Learn more

Let us guide you
We'll recommend the right lens for you based on your prescription and reach out
directly to verify any information you provide. You can also chat with our lens
experts whenever you need.
Contact us

100% satisfaction guaranteed
Need to adjust your glasses? No problem. You can get free fittings and
adjustments in-store. We also offer free returns on all purchases if you’re
not completely happy within 30 days.
Discover services

Ready to start?
Select your
favorite frame
Configure
your lenses
Get your pair at home
or pick up in-store
Shop eyeglasses Shop sunglasses




emsName: X_HP_Journey



emsName: X_HP_SEO_Text

Discover the new collections
Michael Kors MK4106U Westport From $144.0
Versace VE3341U From $217.0
Ray-Ban RB5154 Clubmaster From $191.0
Discover new collection from your favorite eyewear brands,

Discover all brands and the latest innovations in clear and sun lens technology,
like treatments designed to filter blue-violet light

Blue Light filtration helps reduce exposure to blue light from natural sources
and digital screens.

Discover more or aid nighttime driving.

emsName: X_HP_Exclusive

- only at LENSCRAFTERS -


VERSACE EYEWEAR
SPRING SUMMER 2023

Stunning and bold, Emily Ratajkowski rocks the latest Versace eyewear purple
frames, available only at LensCrafters, for the Spring/Summer 2023 campaign.


Shop the exclusive
Shop Versace


emsName: X_HP_Insurance




FRAME + LENSESSTARTING AT $99
EYEGLASSES SUNGLASSES CONTACTS
VIEW ALL VIEW ALL

Previous

3 COLORS


ARMANI EXCHANGE

AX3077


4 COLORS


LENSCRAFTERS

EC2002


2 COLORS


ARMANI EXCHANGE

AX1034


3 COLORS


SFEROFLEX

SF1149


3 COLORS


ARMANI EXCHANGE

AX1017


3 COLORS


LENSCRAFTERS

EC2003


2 COLORS


SFEROFLEX

SF2291


3 COLORS


ARMANI EXCHANGE

AX3083U

Next
Loading... Loading... Loading... Loading...

emsName: X_HP_OurDoctors

AT LENSCRAFTERS WE ACCEPT MOST INSURANCE PLANS, INCLUDING



and many others, both online and in store.

FIND OUT MORE ACCESS YOUR BENEFITS


YOUR EYES, IN FOCUS

Have questions about eye care? You've come to the right place! Discover our
complete guide to eye health, prescription eyewear, lenses and more.

Discover more


MEET THE EXPERTS

At LensCrafters, our eye doctors and store managers are on hand to provide you
with expert advice to help you see and look your best every day. From vision
insurance and prescription lenses to answering questions about eyecare, our
experts have all your needs covered.

You can also read more on these topics in our vision guide.

find a doctor Tips From Our Experts



GOOD THINGS TAKE TIME

Select Green Shipping at checkout and we'll ship with logistics providers using
sustainable solutions to reduce climate impact.
Allow 7 business days for delivery with no additional cost for you.

Learn more






emsName: X_HP_JS




Subscribe
SIGN UP
By signing up, you certify that you are 18 years or older.

Check your insurance eligibility
We accept most vision insurance plans online, saving you time and money.
Discover more

No match found.

Your insurance might be out of network, check information below.


Select or type your insurance provider*
Insurance provider cannot be empty.
First Name*
The first name field cannot be empty. Please enter letters only Please enter a
valid first name.
Last Name*
Please enter a valid last name.
Date of birth* Please enter a valid date of birth.
Toggle calendar

May 2023
< >
SunMonTueWedThuFriSat
30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31 1 2 3
Zip Code*
Please enter a valid zip code.
I certify that my use of this service abides by the Luxottica Retail HIPAA &
Privacy Policies

To proceed, tick the box above to certify you're 18 years or older. If you're
not, you cannot proceed with this step.
Apply insurance
We also accept out-of-network plans
You may also use out-of-network benefits at Lenscrafters.com for most other
vision insurance companies, like VSP and Spectera. You can submit the claim form
directly to your insurance company. Download Form
For your security, your personal benefits information is only available during
your session and will be erased when you close the browser.


BRANDS

BRANDS

 * Ray-Ban
 * Oakley
 * Versace
 * Coach
 * Michael Kors
 * Prada
 * View all Brands



EYECARE

EYECARE

 * Our Lenses
 * Schedule an Eye Exam
 * Vision Guide
 * Eyewear Glossary
 * Measuring your PD
 * Tips From Our Experts
 * Blue-Violet Light Glasses
 * 



SAVINGS

SAVINGS

 * Offers & Discount
 * Insurance
 * FSA & HSA
 * LensCrafters credit card
 * AAA Members
 * AARP Members
 * 



CUSTOMER SERVICE

CUSTOMER SERVICE

   
 * Personalized services
 * Purchase Care
 * Online Order Status
 * Shipping & Returns
 * FAQ
 * Live chat
 * Contact us



LEGAL

LEGAL

 * Privacy Policy
 * Terms & Conditions
 * Independent Doctor's Notice
 * AdChoices
 * WebId: 534539382
 * Do not sell my personal information
 * California Collection Notice
 * Cookie Policy



COMPANY INFO

COMPANY INFO

 * About us
 * Our Flagship Stores
 * Careers
 * Find a Store
 * Site Map


UNITED STATES (English)
 * UNITED STATES (English)
 * UNITED STATES (Español)
 * CANADA (English)
 * CANADA (Française)


We guarantee every transaction is 100% secure
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 

Buy now, pay later with Klarna, Affirm or Afterpay. 
Learn More




© 2022 LensCrafters All Rights Reserved


Other sites of the Group
DISCOVER OTHER BRANDS FROM LUXOTTICA
Ray-Ban Oakley Persol Oliver Peoples Vogue Eyewear Sunglass Hut Target Optical
Glasses.com Contact Direct



Luxottica of America uses cookies, script code, and other technologies to
collect data and/or monitor your interactions on our sites.

By clicking "Accept All Cookies", you consent to such use.

For more information, please see our Privacy Policy.

To manage your selections, please see our Cookie Manager.

Accept all cookies Reject
Manage cookies