Back to Guides
Design
16 min read

How to Customise Your Shopify Theme

Your theme defines how your store looks and feels. This guide covers everything from basic customisations in the editor to advanced code modifications.

Flex Commerce Team
Updated February 2024

Theme Editor Basics

The theme editor is where most customisation happens. It provides a visual interface for changing colours, fonts, layouts, and content without touching code.

Modern Shopify themes use Online Store 2.0 architecture, which allows you to customise any page type using sections and blocks. Older themes (vintage themes) have more limited customisation options.

Accessing the Theme Editor

  1. 1.Go to Online Store → Themes in your Shopify admin
  2. 2.Find your current theme and click Customise
  3. 3.The editor opens showing your homepage with a left sidebar

Editor Layout

  • Left sidebar: Sections and blocks for the current page, plus theme settings
  • Centre preview: Live preview of your changes
  • Top bar: Page selector, device preview, and save button
  • Device toggle: Preview on desktop, tablet, or mobile

Page Selector

Use the dropdown at the top of the editor to switch between page types:

  • Home page: Your store's main landing page
  • Products: Product page templates
  • Collections: Collection page templates
  • Pages: Content page templates (About, Contact, etc.)
  • Blog: Blog listing and article templates

Customising Sections

Sections are the building blocks of your pages. Each section serves a purpose, like displaying a slideshow, featuring products, or showing testimonials.

Adding a New Section

  1. 1.In the theme editor, click Add section in the left sidebar
  2. 2.Browse available sections or search for what you need
  3. 3.Click a section to add it to the page
  4. 4.Drag the section to reorder it on the page

Section Settings

Click any section in the sidebar to reveal its settings. Common options include:

  • Heading and subheading: Text that appears above the section content
  • Colour scheme: Background and text colours
  • Padding: Spacing above and below the section
  • Width: Full width or contained within margins

Working with Blocks

Many sections contain blocks, which are smaller content units within the section. For example, a "Multicolumn" section contains individual column blocks.

Block Actions

  • Add block: Click "Add block" within a section
  • Edit block: Click on a block to see its settings
  • Reorder blocks: Drag blocks to change their order
  • Delete block: Click the bin icon on a selected block

Pro Tip

Click directly on elements in the preview to jump to their settings. This is often faster than navigating through the sidebar.

Theme Settings

Theme settings are global options that affect your entire store. Access them by clicking Theme settings at the bottom of the left sidebar.

Colours

Set your brand colours for text, backgrounds, buttons, and accents. Most themes let you create colour schemes that can be applied to different sections.

Typography

Choose fonts for headings and body text. Select from system fonts (faster loading) or Shopify's font library. Set base font sizes and scales.

Layout

Control page width, spacing between sections, and grid settings. Some themes offer options for borders, shadows, and corner rounding.

Buttons

Customise button styles including padding, border radius, and hover effects. Set different styles for primary and secondary buttons.

Social Media

Add links to your social profiles. These appear in the header, footer, or dedicated social sections depending on your theme.

Favicon

Upload your favicon (the small icon in browser tabs). Use a 32x32 or 16x16 pixel PNG image.

Adding Custom CSS

When the theme editor does not offer the customisation you need, custom CSS can override default styles. Most themes provide a dedicated field for custom CSS.

Where to Add Custom CSS

  1. 1.In the theme editor, go to Theme settings
  2. 2.Look for Custom CSS or Custom code
  3. 3.Add your CSS rules in the provided text area
  4. 4.Save to see changes

Common CSS Customisations

/* Change announcement bar colour */
.announcement-bar {
  background-color: #ef436b;
}

/* Increase product title size */
.product__title h1 {
  font-size: 2.5rem;
}

/* Hide a specific element */
.breadcrumb {
  display: none;
}

/* Custom button style */
.button--primary {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Add custom font (with @import) */
@import url('https://fonts.googleapis.com/css2?family=Your+Font&display=swap');

body {
  font-family: 'Your Font', sans-serif;
}

Finding CSS Selectors

Use your browser's developer tools (right-click, Inspect) to find the CSS selectors for elements you want to style. Look for class names starting with your theme's prefix.

Editing Theme Code

For advanced changes beyond CSS, you may need to edit the theme's Liquid files directly. This requires understanding HTML, CSS, and Shopify's Liquid templating language.

Accessing Theme Files

  1. 1.Go to Online Store → Themes
  2. 2.Click ... → Edit code on your theme
  3. 3.Navigate the file structure in the left sidebar

Theme File Structure

  • Layout: theme.liquid (main template wrapper)
  • Templates: Page type templates (product.json, collection.json)
  • Sections: Reusable content blocks
  • Snippets: Small reusable code pieces
  • Assets: CSS, JavaScript, images
  • Config: Theme settings schema
  • Locales: Translation files

Warning

Always duplicate your theme before editing code. Go to Themes, click ... on your theme, and select Duplicate. Edit the copy, not the live theme.

Basic Liquid Syntax

<!-- Output a variable -->
{{ product.title }}

<!-- Conditional logic -->
{% if product.available %}
  <span>In Stock</span>
{% else %}
  <span>Sold Out</span>
{% endif %}

<!-- Loop through items -->
{% for product in collection.products %}
  <h3>{{ product.title }}</h3>
{% endfor %}

<!-- Include a snippet -->
{% render 'product-card', product: product %}

Working with Metafields

Metafields let you store custom data on products, collections, customers, and more. You can display this data in your theme for enhanced customisation.

Common Metafield Uses

  • Product specifications: Size charts, materials, care instructions
  • Collection descriptions: Extended content for SEO
  • Custom badges: "New", "Bestseller", "Eco-friendly"
  • Brand content: Manufacturer logos, warranties

Displaying Metafields in Theme Editor

Many theme sections support dynamic sources. Instead of typing text directly, you can link to a metafield:

  1. 1.Click on a text field in the theme editor
  2. 2.Click the Connect dynamic source icon
  3. 3.Select the metafield you want to display

Pro Tip

Create metafield definitions in Settings → Custom data. This lets you set field types (text, number, date) and add validation rules for cleaner data.

Theme Best Practices

Always Work on a Duplicate

Before making significant changes, duplicate your theme. Test changes on the duplicate, then publish when ready. This prevents breaking your live store.

Document Your Changes

Keep notes about what you changed and why. This helps when updating themes or troubleshooting issues later. Add comments to custom CSS and code.

Test on Multiple Devices

Use the device preview in the editor, but also test on actual phones and tablets. Over 70% of traffic is mobile, so mobile experience is critical.

Keep Performance in Mind

Every section, image, and custom font adds load time. Only add what adds value. Compress images before uploading. Limit custom fonts to 2-3 weights.

Stay Updated

Theme developers release updates with bug fixes and new features. Review update changelogs. Note: updates may overwrite custom code changes.

Common Customisations

Here are solutions to customisation requests we see frequently.

Change the Logo Size

In the theme editor, click on the Header section. Look for logo width or size settings. If not available, use custom CSS:

.header__logo img { max-width: 150px; }

Add a Sticky Header

Many themes have this as a setting. Check Header → Enable sticky header. If not available:

.header { position: sticky; top: 0; z-index: 100; }

Show Product Reviews

Install a reviews app like Judge.me or Loox. Most apps include theme integration. Alternatively, enable native Shopify Product Reviews app and add the review section in the product template.

Add Trust Badges Below Add to Cart

Look for a "Custom Liquid" block in your product section. Add HTML for trust badges:

<div class="trust-badges">
  <img src="{{ 'secure-checkout.svg' | asset_url }}" alt="Secure checkout">
  <img src="{{ 'free-returns.svg' | asset_url }}" alt="Free returns">
</div>

Hide a Section on Mobile

Use CSS media queries to hide elements on smaller screens:

@media (max-width: 749px) {
  .section-to-hide {
    display: none;
  }
}

Need Custom Theme Work?

Our team can handle complex theme customisations, build custom sections, and create bespoke designs that make your store stand out.