{% if collection.filters.applied.size > 0 %}
{% endif %}
{%- for filter in collection.filters.all -%}
{% if filter.key == 'filter.v.availability' %}{% continue %}{% endif %}
{% assign filter_label = filter.label %}
{%- for option in filter.options -%}
{%- if option.active -%}
{%- endif -%}
{%- endfor -%}
{%- if filter.range != nil and filter.range[0].low != '' or filter.range[0].high != '' %}
{% assign low = filter.range[0].low | replace: '.00', '' %}
{% assign high = filter.range[0].high | replace: '.00', '' %}
{%- capture filter_value -%}
${% if low == '' %}0{% else %}{{ low }}{% endif %} - {% if high != '' %}${{ high }}{% endif %}
{%- endcapture -%}
{%- endif -%}
{%- endfor -%}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "category" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "gender" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "size" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 4 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "price" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 4 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "color" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 6 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{% capture color_map %}Beige: #c7b299,
Black: #000000,
Blue: #095a80,
Brown: #543b24,
Green: #2b5f2a,
Orange: #ba6435,
Pink: #e294a7,
Purple: #493664,
Red: #9c3232,
White: #ffffff,
Yellow: #e0c02a,
Gray: #707070,
Miscellaneous: url(//cdn.shopify.com/s/files/1/0580/9301/1077/files/Multi-Rainbow-Square-2.png?v=1754608407),
Violet:#493664,
Multi: url(//cdn.shopify.com/s/files/1/0580/9301/1077/files/Multi-Rainbow-Square-2.png?v=1754608407){% endcapture %}
{% assign color_map = color_map | split: ',' %}
{%- for option in set.options -%}
{%- assign swatch_bg = '' -%}
{%- for color in color_map -%}
{%- assign key = color | split: ':' | first | strip | handle -%}
{%- assign value = color | split: ':' | last | strip -%}
{%- assign option_handle = option.value | handle -%}
{%- if key == option_handle -%}
{%- assign swatch_bg = value -%}
{%- endif -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{{ option.label }}
{%- endfor -%}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "product-type" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "fit" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "style" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "length" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "thickness" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "entry" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "top-style" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "waist" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "neck" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "closure" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "outseam" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "features" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "collection" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "sleeve-length" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "bottom-coverage" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "tee-style" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
{%- for set in collection.filters.all -%}
{%- assign filter_title = "availability" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
{% endif %}
{%- endfor -%}
{{ set.label }}
chevron-down
chevron-down
{%- for option in set.options -%}
{%- endfor -%}
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
Men's Stretch Boardshorts
Find the perfect fit in our range of Billabong platinum stretch board shorts. Whether you're kicking back at the beach or hitting the waves, our innovative men's stretch boardshorts provide unrestricted comfort and freedom of movement. Built with super stretchy fabric, these swim trunks are lightweight and feel like a second skin. Plus, the stretch waistband ensures a customized fit.
Our Billabong stretch boardshorts come in a variety of colors and prints, offering breathable, quick-dry comfort whether you're surfing, swimming, or just lounging by the water. With wicking properties that pull moisture away from your skin, these stretch boardshorts help keep you cool and dry.
- Choosing a selection results in a full page refresh.