skip to content

Hyvä

Languages and frameworks | trial

Last updated:

trial

Sep 2026

Hyvä is an alternative frontend for Magento Open Source, first released in 2021. It replaces Luma's older frontend stack with Alpine.js and Tailwind CSS, making the storefront code easier to work with and helping keep pages lightweight.

Since November 2025, Hyvä Theme has been free and open source. Hyvä Checkout and Hyvä Commerce, which includes Hyvä CMS, remain commercial products.

Our experience

We used Hyvä to modernize the storefront of Norsk Modelljernbane (NMJ), our long-standing Magento client. The goal was to refresh both the look and the technology while keeping everything as familiar as possible. Customers would still find the same layout and navigation, and the store team would keep their usual catalog and order workflows in the admin panel. In about three months, we built a B2C theme and a B2B child theme that inherits it with only a few targeted overrides, replaced the legacy checkout with Hyvä Checkout, and moved the homepage, header and footer content to Hyvä CMS. The new themes lived alongside the production Luma theme without affecting it, so we could switch over once they were ready.

A simpler frontend stack

The default Hyvä theme already looks modern out of the box, so we only needed moderate customization to bring back NMJ's brand colors, fonts and layout. Hyvä uses Tailwind CSS, which is widely used, and Alpine.js, a small library with a syntax close to Vue.js, so developers can pick it up quickly. This familiar stack lowers the entry barrier for new developers and keeps the templates easier to read and maintain than in Luma, which requires learning Magento-specific frontend conventions built around RequireJS, Knockout.js and LESS.

Content editing with Hyvä CMS

Hyvä CMS made working with content noticeably more pleasant. Editors see a live preview of the whole page, and clicking an element selects it in the component tree, so it's easy to find what needs changing. For content that rarely changes—the homepage, header and footer—we went one step further: we export it to JSON, commit it to the repository, and apply it with Magento data patches. This keeps the content in version control and lets us deploy it across environments instead of rebuilding those pages by hand after a database refresh. Hyvä CMS also kept improving during our project: the limitations we ran into—such as not being able to move an element out of a nested block—were fixed within about a month.

Hyvä or headless?

For Magento stores that outgrow Luma, the usual alternative is a headless frontend built with React or Vue.js on top of Magento's APIs. It gives full freedom over the storefront but means building and maintaining a second application, and most extensions that render something on the storefront have to be reimplemented. Hyvä keeps Magento's own rendering, so existing modules, layout XML and admin features keep working with much less effort. For NMJ, we chose Hyvä because its out-of-the-box functionality covered what the store needed, with little customization and few extra modules. The picture changes when a project's design differs from Hyvä's default theme on almost every page. If nearly every template has to be overridden, sometimes just to change a color or a control, the benefit of building on an existing codebase is lost, and every Hyvä or Magento update means reconciling those overrides. For projects like that, we'd consider headless instead.

Migration effort

Although most popular third-party extensions already have compatibility modules—from Hyvä, the vendor or the community (see the Hyvä Compatibility Module Tracker)—migrating an existing Luma store also means dealing with its custom modules and less common extensions. If they add storefront templates or JavaScript, those parts may need to be adapted for Hyvä. Their number and complexity largely determine the cost of migration.

Compatibility modules don't remove all integration work, though. The official ones for ElasticSuite and PayPal worked without issues, but payment extensions brought two surprises. First, the Hyvä theme module installs the Mollie payment extension as a dependency, even if you don't use Mollie. Its shipment observers run for every order, and on our project they intermittently broke shipment creation for non-Mollie orders. Since Mollie can't simply be disabled, we switched off only those observers. Second, Klarna and Hyvä Checkout didn't work together out of the box. Hyvä Checkout stores the cart (quote) ID as a number, while Klarna expects a string, so adding a product to the cart threw an error. A small compatibility module fixed it.

The Tailwind build also needs some setup. It scans templates across vendor/, so in a Docker setup where vendor code lives only inside the container, the build has to run there too. Child themes without their own build need explicit @source entries in the parent theme's Tailwind config—otherwise, classes used only in their templates are missing from the compiled CSS.

Performance

NMJ's storefront already passed Core Web Vitals on Luma. After the switch, Chrome UX Report field data for the homepage shows Largest Contentful Paint (LCP) improving by roughly 10%, while Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS) stayed the same. Hyvä won't fix slow backend code or server configuration. If speed is your only reason to migrate, the gains may be modest, especially if your Luma store is already well optimized.

Our verdict

With the theme now free and open source, the barrier to trying Hyvä is lower than ever. Our first production migration went well enough to recommend it, but the integration work it took is why we're keeping it in Trial for now. It's worth considering for new Magento projects that want a modern frontend from the start, as well as for existing stores looking to move away from Luma without replatforming. For an existing store, check custom modules, third-party extensions and payment integrations early: these will largely determine the migration effort. If you're planning a Hyvä migration, talk to us about Magento development.