Free Next Day Shipping—24 Hours Only ⚡
{% 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 Mid Length Board Shorts
Find the perfect men's mid-length boardshorts for your next surf session at Billabong. Our Billabong shorts men's collection offer style and performance with room to move. The 18 inch board shorts and 19 inch board shorts come in a variety of styles from classic solids to bold patterns and prints.
Discover at-the-knee shorts made from quick-drying fabric and featuring an elastic waistband with drawcords for an adjustable fit. Check out our collection of Billabong swim shorts and find the ideal pair for your next beach or surf trip.
- Choosing a selection results in a full page refresh.