← Back to guides
ArchitectureSchemaSchema · Published 2026-06-08 · 2 min read

How Shopify Schema Works

Understand how Shopify section schema connects Liquid templates to the theme editor—settings, blocks, presets, and JSON structure explained for developers.

Schema is the bridge between code and merchants

Shopify section schema is JSON inside {% schema %} tags at the bottom of section.liquid files. It tells Shopify what merchants can edit—headings, images, links, colors, collection pickers—and how repeatable rows behave as blocks. Without schema, sections are frozen templates. With schema, merchants customize storefronts without deployments.

How the theme editor reads schema

When a merchant opens the theme editor, Shopify parses each section's schema and renders form fields in the sidebar. Each setting id becomes section.settings.your_id in Liquid. Each block type becomes a template for rows merchants add, remove, and reorder.

Schema changes require theme code deploys. Merchant edits to setting values live in theme JSON—not in your schema file—so stable setting ids are critical.

Settings: section-level controls

Settings apply to the whole section—module heading, background color, collection picker, padding range. Common types: text, richtext, image_picker, url, collection, product, range, checkbox, select, color.

{
  "type": "text",
  "id": "heading",
  "label": "Heading",
  "default": "Featured collection"
}

Blocks: repeatable rows

Blocks power FAQs, sliders, feature cards, and tabs. Schema defines block types; Liquid loops section.blocks. Merchants manage rows in the editor. See Dynamic Blocks Guide and How to Build Dynamic Blocks.

Presets and discovery

Presets surface sections in the Add section panel. A preset needs a name and can seed default settings and blocks. Custom sections without presets are invisible to merchants on JSON templates.

Defaults and merchant-first UX

Default values in schema pre-fill settings on new section instances. Good defaults mean merchants see a usable layout immediately—placeholder copy, sample images, two FAQ rows—not empty fields.

Schema best practices

  • Keep setting counts manageable; group with header settings.
  • Use descriptive ids—heading not field_1.
  • Match setting types to content; richtext for formatted body copy.
  • Set max_blocks on repeatables to protect editor performance.
  • Validate JSON before commit; trailing commas break parsing.

From schema theory to practice

Generate schema from HTML with HTML to Liquid Converter, refine visually in Schema Generator, and study patterns in Schema Guide. Read Section Schema Explained for a complementary walkthrough.

Topic cluster

Schema

Section schema, settings, blocks, and theme editor integration.

Start converting HTML

Paste your markup and export production-ready Shopify Liquid sections with schema and blocks.

schemaSchema

Start converting HTML

Paste your markup and export production-ready Shopify Liquid sections with schema and blocks.

Start converting HTML