alttext.ai Open in urlscan Pro
52.72.187.93  Public Scan

Submitted URL: https://alttextapp.com/
Effective URL: https://alttext.ai/
Submission: On December 29 via api from BE — Scanned from DE

Form analysis 1 forms found in the DOM

/demo_images

<form action="/demo_images" data-trial-widget-target="form" class="grid gap-3.5" data-hs-cf-bound="true">
  <div class="grid gap-3.5 group" data-dropzone-has-file-value="false" data-controller="dropzone">
    <!-- DROP AREA -->
    <div
      class="flex justify-center items-center bg-white rounded-lg border-2 border-dashed transform-gpu border-primary-500 aspect-[3/2] xsm:aspect-[2/1] mdl:aspect-[2/1.125] lg1220:aspect-[2/1] max-w-full before:border-solid before:border-2 before:absolute before:rounded-lg before:border-primary-500 before:opacity-0 before:-inset-[2px] before:size-[calc(100%+4px)] hover:before:opacity-100 group-data-[dropzone-has-file-value=true]:before:border-primary-600 group-data-[dropzone-has-file-value=true]:before:opacity-100 before:transition-[opacity,border-color] before:ease-smooth before:duration-300">
      <div class="flex overflow-hidden relative flex-col justify-center items-center cursor-pointer size-full" data-dropzone-target="dropzone" data-action="click->dropzone#handleDropzoneClick" id="dropzone">
        <input name="dropzone-file" id="dropzone-file" type="file" class="hidden" data-trial-widget-target="fileInput" data-dropzone-target="fileInput" data-action="change->trial-widget#fileChanged change->dropzone#fileChanged"
          accept="image/jpeg, image/jpg, image/png, image/bmp, image/gif, image/webp">
        <!-- FILE PREVIEW -->
        <div
          class="opacity-0 flex justify-center absolute group-data-[dropzone-has-file-value=true]:opacity-100 duration-500 ease-smooth size-full rounded-md transition-opacity cursor-pointer bg-cover  bg-center delay-75 pointer-events-none overflow-hidden"
          data-dropzone-target="background">
          <span class=" hidden absolute inset-x-0 bottom-0 h-14 opacity-0 transition-opacity duration-700 delay-75 size-full ease-smooth backdrop-blur-lg group-data-[dropzone-has-file-value=true]:opacity-100"></span>
          <div class="absolute bottom-2.5 px-5 py-2.5 mx-auto rounded-lg bg-center transition-transform duration-500 delay-75 transform-gpu translate-y-8 skew-y-1 bg-white/95 group-data-[dropzone-has-file-value=true]:transform-none"
            data-dropzone-target="preview">
            <div
              class="flex gap-2 items-center *:translate-y-3 *:opacity-0 *:ease-smooth *:duration-500 *:group-data-[dropzone-has-file-value=true]:translate-y-0 *:group-data-[dropzone-has-file-value=true]:opacity-100 *:transition-[transform,opacity] group"
              data-animate="true">
              <p class="flex-1 font-medium text-gray-900 delay-150 transform-gpu sm:text-base text-sm/snug">
                <span class="sm:hidden">Tap to upload</span><span class="max-sm:hidden">Click to select or drop</span> a new image
              </p>
              <svg class="size-4 delay-150 text-gray-600 group-data-[dropzone-has-file-value=true]:*:[stroke-dashoffset:0] group-data-[dropzone-has-file-value=true]:*:transform-none" aria-hidden="true" viewBox="0 0 16 16" fill="none"
                xmlns="http://www.w3.org/2000/svg">
                <path class="group-data-[animate=true]:[stroke-dasharray:25] group-data-[animate=true]:[stroke-dashoffset:25] transition-[stroke-dashoffset] ease-smooth delay-300 duration-700"
                  d="M5.08316 10.3195C4.50859 10.3202 3.95398 10.1088 3.52559 9.72589C3.0972 9.34298 2.82515 8.81547 2.76156 8.24442C2.69797 7.67338 2.84732 7.09895 3.18099 6.63118C3.51466 6.16342 4.00919 5.83522 4.56983 5.70945C4.40762 4.95292 4.55258 4.16294 4.97282 3.51329C5.39307 2.86364 6.05417 2.40754 6.8107 2.24533C7.56723 2.08311 8.35722 2.22807 9.00687 2.64832C9.65652 3.06857 10.1126 3.72967 10.2748 4.4862H10.3332C11.0565 4.48547 11.7542 4.75353 12.291 5.23834C12.8278 5.72314 13.1653 6.3901 13.238 7.10975C13.3107 7.82939 13.1134 8.55037 12.6844 9.13273C12.2554 9.71508 11.6253 10.1173 10.9165 10.2612"
                  stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
                <path
                  class="group-data-[animate=true]:[stroke-dasharray:8] group-data-[animate=true]:[stroke-dashoffset:6] [transition:700ms_stroke-dashoffset_var(--smooth-bezier)_300ms,700ms_transform_var(--spring-easing)_500ms] group-data-[animate=true]:translate-y-1 "
                  d="M9.74982 8.56954L7.99982 6.81955M7.99982 6.81955L6.24982 8.56954M7.99982 6.81955V13.8195" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
              </svg>
            </div>
          </div>
        </div>
        <!-- /FILE PREVIEW -->
        <!-- INITIAL DROPZONE STATE -->
        <div class="flex flex-col gap-2.5 justify-center items-center md:gap-5" data-dropzone-target="initialState">
          <svg class="size-16 text-primary-200" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
            <path fill="currentColor" d="M16 18H8l2.5-6 2 4 1.5-2 2 4Zm-1-8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"></path>
            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
              d="M10 3v4a1 1 0 0 1-1 1H5m14-4v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V7.914a1 1 0 0 1 .293-.707l3.914-3.914A1 1 0 0 1 9.914 3H18a1 1 0 0 1 1 1ZM8 18h8l-2-4-1.5 2-2-4L8 18Zm7-8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"></path>
          </svg>
          <p class="flex gap-2.5 items-baseline font-medium text-gray-900">
            <span class="py-1 px-2.5 text-sm rounded-full bg-primary-100 text-primary-600"> Try It! </span>
            <span class="max-sm:hidden"> Click to select or drag and drop </span>
          </p>
          <p class="text-xs text-gray-400 font-regular"> PNG, JPG, GIF, WebP (max 16MB) </p>
          <button type="button"
            class="inline-flex gap-2 items-center py-3 px-5 text-sm font-medium rounded-lg border ring-1 focus:ring-offset-1 ring-transparent transition-colors duration-75 md:py-2.5 focus:outline-none ease-smooth focus:ring-primary-300 active:ring-gray-500/50 disabled:focus:ring-transparent disabled:active:ring-transparent text-gray-900 bg-white border-gray-300 hover:bg-gray-100">
            Choose File <svg class="size-4" aria-hidden="true" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
              <path class="group-data-[animate=true]:[stroke-dasharray:25] group-data-[animate=true]:[stroke-dashoffset:25] transition-[stroke-dashoffset] ease-smooth delay-300 duration-700"
                d="M5.08316 10.3195C4.50859 10.3202 3.95398 10.1088 3.52559 9.72589C3.0972 9.34298 2.82515 8.81547 2.76156 8.24442C2.69797 7.67338 2.84732 7.09895 3.18099 6.63118C3.51466 6.16342 4.00919 5.83522 4.56983 5.70945C4.40762 4.95292 4.55258 4.16294 4.97282 3.51329C5.39307 2.86364 6.05417 2.40754 6.8107 2.24533C7.56723 2.08311 8.35722 2.22807 9.00687 2.64832C9.65652 3.06857 10.1126 3.72967 10.2748 4.4862H10.3332C11.0565 4.48547 11.7542 4.75353 12.291 5.23834C12.8278 5.72314 13.1653 6.3901 13.238 7.10975C13.3107 7.82939 13.1134 8.55037 12.6844 9.13273C12.2554 9.71508 11.6253 10.1173 10.9165 10.2612"
                stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
              <path
                class="group-data-[animate=true]:[stroke-dasharray:8] group-data-[animate=true]:[stroke-dashoffset:6] [transition:700ms_stroke-dashoffset_var(--smooth-bezier)_300ms,700ms_transform_var(--spring-easing)_500ms] group-data-[animate=true]:translate-y-1 "
                d="M9.74982 8.56954L7.99982 6.81955M7.99982 6.81955L6.24982 8.56954M7.99982 6.81955V13.8195" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
            </svg>
          </button>
        </div>
        <!-- / INITIAL DROPZONE STATE -->
      </div>
    </div>
    <!-- /DROP AREA -->
    <!-- DROP AREA ERROR MESSAGE -->
    <div class="flex hidden flex-col gap-2 p-4 text-sm text-amber-800 bg-amber-100 rounded-lg border border-amber-700/20" role="alert" data-dropzone-target="errorMessageValueContainer">
      <div class="flex gap-3 items-center">
        <svg class="size-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
          <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11h2v5m-2 0h4m-2.592-8.5h.01M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"></path>
        </svg>
        <div data-dropzone-target="errorMessageValue"></div>
      </div>
    </div>
    <!-- /DROP AREA ERROR MESSAGE -->
    <!-- SEO KEYWORDS -->
    <div class="bg-gray-50 py-2.5 px-1.5 flex flex-col rounded-lg border border-transparent transition-colors ease-smooth duration-100 data-[open=false]:active:border-gray-300/50 group" data-open="false" data-seo-control-open-value="false"
      data-controller="seo-control" data-trial-widget-target="seoControl">
      <div class="flex gap-2 items-center" role="button" data-action="click->seo-control#toggle" data-seo-control-target="button" aria-expanded="false">
        <button type="button"
          class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent group-data-[open=false]:bg-primary-300 group-data-[open=true]:bg-primary-500 transition-colors duration-200 ease-smooth focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-2 group/label"
          role="switch" data-seo-control-target="label" aria-checked="false">
          <span class="sr-only">Use setting</span>
          <span aria-hidden="true"
            class="pointer-events-none group-active/label:scale-95 origin-center inline-block size-5 group-data-[open=false]:translate-x-0 rounded-full bg-white shadow shadow-primary-900/20 transform-gpu transition-transform duration-200 ease-smooth group-data-[open=true]:translate-x-5"></span>
        </button>
        <p class="font-medium select-none text-sm/tight"> Custom SEO keywords </p>
        <p class="ml-auto text-xs text-gray-500">Optional</p>
      </div>
      <div class="group-data-[open=true]:max-h-20 transform-gpu max-h-0 overflow-hidden transition-[max-height] duration-200 ease-smooth" data-seo-control-target="element">
        <textarea autofocus=""
          class="block w-full text-sm mt-3 text-gray-900 bg-gray-100/50 rounded-lg border border-gray-200  disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-gray-400 !ring-transparent focus:!border-primary-400 !outline-none group-data-[open=true]:translate-y-0 group-data-[open=false]:-translate-y-1 group-data-[open=false]:opacity-0 group-data-[open=true]:opacity-100 transition-[transform,opacity] ease-smooth duration-200 delay-75 resize-none"
          placeholder="Separate each keyword by commas (max of 6)" id="seo-keywords" data-seo-control-target="textarea" name="seo-keywords"></textarea>
      </div>
    </div>
    <!-- /SEO KEYWORDS -->
  </div>
  <!-- ALT TEXT VALUE -->
  <div class="flex hidden flex-col gap-3.5 items-center text-gray-900 group" data-trial-widget-target="altTextValueContainer" data-controller="trial-widget-copy" data-trial-widget-copy-copied-value="false">
    <svg class="size-5 text-primary-600" aria-hidden="true" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path
        d="M17.0599 11.8463C16.779 11.5785 16.398 11.4281 16.0008 11.4281C15.6036 11.4281 15.2226 11.5785 14.9417 11.8463L11.5067 15.1218V1.42847C11.5067 1.04962 11.3488 0.686279 11.0679 0.418389C10.787 0.150499 10.4059 0 10.0086 0C9.61131 0 9.23028 0.150499 8.94934 0.418389C8.6684 0.686279 8.51057 1.04962 8.51057 1.42847V15.1218L5.07556 11.8463C4.93737 11.7099 4.77207 11.601 4.58931 11.5262C4.40654 11.4513 4.20997 11.4119 4.01106 11.4103C3.81215 11.4086 3.61489 11.4447 3.43078 11.5166C3.24668 11.5884 3.07942 11.6945 2.93877 11.8286C2.79811 11.9627 2.68688 12.1222 2.61155 12.2978C2.53623 12.4733 2.49833 12.6614 2.50006 12.8511C2.50179 13.0407 2.54311 13.2282 2.62162 13.4025C2.70013 13.5768 2.81426 13.7344 2.95733 13.8661L8.9495 19.58C9.08902 19.7133 9.25505 19.8187 9.43786 19.89C9.61904 19.9626 9.81359 20 10.0101 20C10.2066 20 10.4012 19.9626 10.5824 19.89C10.7652 19.8187 10.9312 19.7133 11.0707 19.58L17.0629 13.8661C17.3433 13.5979 17.5006 13.2344 17.5 12.8556C17.4994 12.4768 17.3411 12.1138 17.0599 11.8463Z"
        fill="currentColor"></path>
    </svg>
    <div class="flex gap-4 justify-between items-center py-3.5 px-6 w-full bg-gray-900 rounded-lg grow">
      <p class="text-sm font-medium text-white">
        <span data-trial-widget-target="altTextValue" data-trial-widget-copy-target="text"></span>
      </p>
      <button type="button" class="flex relative justify-center items-center text-primary-50 size-6" data-trial-widget-copy-target="button" data-action="click->trial-widget-copy#copy" title="Copy alt text to clipboard">
        <svg class="absolute size-5 group-data-[trial-widget-copy-copied-value=true]:translate-y-2 group-data-[trial-widget-copy-copied-value=true]:opacity-0 translate-y-0 opacity-100 transition-[opacity,transform] duration-300 ease-smooth"
          viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M13.1496 7.85995e-06H9.04153C8.73244 -0.000801693 8.42627 0.0609328 8.14073 0.181638C7.85519 0.302342 7.59596 0.47962 7.37804 0.703207L6.82355 1.26721C6.75063 1.34159 6.69278 1.42989 6.65332 1.52707C6.61386 1.62426 6.59354 1.72842 6.59354 1.83361C6.59354 2.04605 6.67628 2.24979 6.82355 2.40001C6.97082 2.55023 7.17056 2.63462 7.37883 2.63462C7.5871 2.63462 7.78684 2.55023 7.93411 2.40001L8.48703 1.83521C8.63439 1.68554 8.83358 1.60105 9.04153 1.60001H13.0979L13.1496 11.2C12.9416 11.2 12.7421 11.2843 12.5951 11.4343C12.448 11.5843 12.3654 11.7878 12.3654 12C12.3654 12.2122 12.448 12.4157 12.5951 12.5657C12.7421 12.7157 12.9416 12.8 13.1496 12.8C13.5586 12.7924 13.9479 12.6197 14.2323 12.3198C14.5166 12.0199 14.6728 11.6172 14.6665 11.2V1.60001C14.6728 1.18283 14.5166 0.780129 14.2323 0.480198C13.9479 0.180267 13.5586 0.00758287 13.1496 7.85995e-06Z"
            fill="currentColor"></path>
          <path
            d="M10.0125 3.20001H5.90514C5.59591 3.199 5.28956 3.26064 5.00387 3.38136C4.71818 3.50207 4.45883 3.67945 4.24088 3.90321L2.0229 6.1656C1.80354 6.38793 1.62964 6.65247 1.5113 6.94388C1.39296 7.2353 1.33252 7.54778 1.33351 7.8632V14.4C1.327 14.8171 1.48296 15.2198 1.76718 15.5198C2.05139 15.8197 2.44065 15.9924 2.84954 16H10.0125C10.4214 15.9924 10.8108 15.8197 11.0951 15.5198C11.3795 15.2199 11.5356 14.8172 11.5293 14.4V4.8C11.5356 4.38283 11.3795 3.98013 11.0951 3.6802C10.8108 3.38026 10.4214 3.20758 10.0125 3.20001ZM5.25497 5.1312V7.2H3.22679L5.25497 5.1312ZM2.90209 14.4V8.8H5.25497C5.67098 8.8 6.06995 8.63143 6.36412 8.33137C6.65829 8.03132 6.82355 7.62435 6.82355 7.2V4.79521L9.95601 4.77921C9.95987 4.78538 9.96153 4.79273 9.96072 4.8L10.0125 14.4H2.90209Z"
            fill="currentColor"></path>
        </svg>
        <svg class="absolute size-5 group-data-[trial-widget-copy-copied-value=false]:translate-y-2 group-data-[trial-widget-copy-copied-value=false]:opacity-0 translate-y-0 opacity-100 transition-[opacity,transform] duration-300 ease-smooth"
          aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor">
          <path fill-rule="evenodd" d="M12.416 3.376a.75.75 0 0 1 .208 1.04l-5 7.5a.75.75 0 0 1-1.154.114l-3-3a.75.75 0 0 1 1.06-1.06l2.353 2.353 4.493-6.74a.75.75 0 0 1 1.04-.207Z" clip-rule="evenodd"></path>
        </svg>
      </button>
    </div>
    <p class="text-xs text-center text-gray-600 text-balance">
      <a class="text-primary-500 hover:text-primary-400" href="/users/sign-up">
      Start your free trial
    </a> to get 25 more images, manage your alt text library, and use all our tools and integrations!
    </p>
  </div>
  <!-- /ALT TEXT VALUE -->
  <button type="submit"
    class="inline-flex gap-2 items-center py-3 px-5 text-sm font-medium rounded-lg border ring-1 focus:ring-offset-1 ring-transparent transition-colors duration-75 md:py-2.5 focus:outline-none ease-smooth focus:ring-primary-300 active:ring-gray-500/50 disabled:focus:ring-transparent disabled:active:ring-transparent text-white border-transparent bg-primary-600 hover:bg-primary-700 group w-full text-center !py-3.5 !text-base !block"
    disabled="" data-trial-widget-target="submitButton">
    <span class="group-data-[trial-widget-processing-value=true]:inline-flex hidden gap-4 items-center justify-between">
      <svg class="size-6 draw-and-grow-path [--from:414]" viewBox="0 0 102 143" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path
          d="M74.2563 12.8584L74.2553 12.8619L60.4574 61.2558L59.6554 64.0684L62.5574 63.7039L90.9315 60.1389C93.5343 59.8119 96.0571 61.1416 97.2807 63.4609C98.4959 65.7638 98.1487 68.6204 96.411 70.598L96.409 70.6003L38.4743 136.098C38.4743 136.098 38.4721 136.1 38.4709 136.102C36.5042 138.302 33.3192 138.852 30.7586 137.431C28.1842 136.002 26.9309 132.971 27.7436 130.141L27.7444 130.138L41.5456 81.77L42.3482 78.9569L39.4457 79.3216L11.0715 82.8866C8.50073 83.2096 5.9458 81.8641 4.71918 79.5389C3.50419 77.2359 3.8512 74.3788 5.58949 72.401L5.59083 72.3995L63.5255 6.90195L63.5283 6.89882C65.495 4.69784 68.6803 4.14829 71.2412 5.56889C73.8156 6.99702 75.069 10.0284 74.2563 12.8584Z"
          stroke="currentColor" stroke-width="8">
        </path>
      </svg> Processing... </span>
    <span class="group-data-[trial-widget-processing-value=false]:inline hidden">Generate Alt Text</span>
  </button>
  <!-- FORM SYSTEM ERROR MESSAGE -->
  <div class="flex hidden flex-col gap-2 p-4 text-sm text-amber-800 bg-amber-100 rounded-lg border border-amber-700/20" role="alert" data-trial-widget-target="systemErrorMessage">
    <div class="flex gap-3 items-center">
      <svg class="size-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
        <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11h2v5m-2 0h4m-2.592-8.5h.01M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"></path>
      </svg>
      <div>Sorry, we could not generate alt text for this image</div>
    </div>
  </div>
  <!-- /FORM SYSTEM ERROR MESSAGE -->
</form>

Text Content

AltText.ai AltText.ai
Sign In Free Trial
Open Main Menu

 * Products
    * CMS Integrations
      * WordPress
      * Contentful
      * Hygraph
      * DatoCMS
      * Other Platforms
    * Ecommerce
      * Shopify
      * WooCommerce
      * Magento
    * Other Integrations
      * Web Interface
      * Media Imports
      * Developer API
      * No-Code Connectors
    * Plugins
      * WordPress Plugin
      * Shopify App
      * Chrome Extension
      * Firefox AddOn
    * Features
      * SEO Keywords
      * ChatGPT Prompts
      * Accessibility

 * Pricing
 * Support
 * Sign In
 * Start Free Trial

Improve SEO & Site Accessibility


AI ALT TEXT GENERATOR


AUTOMATICALLY GENERATE ALT TEXT FOR IMAGES
IN OVER 130 LANGUAGES.

Start Free Trial

Start your free trial to continue.

Get 25 free images and full access to all our features, plugins, and
integrations!

Start Free Trial

Tap to uploadClick to select or drop a new image

Try It! Click to select or drag and drop

PNG, JPG, GIF, WebP (max 16MB)

Choose File

Use setting

Custom SEO keywords

Optional



Start your free trial to get 25 more images, manage your alt text library, and
use all our tools and integrations!

Processing... Generate Alt Text
Sorry, we could not generate alt text for this image
Integrations:
 * WordPress
 * Contentful
 * Hygraph
 * DatoCMS
 * Shopify
 * WooCommerce
 * Magento
 * Chrome
 * Firefox

A polar bear is lying on a rocky surface with some snow, surrounded by trees and
shrubs, near a body of water.

Keywords: Polar Snow Water


LET AI WRITE YOUR ALT TEXT.
AUTOMATICALLY.

Alt tag attributes are necessary for increasing SEO and page accessibility. Why
rely on a human to manually write descriptions for every image on your site?
Integrate with AltText.ai and automate your alt text SEO workflow. Use our
WordPress plugin, Ecommerce apps, CMS integrations, full developer API, or web
interface to generate alt text in more than 130 languages.


HOW IT WORKS


UPLOAD IMAGE

Use one of our CMS integrations, browser extension, API, or web interface.
Optionally include SEO keywords you want to use.

An icon indicating forward motion


AI ANALYSIS

It only takes a second for our technology to examine the image and work its
magic.

A red fox stands on sand dunes surrounded by tall, dry grass. The background
shows a blurred view of the ocean.


GET ALT TEXT

We generate an accurate description of the image, ready to be used on your site.


FLEXIBLE INTEGRATIONS

Whether you are a content creator, agency, business owner, or developer,
AltText.ai can make your job easier, and your website better.

WordPress Plugin

Automatically generate alt text for every new image you add to your media
library. Plus, repair all your existing images with our bulk updater. AltText.ai
for WordPress does it all.

Ecommerce Platforms

Our Shopify app, WooCommerce integration, and Magento extension intelligently
add your product data into the generated alt text.

Headless CMS

Use our native app for Contentful or app for Hygraph to seamlessly add
AI-generated alt text to your images within the CMS. We even have a Zapier
integration to handle other platforms!

Website & Developer API

Generate alt text for individual images, or import directly from CSV, Dropbox,
Cloudinary, or Pinterest. Our Developer API lets you add SEO alt text anywhere
in your application.

Browser Extensions

The AltText.ai Chrome Extension and Firefox AddOn let you right-click on any
image and get alt text to copy and paste. Use them with your Squarespace site,
Webflow project, or any other web page.

Automations

We offer pre-built connectors for Zapier, Pabbly, Albato, and SureTriggers. You
can hook these up to hundreds of other supported systems to build a fully
automated alt text generation workflow.

▴ 14M Images Processed
▴ 46K Happy Customers


TRUSTED BY THE BEST

General Mills
Meyer
Tecovas



SEO BENEFITS OF ALT TEXT


IMPROVE

Click-Through Rates

--------------------------------------------------------------------------------

Alt text can result in a 10% higher organic click through rate (CTR)!


ENHANCE

Image Search Visibility

--------------------------------------------------------------------------------

Alt text can increase the number of clicks on your images by up to 70%!


HELP

Content For Google

--------------------------------------------------------------------------------

Demonstrate the helpfulness of your content by adding alt text. Without alt
text, Google cannot fully understand your content.


BEAT

The Competition

--------------------------------------------------------------------------------

Rank higher than your competitors. Over 50% of websites have missing alt text.
Don't make the same mistake!


WHAT USERS ARE SAYING

WordPress

★ 4.8 out of 5

(read reviews)
Shopify

★ 4.8 out of 5

(read reviews)


THIS HAS SAVED ME AT LEAST 150 HOURS!

> Thank you for creating such an intuitive plugin for WordPress. As an web
> design agency owner, this was a no brainer purchase and has already saved me
> 150 hours of manually writing alt text.

@ChrisCownden



SO AWESOME, SO MUCH TIME WILL BE SAVED

> This will save our team so much time and more importantly we will have Alt
> Text for the images. In general no one wants to create Alt text, now we have a
> tool to accomplish this task.

@intownrunner



5 WEBSITES OPTIMISED WITH ALT TEXT IN AN AFTERNOON

> Thanks for saving us hours of work. We have optimised 5 of the sites we run
> just today! That is over 1550 images so far to say we are impressed is an
> understatement

@TheEneverGroupTeam



GREAT TOOL FOR ALT TEXT

> The API works great and is very quick. I processed over 200 images in less
> than 5 minutes and all of the 'alt' text was exceptionally accurate.
> 
> A great tool - well done 10/10

@Rich77ard



VERY HELPFUL TOOL FOR BLOGGERS

> AltText.ai has become an essential tool in my website optimization toolkit. As
> someone who values both SEO and accessibility, I was thrilled to discover this
> AI-powered solution that generates image alt text effortlessly. The accuracy
> of the generated alt text is impressive - it captures relevant details from
> images without any human intervention required.

@Unioq



THIS IS VERY GOOD

> I have multiple client websites with thousands of images that do not have alt
> text. We have tried code that "assigns" alt text but they are clumsy.
> 
> Alttext.ai is AI driven and VERY Good. I burned through my 2000 first month
> allotment quickly.

@4390bbe

Show MoreLess
Free!


START YOUR FREE TRIAL TODAY

Your first 25 images are free. No credit card required.

Start Free Trial
AltText.ai AltText.ai



INTEGRATIONS

 * WordPress Plugin
 * Shopify App
 * Chrome Extension
 * CMS Systems
 * Web Interface


SOLUTIONS

 * Ecommerce Alt Text
 * SEO & Search
 * Accessibility


SUPPORT

 * Documentation
 * FAQ
 * Pricing
 * API Docs


COMPANY

 * About
 * Affiliates
 * Contact
 * Blog


LEGAL

 * Privacy Policy
 * Terms of Use

© 2024 AltText.ai. All rights reserved.
×
This website uses cookies
This website uses cookies to improve user experience. By using our website you
consent to all cookies in accordance with our Cookie Policy. Read more
Show details Hide details
Save & Close
Accept all
Decline all

Strictly necessary

Performance

Targeting
Cookie declaration
About cookies
Strictly necessary
Performance
Targeting
Strictly necessary cookies allow core website functionality such as user login
and account management. The website cannot be used properly without strictly
necessary cookies.

Cookie report Name Provider / Domain Expiration Description
_app_alttext_ai_session alttext.ai Session Login session data for AltText.ai
CookieScriptConsent
CookieScript
alttext.ai 1 year This cookie is used by Cookie-Script.com service to remember
visitor cookie consent preferences. It is necessary for Cookie-Script.com cookie
banner to work properly.

Performance cookies are used to see how visitors use the website, eg. analytics
cookies. Those cookies cannot be used to directly identify a certain visitor.

Cookie report Name Provider / Domain Expiration Description _ga
Google LLC
.alttext.ai 1 year 1 month This cookie name is associated with Google Universal
Analytics - which is a significant update to Google's more commonly used
analytics service. This cookie is used to distinguish unique users by assigning
a randomly generated number as a client identifier. It is included in each page
request in a site and used to calculate visitor, session and campaign data for
the sites analytics reports. _ga_M2NK515LZ0 .alttext.ai 1 year 1 month This
cookie is used by Google Analytics to persist session state. _session_id
G2.com Inc.
tracking.g2crowd.com 14 days This cookie creates an interim session ID used as
an in-session user ID. __cf_bm
Cloudflare Inc.
.g2crowd.com 30 minutes This cookie is used to distinguish between humans and
bots. This is beneficial for the website, in order to make valid reports on the
use of their website.

Targeting cookies are used to identify visitors between different websites, eg.
content partners, banner networks. Those cookies may be used by companies to
build a profile of visitor interests or show relevant ads on other websites.

Cookie report Name Provider / Domain Expiration Description _gcl_au
Google LLC
.alttext.ai 3 months Used by Google AdSense for experimenting with advertisement
efficiency across websites using their services IDE
Google LLC
.doubleclick.net 1 year 1 month This cookie is set by Doubleclick and carries
out information about how the end user uses the website and any advertising that
the end user may have seen before visiting the said website.

Cookies are small text files that are placed on your computer by websites that
you visit. Websites use cookies to help users navigate efficiently and perform
certain functions. Cookies that are required for the website to operate properly
are allowed to be set without your permission. All other cookies need to be
approved before they can be set in the browser.

You can change your consent to cookie usage at any time on our Privacy Policy
page.
Cookies consent ID:
Cookie report created by CookieScript
I love a challenge - ask me anything!
1


×
We Value Your Privacy
Settings
NextRoll, Inc. ("NextRoll") and our 20 advertising partners use cookies and
similar technologies on this site and use personal data (e.g., your IP address).
If you consent, the cookies, device identifiers, or other information can be
stored or accessed on your device for the purposes described below. You can
click "Allow All" or "Decline All" or click Settings above to customise your
consent regarding the purposes and features for which your personal data will be
processed and/or the partners with whom you will share personal data.
NextRoll and our advertising partners process personal data to: ● Store and/or
access information on a device; ● Create a personalised content profile; ●
Select personalised content; ● Personalised advertising, advertising
measurement, audience research and services development; ● Services development.
For some of the purposes above, our advertising partners: ● Use precise
geolocation data. Some of our partners rely on their legitimate business
interests to process personal data. View our advertising partners if you wish to
provide or deny consent for specific partners, review the purposes each partner
believes they have a legitimate interest for, and object to such processing.
If you select Decline All, you will still be able to view content on this site
and you will still receive advertising, but the advertising will not be tailored
for you. You may change your setting whenever you see the Manage consent
preferences on this site.
Decline All
Allow All
Manage consent preferences