{% 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 17 Inch Board Shorts
Find the perfect men's board shorts for any water adventure at Billabong. Whether you're hitting the beach, surfing the waves or just lounging poolside, our collection of men's short-length surf shorts are the best board shorts on the market.
For the best fit, our 16 inch shorts hit just above the knee and work great for surfing, while our 17 inch shorts offer a slightly longer inseam.
Choose between performance, 4-way stretch surf boardshorts with pockets or casual cotton blend swim trunks with drawstring waistbands. Whichever style of men's board shorts you choose, you'll appreciate the comfortable fit and quick-drying fabric that make beach days that much better.
- Choosing a selection results in a full page refresh.