PLATFORMS · 2 min read ·

How to update a Shopify theme without losing your customisations

Shopify's one-click theme update keeps your theme editor settings but not your code edits. What carries over, what does not, and a safe routine for updating a customised theme without breaking the live store.

Shopindev Team

Theme updates bring bug fixes, performance work and support for new Shopify features. They are also the moment many stores lose months of small code changes, because the update process only carries over part of what you changed. Here is what survives and how to update safely.

What carries over and what does not

ChangeSurvives the update?Why
Theme editor settings (colours, fonts, sections, blocks)YesStored in the theme's settings and JSON templates, which Shopify migrates
Templates created in the editorUsuallyJSON templates move across; check any custom template assignments
Edits to existing code filesNoThe update replaces the theme's own files with the new version
New sections and snippets you addedNo, unless copiedThey are not part of the new version and need to be added again
App blocks and app embedsYesApps that use theme app extensions sit outside the theme code
Code an old app pasted into the themeNoOften a good moment to find out whether it is still needed

A safe update routine

  • Keep the live theme in Git through Shopify's GitHub integration or Shopify CLI, so every code change is on record.
  • Before updating, list the code changes since the last version: a diff between your theme and the clean version it is based on.
  • Add the update. Shopify creates an unpublished copy with the new version and your editor settings.
  • Reapply the code changes on the copy. Where the new version already solves a problem you patched, drop the patch.
  • Test the copy in preview: product pages, variants, cart, search, filters, app blocks, tracking and every language.
  • Publish at a quiet hour and keep the previous theme in the library for a quick rollback.

Make the next update easier

The less you edit the theme's own files, the cheaper each update becomes. Put custom work in new sections and snippets with your own prefix, use metafields instead of hard-coded content, and prefer apps that use app blocks over apps that inject code. Note every unavoidable edit to a core file in a short changelog.

How often to update

You do not need every release. Check the changelog once a quarter and update when a version fixes something you use, improves performance or adds a feature you want. A store that has skipped many versions is better updated in one planned project than in a rushed afternoon.

When the update button is not there

Themes not bought from the Theme Store, heavily rebuilt themes and themes that were duplicated and renamed often cannot use the one-click update. Then the update is a manual merge of two code bases, or the moment to ask whether a custom theme would be cheaper over time — see custom theme vs premium theme.

We do theme updates as part of Shopify theme development and in our support plans. To see which theme and version a store runs, use the theme finder.

This article is part of The Shopify platform, explained — every article on that subject, with the questions it answers, on one page.

Chat on WhatsApp →

FAQ

Questions on this topic

Will I lose my changes if I update my Shopify theme?

Settings made in the theme editor carry over. Changes made directly in the code do not, and need to be reapplied to the new version before you publish it.

Does updating a Shopify theme affect the live store?

No. The update is added as an unpublished copy. The live store only changes when you publish that copy.

How do I know which version my theme is on?

In the admin under Online Store > Themes, the theme shows its version and whether an update is available. Our theme finder also shows the version for any public store.

Why is there no update button for my theme?

Themes not installed from the Theme Store, or heavily modified and renamed copies, often cannot use the one-click update. They need a manual merge.