Customize the design of your store using CSS
Easily customize the design of your store using CSS to enhance your branding, style specific sections or your whole site, and take advantage of modern theme features — all without editing core code.
Last updated 4 months ago
Helpful links
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/CSS_basics
https://developer.mozilla.org/docs/Learn/CSS/Building_blocks/Selectors
https://help.shopify.com/en/manual/online-store/themes/theme-support
https://shopify.dev/themes/architecture/sections/section-schema#tag
https://shopify.dev/themes/architecture/settings/fonts#add-shopify-fonts-to-your-theme
https://help.shopify.com/en/manual/online-store/web-performance
Overview
Custom CSS empowers you to adjust your store’s appearance beyond what’s possible with built-in settings. This is a powerful way to personalize your site, whether you want to update your entire store or focus on individual sections. By leveraging our modern themes, you’ll always have access to the latest design features and customization options for your brand.
💡 Tip: Even a little experience with CSS and HTML makes it easier to customize your theme.
Learning resources for CSS
If you're interested in improving your CSS skills, check out the following resources:
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/CSS_basics
https://developer.mozilla.org/docs/Learn/CSS/Building_blocks/Selectors
https://help.shopify.com/en/manual/online-store/themes/theme-support
Adding custom CSS to your theme
A cascading style sheet (CSS) lets you control the appearance of your site’s elements across single or multiple pages. With Custom CSS, you can style the entire store or target just one section for unique customizations.
You cannot use custom CSS on the Checkout page.
Considerations for using custom CSS
⚠️ Important:Custom CSS will always take priority and override built-in theme settings if there’s a conflict.
You should keep the following details in mind before adding custom CSS:
Some CSS selectors and at-rules are restricted
The following are not allowed:
@import,@charset, and@namespace.At the section level, only
@media,@container,@layer, and@supportsare supported.It is not possible to target IDs or classes belonging to the parent
shopify-sectionwrapper at the section level.
If you write a CSS rule for the wrapper tag of the parent section, it acts as a descendant selector. While the default wrapper is a
<div>, it can be changed to another permitted HTML tag.For more on permitted wrapper tags, visit https://shopify.dev/themes/architecture/sections/section-schema#tag.
Only content hosted on
https://cdn.shopify.comis allowed in custom CSS URLs.Custom fonts may be used, but since they load separately, they can impact your store’s speed.
Learn more about using custom fonts.
You can find tips on optimizing performance when using additional resources.
Character limits exist for custom CSS:
Up to 1500 characters when applied to the whole theme
Up to 500 characters when applied to a single section
CSS that depends on specific theme classes or structure might stop working after a theme update.
Our support team does not provide in-depth troubleshooting for custom code changes.
For additional support, check https://help.shopify.com/en/manual/online-store/themes/theme-support.
🚧 Caution: Always carefully review your CSS after any theme update — new releases can change markup or class names.
How to add custom CSS to your entire theme
To apply custom CSS across your entire store, follow these steps:
Go to your admin dashboard and select Online Store > Themes.
Click Customize next to your active theme.
Navigate to Theme settings.
Click Custom CSS.
Add or paste your CSS rules.
Click Save.
Your changes will be live across all pages except Checkout.
How to add custom CSS to a specific section
To style just one section with Custom CSS:
In your admin dashboard, go to Online Store > Themes.
Click Customize.
Select the section you want to update in the customizer.
Scroll to the bottom of the section panel and click Custom CSS.
Enter your custom CSS styles.
Click Save.
This approach allows you to tailor the look of specific areas without changing your entire store.