Key takeaways
- Section buttons (hero CTAs, feature block buttons) are edited directly in the Theme Editor section settings.
- System buttons like “Add to cart” and “Buy now” are edited via Online Store > Themes > three-dot menu (…) > Edit default theme content.
- You can’t change “Add to cart” by clicking on it in the preview - it’s a language string, not a section setting.
- If you need a button that doesn’t exist yet, Fudge can add one from a plain English description. See also: how to add a button in Shopify.
There are two types of buttons in Shopify, and they’re edited in completely different places. Look in the wrong place and the text won’t be there. Section buttons are edited in the theme editor; system buttons like Add to cart are edited in the theme’s default content.
Why you can trust us
We’ve built and customised hundreds of Shopify storefronts. We also built Fudge, the AI operator for Shopify stores, with a 4.9 rating on the Shopify App Store.
The two types of Shopify buttons
Type 1 - Section buttons. These are buttons added as blocks inside sections - hero banners, feature sections, image-with-text blocks. The text is editable directly in the Theme Editor.
Type 2 - System buttons. These are buttons generated by Shopify’s core functionality - “Add to cart,” “Buy now,” “Continue shopping,” “Check out.” Their text lives in your theme’s language file, not in section settings.
Method 1 - Change section button text in the Theme Editor
Step 1. Go to Online Store > Themes > Customize.
Step 2. Navigate to the section containing the button.
Step 3. Click the section in the left sidebar to open its settings.
Step 4. Find the button block in the section settings. Click it to expand.
Step 5. Update the Label or Button text field with your new text.
Step 6. Click Save.
The change is visible immediately in the preview. If you can’t find the button in section settings, it may be a system button - see Method 2.
Method 2 - Change “Add to cart,” “Buy now,” and other system button text
Shopify’s system buttons are controlled by a language file. You can’t edit them by clicking in the Theme Editor preview.
Step 1. Go to Online Store > Themes.
Step 2. Click the three-dot menu (…) next to your active theme, then Edit default theme content.
Step 3. Use the search bar at the top. Search for the exact phrase you want to change - for example, “Add to cart.”
Step 4. The search will surface the relevant field. Click into it and type your new text.
Step 5. Click Save.
Common system button strings and where to find them
| Button | Search term |
|---|---|
| “Add to cart” | add to cart |
| “Buy now” / “Buy it now” | buy it now |
| “Continue shopping” | continue shopping |
| “Check out” | checkout |
| “Sold out” | sold out |
The Edit default theme content screen covers every translatable string in your theme. Use the search - the list is long.
If your store has more than one language, see how to translate text manually in Shopify.
What if the button text doesn’t update?
A few things to check:
- You edited the wrong theme. Make sure you opened Edit default theme content on your live/active theme, not a draft.
- The theme has multiple language files. If your store has multiple active languages, you’ll need to update each one.
- The button is coming from an app. Some apps add their own buttons (review widgets, upsell apps). Edit those through the app’s own settings.
Changing button font in Shopify
If you want to change the font of buttons (not just the text), that’s controlled by:
- Theme Editor > Theme settings > Typography - for the global font applied to buttons.
- CSS in your theme’s assets folder - for precise per-button font changes (weight, size, letter spacing).
Button font changes that go beyond what the Theme Editor exposes require CSS. If you’re not comfortable with that, Fudge, the AI operator for Shopify stores, can make targeted CSS changes to your button styles from a plain English description in its store editor, as a draft you preview first.
For the text in the cart drawer, see how to update cart drawer text in Shopify.
Quick reference
| What to change | Where to go |
|---|---|
| Hero / section CTA button text | Theme Editor > click section > button block |
| “Add to cart” text | Themes > … > Edit default theme content |
| “Buy now” text | Themes > … > Edit default theme content |
| Button font / style | Theme settings > Typography or CSS |
FAQ
Why can't I change "Add to cart" by clicking on it in the Theme Editor?
It's a system button rendered from your theme's language file, not a configurable section block. Section buttons (hero CTAs, banner buttons) are click-to-edit; system buttons require Online Store → Themes → three-dot menu (…) → Edit default theme content.
Will changing "Add to cart" text affect SEO or conversion?
Conversion: minimally, in either direction. "Add to cart" is the standard and shoppers expect it. Changes like "Add to bag" or "Add it" can work if they fit your brand voice but don't expect a meaningful lift. SEO: no - this text isn't indexed in a way that affects rankings.
Can I have different button text on different products?
Yes, with custom Liquid logic. Describe the rule to Fudge ("show 'Pre-order now' on products tagged 'pre-order', otherwise 'Add to cart'") and it wraps the button label in an {% if product.tags contains 'pre-order' %} block. No theme settings expose this, so it has to be built — Fudge or a developer. For the full setup, including ship dates and payment timing, see how to set up pre-orders on Shopify.
Why does my button text revert after saving?
Two common causes: (1) you edited a draft theme and viewed your live theme, or (2) you have multiple active locales and only edited the English version (the page shows your other locale's text). Edit each locale's language file separately.
Can I change the "Sold out" button text only on certain products?
Not via the language file - that change applies globally. To override per product, edit the product page Liquid template to render different text based on a tag or metafield ({% if product.tags contains 'preorder-back-soon' %}Back in 2 weeks{% else %}Sold out{% endif %}).