Architecture

How Shopify sections work

A clear explanation of Shopify section architecture—JSON templates, schema, blocks, presets, and section groups—for developers building Online Store 2.0 themes.

2 min read · Published 2026-06-08

Knowledge Hub

Sections are the building blocks of OS 2.0 themes

A Shopify section is a self-contained .liquid file with markup, optional scoped CSS, and a JSON schema block. Merchants add, remove, reorder, and configure sections in the theme editor without touching code. JSON templates—index.json, product.json—declare which sections appear on each page type.

JSON templates explained

JSON templates replace monolithic Liquid template files. Each template file lists section instances by key, references the section type (filename), and stores default settings. The order array controls render sequence on the storefront.

Simplified index.json

{
  "sections": {
    "hero": { "type": "image-banner", "settings": {} },
    "featured": { "type": "featured-collection", "settings": { "collection": "frontpage" } }
  },
  "order": ["hero", "featured"]
}

Schema connects sections to the editor

Schema defines what merchants can change. settings arrays hold section-level fields; blocks arrays define repeatable row types. presets expose sections in the Add section panel. Read /shopify-schema-guide for setting types and validation rules.

Blocks and repeatable content

Blocks let merchants scale content—FAQ rows, slides, feature cards. Liquid loops {% for block in section.blocks %} render each row. block.shopify_attributes links editor selection to DOM nodes. /dynamic-shopify-blocks-guide covers block patterns in depth.

Presets and merchant discovery

Without presets, custom sections are invisible in the Add section UI. A preset names the section and can seed default blocks and settings. Ship multiple presets when one section supports distinct layouts—hero vs split hero, FAQ vs compact FAQ.

Section groups

Section groups bundle shared areas—header and footer—across templates. Header groups contain logo, menu, and announcement sections. When adding announcement bars, confirm whether your theme expects them in the header group or as page-level sections.

Dynamic vs static section placement

  • Static placement — developer adds section to JSON template in code.
  • Dynamic placement — merchant adds section via editor; requires presets.
  • App blocks — apps inject into @app block slots inside compatible sections.

From architecture to implementation

Use /shopify-section-tutorial for step-by-step shipping workflow, /converter to generate sections from HTML, and theme guides like /html-to-dawn-theme for deployment on specific themes. /shopify-liquid-examples provides copy-ready Liquid for common components.

Frequently asked questions

What is the difference between a section and a snippet?

Sections have schema and appear in the theme editor. Snippets are reusable Liquid partials without schema—loaded via render for cards, icons, and shared markup.

Can one section appear on multiple templates?

Yes. Add the section type to any JSON template order array, or let merchants insert it dynamically where presets allow.

How do app blocks relate to sections?

Sections can declare @app block types in schema. Apps provide blocks merchants place inside those slots—reviews, forms, trust badges—without theme code changes.

Start converting HTML

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

Trust

Built for serious Shopify development

Production-ready sections, validated schema, and workflows theme engineers trust on client projects.

Production-ready output

Export complete section.liquid files with schema, presets, and scoped CSS ready for theme repos.

Built for Shopify developers

Designed for freelancers, agencies, and in-house teams shipping OS 2.0 sections weekly.

OS 2.0 compatible

Output follows Online Store 2.0 conventions—JSON templates, blocks, and valid schema JSON.

Schema validation

Automated checks catch missing presets, invalid setting ids, and common Liquid issues early.

AI-assisted workflow

Optional AI structure detection with deterministic fallback for reliable section generation.

Theme compatibility

Sections align with Dawn, Prestige, Broadcast, Impulse, and custom JSON-template themes.

Shopify SectionsKnowledge Hub

Generate Shopify sections

Free AI-powered converter — OS 2.0 compatible output with schema validation.

Start converting HTML