Custom menu hamburger icon in Squarespace

Want to replace the default Squarespace hamburger icon with your own custom design? You can do it easily with a few lines of CSS. This snippet lets you swap in different icons for light and dark backgrounds to keep your header looking sharp across themes.

 

Step 1: Prepare Your Icons

Upload two transparent PNG or SVG icons to your Squarespace Assets (one for dark backgrounds, one for light). Copy each image URL - you’ll use them in the code below.

Step 2: Add the CSS

Go to Design → Custom CSS in Squarespace and paste the following, replacing the image URLs with your own:

/* for dark colloured backgrounds */
[data-header-theme=""],.dark,.dark-bold,.black,.black-bold,.bright,.bright-inverse, {
.burger-inner:after {
    content: "";
    background-image: url(https://image.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    background-color: transparent !important;
    display: block;
    width: 40px;
    height:50px;
    margin-top:-8px;
}
.burger-inner>div {
    display: none !important;
}
 }

/* for light colloured backgrounds */
[data-header-theme=""],.white,.white-bold,.light,.light-bold {
.burger-inner:after {
    content: "";
    background-image: url(https://img.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    background-color: transparent !important;
    display: block;
    width: 40px;
    height:50px;
  margin-top:-8px;
}
.burger-inner>div {
    display: none !important;
}
 }
 

Step 2: Save and Test

Preview your site in both light and dark header modes. The hamburger icon should now switch automatically depending on your header’s background color.

Pro Tip: Adjust the width, height, or margin-top values to fit your design perfectly.




Found this tutorial helpful?
Next
Next

Remove padding between mobile menu CTA button and menu link text in Squarespace