OTTODesign System

Code

Icon

Storybook group: Components · Sidebar path: Components/Icon · Extracted 28.09.2026

Version Tag Status API
v1 <oc-icon-v1> Stable, allowed for generation IconV1

Overview (v1)

Source: ./src/components/icon/v1/Overview.mdx

Icon

The icon component allows users to display any icon from the OTTO components library. It has attributes for setting the icon type, size, and color. Find all available logos on the All icons page.

Default variation

Story Default:

<oc-icon-v1 type="success-hint"></oc-icon-v1>

Configuration

The icon component offers a variety of styling variants such as default and error. This component is configurable, allowing you to tailor its features and appearance to your specific needs. To explore all the available options and adjust the component, use the component configurator and see the changes affect the component in real-time.

Usage guidelines

Before integrating the icon component into your project, make sure you have correctly installed the OTTO components package. Look through the variations page for examples of possible component variations. Here, you can discover both common and specific variations that address different use cases.

Info

See the Icon UX documentation for detailed user experience guidelines and best practices on icon usage.

Icon sizes

The icon component comes in two sizes: 100 and 50.

Icon 100 vs Icon 50

The standard size used for most Icons is 100 (24x24px). The smaller alternative size is 50 (12x12px). Since not all icons would be recognizable in size 50, only a subset of the icons is available in this size.

Custom Size

All icons are SVGs and can be scaled to any size if needed. To adjust the size of the icon, you can set the width and height with a CSS-class or inline style.

Setting the size via CSS-class

Setting the size via CSS-class is recommended as it allows you to apply the same size to multiple icons.

<!-- CSS-class -->
<!-- Make sure to apply the class on the element oc-icon-v1 in order to achieve the desired specificity. -->

<style>
  oc-icon-v1.your-custom-class {
    width: 48px;
    height: 48px;
  }
</style>
<oc-icon-v1 type="wishlist" class="your-custom-class"></oc-icon-v1>
Setting the size via inline style

Setting the size via inline style does not require you to create a CSS-class, but it is less reusable.

<!-- inline style -->

<oc-icon-v1 type="wishlist" style="width: 48px; height: 48px;"></oc-icon-v1>

Accessibility

The icon component comes with a set of built-in accessibility features to ensure a seamless experience for all users.

ARIA hidden

If an icon is purely decorative and adds no information to the content, it should be visible to users but hidden from assistive technologies. This is the default behavior except for the oc-aria-label attribute, which makes the icon component recognizable by assistive technologies.

Use oc-aria-label

To make the icon recognizable for screen readers, use the oc-aria-label attribute to provide clear and descriptive context information. See the general accessibility documentation for guidance on using oc-aria-label, including how it works with link and masked link behavior.

Further reading

Configuration (v1)

Source: ./src/components/icon/v1/Configuration.mdx

Icon configuration

Configure the icon component with the controls below and see the changes live in the preview canvas. Click the Show code button within the preview canvas to see the source code for the current component configuration.

Story Default:

<oc-icon-v1 type="success-hint"></oc-icon-v1>

Interactive configurator (Storybook controls); every option is listed in the API section of this file.

All Icons (AllIcons.stories.ts)

All Icons

Story: components-icon-all-icons--all-icons · tags:

<icon-showcase-gallery version="v1"></icon-showcase-gallery>
Story source (TypeScript, verbatim from Storybook)
{
  render() {
    return html`<icon-showcase-gallery version="v1"></icon-showcase-gallery>`;
  }
}

API v1

Source: ./src/components/icon/v1/IconV1.API.g.mdx

Icon v1 API

API: <oc-icon-v1> (IconV1)

The {Latest.default.name.toLowerCase()} component allows users to display any icon from the OTTO components library. It has attributes for setting the icon type, size, and color. Find all available icons here.

Attributes / properties
Attribute Type Default Required Description
type icon name (428 values; see Icon list in `storybook/components/icon/README.md`) yes Sets the displayed icon. Find all available icons here.
size "50" | "100" "100" no Sets the size of the icon. Note that not all icons are available in size 50.
color string "currentColor" no Deprecated: The color attribute is deprecated. Use the CSS variable --color instead.

Sets the color of the icon.
oc-aria-label string undefined no Deprecated: The ocAriaLabel attribute is deprecated. Use the standard aria-label attribute instead.

Sets the ARIA label of the icon. If not set, the icon will be hidden from assistive technologies.
Events
Event Detail type Description
oc-property-change OcIconV1Events["oc-property-change"] Whenever a property value changes, this event triggers. Use this event to track all property changes within the component.

Refer to the Events documentation for more information.
oc-mount { component: string; } Fired when the component is mounted to the DOM. The event is fired when the onMount hook of the component is called by the runtime.
oc-unmount { component: string; } Fired when the component is unmounted from the DOM. The event is fired when the function returned by the onMount hook of the component is called by the runtime.
CSS custom properties
Custom property Default Description
--color undefined Sets a custom color through a CSS variable. Note: The preferred way of using colors is via design tokens instead of hex values.

Set to currentColor to inherit the color from the parent element.

Variations (v1)

Source: ./src/components/icon/v1/Variations.mdx

Variations

Listed below are the most common variations of the icon component as well as specific component variations for different use cases.

You can explore all available options using the component configurator, adjust the component to your needs, and see the changes live in a preview canvas.

Default

Story: components-icon-variations--default · tags: components

The default configuration uses size=100 and type=success-hint.

<oc-icon-v1 type="success-hint"></oc-icon-v1>

Icon 50

Story: components-icon-variations--icon-50 · tags: components

Variation of the default configuration with size=50.

Args: size=50, oc-aria-label=This is a 50px icon

<oc-icon-v1 type="success-hint" size="50" oc-aria-label="This is a 50px icon"></oc-icon-v1>

Demo custom size

Story: components-icon-variations--demo-icon-with-custom-size · tags: components

Variation with a custom size using the attributes width and height.

<oc-icon-v1 type="wishlist" style="width: 48px; height: 48px;"></oc-icon-v1>
Story source (TypeScript, verbatim from Storybook)
{
  name: "Demo custom size",
  parameters: {
    controls: {
      disabled: true
    }
  },
  argTypes: hideControlsBadge(Metadata),
  render() {
    return html`<oc-icon-v1 type="wishlist" style="width: 48px; height: 48px;"></oc-icon-v1>`;
  }
}

Demo animation

Story: components-icon-variations--demo-animation · tags: components

Demo with animation on click.

<oc-icon-v1 type="wishlist"></oc-icon-v1>
<script>
  (() => {
    const icon = document.querySelector("oc-icon-v1");
    const type = "animated-wishlist-active-highlight";
    icon.addEventListener("click", () => {
      if (icon.getAttribute("type") === type) {
        icon.style.color = "";
        icon.setAttribute("type", "wishlist");
      } else {
        icon.style.color = "var(--oc-semantic-color-background-brand, #eb001f)";

        icon.setAttribute("type", type);
      }
    });
  })();
</script>
Story source (TypeScript, verbatim from Storybook)
{
  name: "Demo animation",
  parameters: {
    controls: {
      disabled: true
    }
  },
  render() {
    return html`<oc-icon-v1 type="wishlist"></oc-icon-v1>
      <script>
        (() => {
          const icon = document.querySelector("oc-icon-v1");
          const type = "animated-wishlist-active-highlight";
          icon.addEventListener("click", () => {
            if (icon.getAttribute("type") === type) {
              icon.style.color = "";
              icon.setAttribute("type", "wishlist");
            } else {
              icon.style.color = "var(--oc-semantic-color-background-brand, #eb001f)";

              icon.setAttribute("type", type);
            }
          });
        })();
      </script> `;
  }
}

Interaction tests (IconV1.interactions.stories.ts)

Interaction test stories (automated tests, not usage patterns).

Vertical Align

Story: components-icon-interaction-tests--vertical-align · tags: play-fn

<h1>
  vertical-align: baseline (default)
  <svg width="24px" height="24px" style=" display: inline-block; background: lightgreen">
    <!-- just for compare-->
  </svg>
  <oc-icon-v1 type="success-hint" size="100"></oc-icon-v1>
</h1>
<h2>
  vertical-align: bottom
  <svg
    width="12px"
    height="12px"
    style="vertical-align: bottom; display: inline-block; background: lightgreen"
  >
    <!-- just for compare-->
  </svg>
  <oc-icon-v1 style="vertical-align: bottom;" type="success-hint" size="50"></oc-icon-v1>
</h2>

<h2>
  vertical-align: top
  <svg
    width="12px"
    height="12px"
    style="vertical-align: top; display: inline-block; background: lightgreen"
  >
    <!-- just for compare-->
  </svg>
  <oc-icon-v1 style="vertical-align: top;" type="success-hint" size="50"></oc-icon-v1>
</h2>
<h2>
  vertical-align: middle
  <svg
    width="12px"
    height="12px"
    style="vertical-align: middle; display: inline-block; background: lightgreen"
  >
    <!-- just for compare-->
  </svg>
  <oc-icon-v1 style="vertical-align: middle;" type="success-hint" size="50"></oc-icon-v1>
</h2>
<h2>
  vertical-align: text-top
  <svg
    width="12px"
    height="12px"
    style="vertical-align: text-top; display: inline-block; background: lightgreen"
  >
    <!-- just for compare-->
  </svg>
  <oc-icon-v1 style="vertical-align: text-top;" type="success-hint" size="50"></oc-icon-v1>
</h2>
<h2>
  vertical-align: text-bottom
  <svg
    width="12px"
    height="12px"
    style="vertical-align: text-bottom; display: inline-block; background: lightgreen"
  >
    <!-- just for compare-->
  </svg>
  <oc-icon-v1 style="vertical-align: text-bottom;" type="success-hint" size="50"></oc-icon-v1>
</h2>
Story source (TypeScript, verbatim from Storybook)
{
  render() {
    return html`
      <h1>
        vertical-align: baseline (default)
        <svg width="24px" height="24px" style=" display: inline-block; background: lightgreen">
          <!-- just for compare-->
        </svg>
        <oc-icon-v1 type="success-hint" size="100"></oc-icon-v1>
      </h1>
      <h2>
        vertical-align: bottom
        <svg
          width="12px"
          height="12px"
          style="vertical-align: bottom; display: inline-block; background: lightgreen"
        >
          <!-- just for compare-->
        </svg>
        <oc-icon-v1 style="vertical-align: bottom;" type="success-hint" size="50"></oc-icon-v1>
      </h2>

      <h2>
        vertical-align: top
        <svg
          width="12px"
          height="12px"
          style="vertical-align: top; display: inline-block; background: lightgreen"
        >
          <!-- just for compare-->
        </svg>
        <oc-icon-v1 style="vertical-align: top;" type="success-hint" size="50"></oc-icon-v1>
      </h2>
      <h2>
        vertical-align: middle
        <svg
          width="12px"
          height="12px"
          style="vertical-align: middle; display: inline-block; background: lightgreen"
        >
          <!-- just for compare-->
        </svg>
        <oc-icon-v1 style="vertical-align: middle;" type="success-hint" size="50"></oc-icon-v1>
      </h2>
      <h2>
        vertical-align: text-top
        <svg
          width="12px"
          height="12px"
          style="vertical-align: text-top; display: inline-block; background: lightgreen"
        >
          <!-- just for compare-->
        </svg>
        <oc-icon-v1 style="vertical-align: text-top;" type="success-hint" size="50"></oc-icon-v1>
      </h2>
      <h2>
        vertical-align: text-bottom
        <svg
          width="12px"
          height="12px"
          style="vertical-align: text-bottom; display: inline-block; background: lightgreen"
        >
          <!-- just for compare-->
        </svg>
        <oc-icon-v1 style="vertical-align: text-bottom;" type="success-hint" size="50"></oc-icon-v1>
      </h2>
    `;
  },
  async play({
    canvasElement
  }) {
    const dummySvgs = Array.from(canvasElement.getElementsByTagName("svg"));
    const icons = Array.from(canvasElement.getElementsByTagName("oc-icon-v1"));
    icons.forEach(icon => {
      icon.style.background = "lightgreen";
      icon.style.maskImage = "unset";
    });
    await Promise.all(icons.map(async (icon, i) => {
      await expect(icon.getBoundingClientRect().y, `icon${i} y should match svg${i} y`).toBe(dummySvgs[i].getBoundingClientRect().y);
    }));
  }
}

All icon names

487 icon files (pl_icon_<name>.svg) are referenced by the component CSS; each is saved as a standalone SVG in Svg folder. Names ending in 50 are the small-size (size="50") drawings of the same icon. Use the name without the pl_icon_ prefix as type on <oc-icon-v1> (or icon, icon-left, ... on other components).

Not downloadable (HTTP 403, animated icon implemented in the component itself): pl_icon_animated-wishlist-active-highlight

Icon File
360-degree pl_icon_360-degree.svg
advice pl_icon_advice.svg
almond pl_icon_almond.svg
animated-wishlist-active-highlight (not available)
archive pl_icon_archive.svg
archive-6m pl_icon_archive-6m.svg
armchair pl_icon_armchair.svg
arrow-down pl_icon_arrow-down.svg
arrow-down50 pl_icon_arrow-down50.svg
arrow-graph pl_icon_arrow-graph.svg
arrow-graph-axis pl_icon_arrow-graph-axis.svg
arrow-left pl_icon_arrow-left.svg
arrow-left50 pl_icon_arrow-left50.svg
arrow-long-down pl_icon_arrow-long-down.svg
arrow-long-down50 pl_icon_arrow-long-down50.svg
arrow-long-left pl_icon_arrow-long-left.svg
arrow-long-left50 pl_icon_arrow-long-left50.svg
arrow-long-right pl_icon_arrow-long-right.svg
arrow-long-right50 pl_icon_arrow-long-right50.svg
arrow-long-up pl_icon_arrow-long-up.svg
arrow-long-up50 pl_icon_arrow-long-up50.svg
arrow-misdirected pl_icon_arrow-misdirected.svg
arrow-misdirected50 pl_icon_arrow-misdirected50.svg
arrow-return pl_icon_arrow-return.svg
arrow-return50 pl_icon_arrow-return50.svg
arrow-right pl_icon_arrow-right.svg
arrow-right50 pl_icon_arrow-right50.svg
arrow-up pl_icon_arrow-up.svg
arrow-up50 pl_icon_arrow-up50.svg
ascending-arrow-graph-axis pl_icon_ascending-arrow-graph-axis.svg
assembly pl_icon_assembly.svg
assortment pl_icon_assortment.svg
attachment pl_icon_attachment.svg
audio-description pl_icon_audio-description.svg
augmented-reality pl_icon_augmented-reality.svg
autonomous-team pl_icon_autonomous-team.svg
bank-details pl_icon_bank-details.svg
bar-graph-ascending pl_icon_bar-graph-ascending.svg
bar-graph-ascending-magnifying-glass pl_icon_bar-graph-ascending-magnifying-glass.svg
bar-graph-axis pl_icon_bar-graph-axis.svg
barley pl_icon_barley.svg
basket pl_icon_basket.svg
basket-sale pl_icon_basket-sale.svg
basket50 pl_icon_basket50.svg
basketball pl_icon_basketball.svg
bikini pl_icon_bikini.svg
blogs pl_icon_blogs.svg
box-scale pl_icon_box-scale.svg
brandshop pl_icon_brandshop.svg
brazil-nut pl_icon_brazil-nut.svg
browser-click pl_icon_browser-click.svg
browser-content pl_icon_browser-content.svg
browser-content-skyscraper pl_icon_browser-content-skyscraper.svg
browser-duration pl_icon_browser-duration.svg
browser-hand-pointing pl_icon_browser-hand-pointing.svg
browser-list-click pl_icon_browser-list-click.svg
browser-magnifying-glass-info pl_icon_browser-magnifying-glass-info.svg
browser-person-click pl_icon_browser-person-click.svg
browser-psm pl_icon_browser-psm.svg
browser-target pl_icon_browser-target.svg
browser-teaser pl_icon_browser-teaser.svg
burger pl_icon_burger.svg
bus pl_icon_bus.svg
callback pl_icon_callback.svg
callback50 pl_icon_callback50.svg
camera pl_icon_camera.svg
cashback pl_icon_cashback.svg
cashew-nut pl_icon_cashew-nut.svg
catalogue pl_icon_catalogue.svg
categories pl_icon_categories.svg
celery pl_icon_celery.svg
certificate pl_icon_certificate.svg
chair pl_icon_chair.svg
chat pl_icon_chat.svg
chat-ellipsis pl_icon_chat-ellipsis.svg
chatbot pl_icon_chatbot.svg
check pl_icon_check.svg
check50 pl_icon_check50.svg
chicken pl_icon_chicken.svg
city pl_icon_city.svg
clear pl_icon_clear.svg
clear50 pl_icon_clear50.svg
clipboard-check pl_icon_clipboard-check.svg
clipboard-pen pl_icon_clipboard-pen.svg
close pl_icon_close.svg
close50 pl_icon_close50.svg
closed-captions pl_icon_closed-captions.svg
clover-four-leaf pl_icon_clover-four-leaf.svg
code-management pl_icon_code-management.svg
cogwheel-circular-arrow pl_icon_cogwheel-circular-arrow.svg
cogwheel-pen pl_icon_cogwheel-pen.svg
contact-mail pl_icon_contact-mail.svg
contrast pl_icon_contrast.svg
cookie pl_icon_cookie.svg
copy pl_icon_copy.svg
cosmetics pl_icon_cosmetics.svg
cow pl_icon_cow.svg
crab pl_icon_crab.svg
critique pl_icon_critique.svg
crown-circle pl_icon_crown-circle.svg
curtain pl_icon_curtain.svg
cut-out pl_icon_cut-out.svg
dashboard pl_icon_dashboard.svg
data-filter pl_icon_data-filter.svg
decision pl_icon_decision.svg
deer pl_icon_deer.svg
delete pl_icon_delete.svg
delete50 pl_icon_delete50.svg
delivery-24h pl_icon_delivery-24h.svg
delivery-curb pl_icon_delivery-curb.svg
delivery-desired-date pl_icon_delivery-desired-date.svg
delivery-desired-date-selection pl_icon_delivery-desired-date-selection.svg
delivery-express pl_icon_delivery-express.svg
delivery-flat pl_icon_delivery-flat.svg
delivery-on-hangers pl_icon_delivery-on-hangers.svg
delivery-preferred-place pl_icon_delivery-preferred-place.svg
design-assets pl_icon_design-assets.svg
desktop pl_icon_desktop.svg
desktop-code pl_icon_desktop-code.svg
desktop-phone pl_icon_desktop-phone.svg
desktop-phone-ads pl_icon_desktop-phone-ads.svg
desktop-phone-ads-click pl_icon_desktop-phone-ads-click.svg
devices-monitor-laptop-tablet pl_icon_devices-monitor-laptop-tablet.svg
diamond-circle pl_icon_diamond-circle.svg
dish-feature-lactose-free pl_icon_dish-feature-lactose-free.svg
dislike pl_icon_dislike.svg
dislike50 pl_icon_dislike50.svg
disposal pl_icon_disposal.svg
document-magnifying-glass pl_icon_document-magnifying-glass.svg
document-sign pl_icon_document-sign.svg
document-speaker pl_icon_document-speaker.svg
downloads pl_icon_downloads.svg
dress pl_icon_dress.svg
dungarees pl_icon_dungarees.svg
duplicate pl_icon_duplicate.svg
duration pl_icon_duration.svg
e-invoice pl_icon_e-invoice.svg
edit pl_icon_edit.svg
egg pl_icon_egg.svg
ellipsis pl_icon_ellipsis.svg
ellipsis-vertical pl_icon_ellipsis-vertical.svg
email-verification-confirmed pl_icon_email-verification-confirmed.svg
email-verification-confirmed-safe pl_icon_email-verification-confirmed-safe.svg
email-verification-sent pl_icon_email-verification-sent.svg
email-verification-sent-safe pl_icon_email-verification-sent-safe.svg
empty-hint pl_icon_empty-hint.svg
end-to-end pl_icon_end-to-end.svg
error-article-image pl_icon_error-article-image.svg
error-hint pl_icon_error-hint.svg
error-hint50 pl_icon_error-hint50.svg
euro pl_icon_euro.svg
euro-sale pl_icon_euro-sale.svg
event pl_icon_event.svg
events pl_icon_events.svg
factory pl_icon_factory.svg
faq pl_icon_faq.svg
feedback pl_icon_feedback.svg
feedback50 pl_icon_feedback50.svg
filter pl_icon_filter.svg
filter50 pl_icon_filter50.svg
fish pl_icon_fish.svg
fitness pl_icon_fitness.svg
flag-chequered pl_icon_flag-chequered.svg
flag-chequered50 pl_icon_flag-chequered50.svg
flame pl_icon_flame.svg
flame50 pl_icon_flame50.svg
flexible-work pl_icon_flexible-work.svg
flip pl_icon_flip.svg
flyer pl_icon_flyer.svg
food-processor pl_icon_food-processor.svg
fullscreen pl_icon_fullscreen.svg
gallery-view pl_icon_gallery-view.svg
gamepad pl_icon_gamepad.svg
garlic pl_icon_garlic.svg
gavel pl_icon_gavel.svg
gender-intersex pl_icon_gender-intersex.svg
globe pl_icon_globe.svg
globe-hand pl_icon_globe-hand.svg
gluten pl_icon_gluten.svg
glutenfree pl_icon_glutenfree.svg
hand-high-five pl_icon_hand-high-five.svg
hand-pointing-up pl_icon_hand-pointing-up.svg
hand-raised pl_icon_hand-raised.svg
handshake pl_icon_handshake.svg
hashtag pl_icon_hashtag.svg
hazelnut pl_icon_hazelnut.svg
hearing-disability pl_icon_hearing-disability.svg
hide pl_icon_hide.svg
high-heels pl_icon_high-heels.svg
home pl_icon_home.svg
iceberg pl_icon_iceberg.svg
info pl_icon_info.svg
info-hint pl_icon_info-hint.svg
info-hint50 pl_icon_info-hint50.svg
info50 pl_icon_info50.svg
inplace-zoom pl_icon_inplace-zoom.svg
inplace-zoom-reverse pl_icon_inplace-zoom-reverse.svg
inplace-zoom50 pl_icon_inplace-zoom50.svg
insurance pl_icon_insurance.svg
kamut pl_icon_kamut.svg
keyboard pl_icon_keyboard.svg
laptop pl_icon_laptop.svg
laptop-os pl_icon_laptop-os.svg
laptop-phone pl_icon_laptop-phone.svg
laptop-phone-ads pl_icon_laptop-phone-ads.svg
laptop-phone-youtube pl_icon_laptop-phone-youtube.svg
leaving-page pl_icon_leaving-page.svg
leaving-page50 pl_icon_leaving-page50.svg
letter-opened pl_icon_letter-opened.svg
light-bulb pl_icon_light-bulb.svg
like pl_icon_like.svg
like-product pl_icon_like-product.svg
like50 pl_icon_like50.svg
line-graph pl_icon_line-graph.svg
link pl_icon_link.svg
list-view pl_icon_list-view.svg
location pl_icon_location.svg
lock-closed pl_icon_lock-closed.svg
lock-closed-check pl_icon_lock-closed-check.svg
lock-closed50 pl_icon_lock-closed50.svg
lock-open pl_icon_lock-open.svg
lock-open50 pl_icon_lock-open50.svg
lupine pl_icon_lupine.svg
macadamia pl_icon_macadamia.svg
material-samples pl_icon_material-samples.svg
measurement pl_icon_measurement.svg
megaphone pl_icon_megaphone.svg
mental-disability pl_icon_mental-disability.svg
mic pl_icon_mic.svg
milk pl_icon_milk.svg
minus pl_icon_minus.svg
minus50 pl_icon_minus50.svg
money-banknotes pl_icon_money-banknotes.svg
money-coins pl_icon_money-coins.svg
money-coins-arrow pl_icon_money-coins-arrow.svg
money-document pl_icon_money-document.svg
money-plus pl_icon_money-plus.svg
money-stack pl_icon_money-stack.svg
moon pl_icon_moon.svg
move pl_icon_move.svg
movie pl_icon_movie.svg
mustard pl_icon_mustard.svg
nav pl_icon_nav.svg
new pl_icon_new.svg
newsletter-sign-up pl_icon_newsletter-sign-up.svg
notification pl_icon_notification.svg
notification-strikethrough pl_icon_notification-strikethrough.svg
notification50 pl_icon_notification50.svg
nuts pl_icon_nuts.svg
oat pl_icon_oat.svg
ogh-change pl_icon_ogh-change.svg
order pl_icon_order.svg
order-cancelled pl_icon_order-cancelled.svg
order-delivered pl_icon_order-delivered.svg
order-form pl_icon_order-form.svg
order-management pl_icon_order-management.svg
order-misdirected pl_icon_order-misdirected.svg
order-on-road pl_icon_order-on-road.svg
order-packed pl_icon_order-packed.svg
order-payment pl_icon_order-payment.svg
order-received pl_icon_order-received.svg
order-return pl_icon_order-return.svg
order-return-arrow pl_icon_order-return-arrow.svg
order-shipped pl_icon_order-shipped.svg
order-state-unknown pl_icon_order-state-unknown.svg
order-stored pl_icon_order-stored.svg
otto-app pl_icon_otto-app.svg
otto-campus pl_icon_otto-campus.svg
otto-change pl_icon_otto-change.svg
otto-company pl_icon_otto-company.svg
otto-laptop pl_icon_otto-laptop.svg
otto-laptop-phone pl_icon_otto-laptop-phone.svg
otto-logo pl_icon_otto-logo.svg
otto-up pl_icon_otto-up.svg
otto-up-points pl_icon_otto-up-points.svg
out-of-home pl_icon_out-of-home.svg
out-of-home-digital pl_icon_out-of-home-digital.svg
paper-plane pl_icon_paper-plane.svg
paper-plane-realistic pl_icon_paper-plane-realistic.svg
pause pl_icon_pause.svg
payment-credit-card pl_icon_payment-credit-card.svg
payment-invoice pl_icon_payment-invoice.svg
payment-pause pl_icon_payment-pause.svg
payment-plan pl_icon_payment-plan.svg
payment-plan-protection pl_icon_payment-plan-protection.svg
pdf pl_icon_pdf.svg
peanut pl_icon_peanut.svg
pecan-nut pl_icon_pecan-nut.svg
pending pl_icon_pending.svg
pending50 pl_icon_pending50.svg
person pl_icon_person.svg
person-access pl_icon_person-access.svg
person-arrow-graph pl_icon_person-arrow-graph.svg
person-callcenter pl_icon_person-callcenter.svg
person-check pl_icon_person-check.svg
person-colleagues pl_icon_person-colleagues.svg
person-community pl_icon_person-community.svg
person-development pl_icon_person-development.svg
person-exchange pl_icon_person-exchange.svg
person-female pl_icon_person-female.svg
person-influencer pl_icon_person-influencer.svg
person-info pl_icon_person-info.svg
person-magnifying-glass pl_icon_person-magnifying-glass.svg
person-male pl_icon_person-male.svg
person-rating pl_icon_person-rating.svg
person-support pl_icon_person-support.svg
person-switch pl_icon_person-switch.svg
person-wheelchair pl_icon_person-wheelchair.svg
person-workshop pl_icon_person-workshop.svg
phone pl_icon_phone.svg
phone-permission pl_icon_phone-permission.svg
phone-play pl_icon_phone-play.svg
phone-shopping-cart pl_icon_phone-shopping-cart.svg
phone50 pl_icon_phone50.svg
pig pl_icon_pig.svg
pin pl_icon_pin.svg
pin50 pl_icon_pin50.svg
pinch pl_icon_pinch.svg
pinch-gesture pl_icon_pinch-gesture.svg
pistachio pl_icon_pistachio.svg
plant pl_icon_plant.svg
play pl_icon_play.svg
play-outline pl_icon_play-outline.svg
plus pl_icon_plus.svg
plus-hint pl_icon_plus-hint.svg
plus50 pl_icon_plus50.svg
price-alert pl_icon_price-alert.svg
price-tag pl_icon_price-tag.svg
price-tag-premium pl_icon_price-tag-premium.svg
print pl_icon_print.svg
print50 pl_icon_print50.svg
puzzle pl_icon_puzzle.svg
qr-code pl_icon_qr-code.svg
qr-code50 pl_icon_qr-code50.svg
question pl_icon_question.svg
question-hint pl_icon_question-hint.svg
question-hint50 pl_icon_question-hint50.svg
question50 pl_icon_question50.svg
radio pl_icon_radio.svg
rating-empty pl_icon_rating-empty.svg
rating-empty50 pl_icon_rating-empty50.svg
rating-filled pl_icon_rating-filled.svg
rating-filled50 pl_icon_rating-filled50.svg
rating-half pl_icon_rating-half.svg
rating-half50 pl_icon_rating-half50.svg
rating-order pl_icon_rating-order.svg
rating-payment pl_icon_rating-payment.svg
reach pl_icon_reach.svg
refresh pl_icon_refresh.svg
refresh50 pl_icon_refresh50.svg
remote-work pl_icon_remote-work.svg
repair pl_icon_repair.svg
reply pl_icon_reply.svg
reply50 pl_icon_reply50.svg
retirement-provision pl_icon_retirement-provision.svg
rocket pl_icon_rocket.svg
room pl_icon_room.svg
rye pl_icon_rye.svg
sabbatical pl_icon_sabbatical.svg
sale pl_icon_sale.svg
save pl_icon_save.svg
screenshot pl_icon_screenshot.svg
sea pl_icon_sea.svg
search pl_icon_search.svg
search-enter pl_icon_search-enter.svg
search-navigation pl_icon_search-navigation.svg
seo pl_icon_seo.svg
service-info pl_icon_service-info.svg
sesame pl_icon_sesame.svg
settings pl_icon_settings.svg
share pl_icon_share.svg
share-ios pl_icon_share-ios.svg
sheep pl_icon_sheep.svg
shell pl_icon_shell.svg
shirt pl_icon_shirt.svg
shopping-cart pl_icon_shopping-cart.svg
shopping-cart-euro pl_icon_shopping-cart-euro.svg
shopping-cart-plus pl_icon_shopping-cart-plus.svg
show pl_icon_show.svg
skip-link pl_icon_skip-link.svg
skip-link50 pl_icon_skip-link50.svg
smiley-angry pl_icon_smiley-angry.svg
smiley-angry50 pl_icon_smiley-angry50.svg
smiley-confused pl_icon_smiley-confused.svg
smiley-dizzy pl_icon_smiley-dizzy.svg
smiley-happy pl_icon_smiley-happy.svg
smiley-happy50 pl_icon_smiley-happy50.svg
smiley-negative pl_icon_smiley-negative.svg
smiley-negative50 pl_icon_smiley-negative50.svg
smiley-neutral pl_icon_smiley-neutral.svg
smiley-neutral50 pl_icon_smiley-neutral50.svg
smiley-pensive pl_icon_smiley-pensive.svg
smiley-positive pl_icon_smiley-positive.svg
smiley-positive50 pl_icon_smiley-positive50.svg
smiley-relieved pl_icon_smiley-relieved.svg
smiley-sad pl_icon_smiley-sad.svg
smiley-smiling pl_icon_smiley-smiling.svg
smiley-smiling-with-smiling-eyes pl_icon_smiley-smiling-with-smiling-eyes.svg
smiley-squinting pl_icon_smiley-squinting.svg
smiley-winking pl_icon_smiley-winking.svg
smiley-worried pl_icon_smiley-worried.svg
sms-info pl_icon_sms-info.svg
sneaker pl_icon_sneaker.svg
sort pl_icon_sort.svg
sort-ascending pl_icon_sort-ascending.svg
sort-ascending50 pl_icon_sort-ascending50.svg
sort-descending pl_icon_sort-descending.svg
sort-descending50 pl_icon_sort-descending50.svg
sort50 pl_icon_sort50.svg
soy pl_icon_soy.svg
sparkles pl_icon_sparkles.svg
sparkles50 pl_icon_sparkles50.svg
speech-bubble-eye pl_icon_speech-bubble-eye.svg
speech-bubble-sparkles pl_icon_speech-bubble-sparkles.svg
speech-disability pl_icon_speech-disability.svg
spelt pl_icon_spelt.svg
sphere pl_icon_sphere.svg
star-circle pl_icon_star-circle.svg
stationary pl_icon_stationary.svg
stopwatch pl_icon_stopwatch.svg
studies pl_icon_studies.svg
success-hint pl_icon_success-hint.svg
success-hint-filled pl_icon_success-hint-filled.svg
success-hint50 pl_icon_success-hint50.svg
sulfur-dioxide-sulfite pl_icon_sulfur-dioxide-sulfite.svg
sun pl_icon_sun.svg
sustainability pl_icon_sustainability.svg
sustainable-animal-welfare pl_icon_sustainable-animal-welfare.svg
sustainable-delivery pl_icon_sustainable-delivery.svg
sustainable-energy-efficient pl_icon_sustainable-energy-efficient.svg
sustainable-natural-cosmetics pl_icon_sustainable-natural-cosmetics.svg
sustainable-organic-food pl_icon_sustainable-organic-food.svg
sustainable-organic-materials pl_icon_sustainable-organic-materials.svg
sustainable-production pl_icon_sustainable-production.svg
sustainable-recyclable-design pl_icon_sustainable-recyclable-design.svg
sustainable-recycling pl_icon_sustainable-recycling.svg
sustainable-resource pl_icon_sustainable-resource.svg
sustainable-social-initiatives pl_icon_sustainable-social-initiatives.svg
swipe-gesture pl_icon_swipe-gesture.svg
sync-device pl_icon_sync-device.svg
t-shirt pl_icon_t-shirt.svg
tablet pl_icon_tablet.svg
tableware pl_icon_tableware.svg
target-group pl_icon_target-group.svg
teddy pl_icon_teddy.svg
test-result pl_icon_test-result.svg
text-scale pl_icon_text-scale.svg
theming pl_icon_theming.svg
touch pl_icon_touch.svg
town pl_icon_town.svg
trousers pl_icon_trousers.svg
tv pl_icon_tv.svg
tv-smart pl_icon_tv-smart.svg
tv-target pl_icon_tv-target.svg
universal-access pl_icon_universal-access.svg
unpin pl_icon_unpin.svg
upload pl_icon_upload.svg
vacation pl_icon_vacation.svg
variant-content pl_icon_variant-content.svg
vegan pl_icon_vegan.svg
vegetarian pl_icon_vegetarian.svg
village pl_icon_village.svg
visual-disability pl_icon_visual-disability.svg
voice-sparkles pl_icon_voice-sparkles.svg
volume-off pl_icon_volume-off.svg
volume-on pl_icon_volume-on.svg
voucher pl_icon_voucher.svg
voucher50 pl_icon_voucher50.svg
walnut pl_icon_walnut.svg
warning pl_icon_warning.svg
warning-hint pl_icon_warning-hint.svg
warning-hint50 pl_icon_warning-hint50.svg
warranty pl_icon_warranty.svg
washing-machine pl_icon_washing-machine.svg
webhook pl_icon_webhook.svg
whatsapp pl_icon_whatsapp.svg
wheat pl_icon_wheat.svg
wifi pl_icon_wifi.svg
wishlist pl_icon_wishlist.svg
wishlist-active pl_icon_wishlist-active.svg
wishlist-active50 pl_icon_wishlist-active50.svg
wishlist50 pl_icon_wishlist50.svg
work-life pl_icon_work-life.svg
workshop pl_icon_workshop.svg
youtube pl_icon_youtube.svg
zoom-in pl_icon_zoom-in.svg
zoom-out pl_icon_zoom-out.svg