Product origin

We built the tool we needed on every client deadline

Static HTML in, merchant-editable OS 2.0 sections out. This page explains the repetitive workflow problem, our internal prototype, and why we opened it to other developers.Last updated: 2026-06-15

No signup requiredOS 2.0 compatibleSchema-first workflowDeveloper-focused tooling

Dhruv Goyani and Nishad Kikani built this compiler after years of mapping static HTML to schema JSON on real client deadlines. Meet our Shopify developers · About the product

Dhruv Goyani and Nishad Kikani did not set out to launch a SaaS product. We set out to stop retyping {% schema %} JSON on every section handoff. HTML to Liquid Converter is the internal compiler we wished existed in 2021 — now maintained as a free public workspace for freelancers, agencies, and in-house theme teams.

The bottleneck: HTML arrives, schema work begins

Every Shopify section project starts the same way. Design delivers a hero, FAQ, product grid, or landing module as static HTML — often exported from Figma, Webflow, or a Tailwind prototype. The markup looks finished. Merchants assume they can edit headlines and images in the theme editor. Developers know the real work just started: identify every editable field, choose setting types, name stable IDs, wire block loops for repeatables, scope CSS with section.id, and validate JSON so the theme editor does not throw opaque errors.

On a simple hero, that mapping takes one to three hours if you are experienced. On a landing page with six modules, it can consume a full day before anyone reviews performance or accessibility. Multiply that across weekly client deliveries and the bottleneck is obvious — not Liquid logic, not Shopify APIs, but the mechanical translation from HTML attributes to schema fields.

  • Headings and body copy become text or richtext settings — with maxlength and default values merchants understand.
  • Images need image_picker settings, not hardcoded CDN URLs that break when assets move.
  • CTA links map to url settings; optional style toggles become checkboxes or selects.
  • Repeating FAQ rows, logos, or feature cards need blocks with {% for block in section.blocks %} loops.
  • Presets must exist or merchants cannot add the section from JSON templates.

What we tried before building a compiler

Like most theme developers, we started with copy-paste. Keep a folder of reference sections, duplicate the closest hero, find-replace class names, and manually adjust schema. That works until setting IDs collide, block types multiply, or a junior developer copies a section with another client's namespace baked into CSS. We tried snippet libraries and shared Git repos — helpful for consistency, but they still required manual mapping when HTML structure changed.

Agency handoff docs helped: Figma redlines listing editable fields, spreadsheets of setting IDs, scoped CSS conventions. Still, someone spent hours typing JSON. We read schema guides and blocks guides repeatedly; the knowledge existed, the grunt work did not disappear. Internal spreadsheets tracked section hours and schema typos caused more rework than Liquid bugs.

The internal prototype (2023)

The breaking point was a two-week sprint with four landing modules and three repeatable sections per module. Nishad sketched a parser that walked DOM-like HTML trees, classified nodes as settings or blocks, and emitted Liquid plus schema. Dhruv added export modes: Flat for single-instance heroes, Block for accordions and card grids. We dogfooded it on the sprint — export time dropped from hours to minutes per section, with human review still required for edge cases.

Input:  static hero HTML + scoped CSS
Output: section.liquid + {% schema %} JSON + presets

Flat mode  → section.settings for fixed layouts
Block mode → section.blocks for repeatables

The prototype was ugly and CLI-first. It did not need a UI for us — we ran it locally and pasted output into theme repos. What mattered was deterministic structure: stable setting IDs, typed fields, scoped selectors, and validation warnings before code hit a client theme.

From internal tool to htmltoliquidconverter.com

Freelancer friends saw exports and asked for access. Agencies wanted the same preset conventions we used internally. Rather than email zip files, we built a browser workspace with live preview, validation checks, and downloadable section.liquid files. htmltoliquidconverter.com launched in 2024 as a free core converter — no signup required for basic conversion — because the bottleneck is universal.

Opening the tool publicly changed maintenance, not philosophy. Every validation rule maps to a mistake we made on a client theme: missing presets, nested loops without limits, image filters that break on empty picks, block types without merchant-friendly labels. The Schema Generator and ready section templates followed the same pattern — shave repetitive work, keep humans in the review loop.

What the converter deliberately does not do

We are explicit about scope. The converter does not replace theme-specific polish, brand token alignment, or accessibility review. It does not auto-deploy to Shopify. It does not guarantee perfect block detection on every nested grid — complex layouts still need developer judgment and the optional AI assist is enhancement, not a black box.

  • You still test in Dawn, Prestige, or your client theme — see Dawn deployment notes.
  • You still choose Flat vs Block intentionally — see Flat vs Block sections.
  • You still own performance budgets — see performance tips.
  • You still read output before shipping live — we are developers, not a magic button vendor.

Design principles we ship against

Compiler-first, not prompt-first. A deterministic engine always produces baseline output; optional AI structure detection suggests block boundaries on ambiguous HTML. Schema-first exports: every file includes valid {% schema %} with presets merchants need. Editor-safe naming: setting IDs that read well in the theme UI. Scoped CSS by default: selectors tied to section.id so multiple instances coexist on JSON templates.

These principles come from client project shapes we see repeatedly — fashion lookbooks, B2B order portals, subscription beauty flows, legacy migrations. The tool generalizes patterns; your theme still needs a final human pass.

Why free core conversion matters

The boring part of section work should not be paywalled. Freelancers learning OS 2.0 and agencies standardizing exports both benefit from the same validation rules we use internally. Optional account features may sync history or preferences, but paste-and-export remains available because that is how we onboard junior developers on client teams.

If this origin story resonates, read our full company story, meet our Shopify developers, or open the converter with HTML from your current project and compare export time to your last manual schema session.

Metrics we track internally

We do not publish vanity funnel metrics. Internally we track section export time, schema rework tickets, validation warnings caught pre-merge, and editor crashes prevented by presets or max_blocks. Those numbers justify feature work — a new validation rule ships when it would have saved an hour on a real project, not when a roadmap slide needs filler.

When agencies report faster junior onboarding after standardizing on the converter, that is the outcome we care about — not signup counts. The tool succeeds when developers spend review time on performance and accessibility instead of retyping JSON. See development experience for how those standards show up in client delivery.

Open documentation as product

Shipping the compiler publicly meant shipping our opinions too: when to use blocks, how schema works, performance guardrails. Documentation is not SEO filler — it is the training material we use with client developers. If a guide and the converter disagree, we fix the converter; the guide documents intended behavior.

Who benefits most from the converter

Freelancers shipping their tenth hero for different clients benefit from consistent schema IDs. Agencies onboarding juniors benefit from validation before code review. In-house theme teams benefit from splitting landing HTML into composable sections without losing a day per module. Store owners indirectly benefit when their developers deliver editor-friendly sections faster — merchants should not need a deploy to change a headline.

The tool is less helpful when you are not working with HTML handoffs — for example, building entirely inside the theme editor or extending complex app-owned UI. In those cases, start with section fundamentals and Schema Generator instead of bulk HTML conversion.

Long-term product direction

We will keep investing in validation, block detection, export modes, and knowledge content tied to real Shopify changes. Features ship when client work surfaces repeated pain — not when competitor checklists demand parity. If you rely on htmltoliquidconverter.com, expect incremental reliability improvements and more team-written guides, not pivot-to-another-platform announcements.

Editorial review

Reviewed by the HTML to Liquid Converter team

Dhruv Goyani, Shopify Developer at HTML to Liquid Converter

Dhruv Goyani

3 years web design + 3 years Shopify development experience

LinkedIn profile →
Nishad Kikani, Lead Shopify Developer at HTML to Liquid Converter

Nishad Kikani

2 years web design + 6 years Shopify development experience

LinkedIn profile →

Content is reviewed by the HTML to Liquid Converter Shopify development team before publication. Technical accuracy is validated against current Shopify Online Store 2.0 conventions and active client theme work.

Last updated:

Questions or corrections? Contact us.

Frequently asked questions

Was HTML to Liquid Converter built by non-developers or outsourced?

No. Dhruv Goyani and Nishad Kikani are active Shopify theme developers at K2 Devworks. The converter is dogfooded on client sections before features ship publicly.

Does the tool write perfect Liquid without review?

It produces structured section files with schema, scoped CSS, and validation hints. You must still review in your target theme — same as any codegen assist.

Why not use Shopify's theme editor alone?

The theme editor edits sections merchants already have. Developers still need to build those sections from design HTML — that translation is the bottleneck we automate.

How is this different from hiring an agency?

The converter is tooling, not a service. K2 Devworks still takes client work; the product helps other developers ship faster with consistent schema patterns.

What feature came directly from client pain?

Block detection for FAQ accordions, preset generation for JSON templates, and validation warnings for missing image defaults — each tied to specific rework we logged on projects.

Team: Dhruv Goyani and Nishad Kikani at K2 Devworks. Developer profiles · About · Free converter