Free widget

Put a live bloom calendar on your website

A small, fast widget for nurseries, garden centers, and garden blogs: what is typically in flower each month in your hardiness zone, drawn from the same library behind the BloomsEye Bloom Calendar. Every plant links to its full page. No account and no tracking cookies: one iframe plus an optional resize helper, and it works even where script tags are stripped.

See it in your zone

This preview is the real widget. It opens on the current month; the chips switch months, and every plant opens its BloomsEye page in a new tab. The preview is capped at 640 pixels tall here to keep this page readable; on your own site the optional resize script lets the widget grow to fit the whole month.

Copy the embed code

Paste this where your site accepts HTML. The snippet updates with the zone you picked above.

<iframe src="https://bloomseye.com/embed/bloom-calendar/zone-6/"
  title="BloomsEye bloom calendar for zone 6"
  height="560" style="width:100%;border:0" loading="lazy"></iframe>
<p>Bloom data by <a href="https://bloomseye.com/bloom-calendar/">BloomsEye</a></p>
<script>
addEventListener("message", function (e) {
  if (e.origin !== "https://bloomseye.com") return;
  var h = e.data && e.data.bloomsEyeEmbedHeight;
  if (typeof h !== "number" || h < 1) return;
  var f = document.querySelectorAll('iframe[src^="https://bloomseye.com/embed/"]');
  for (var i = 0; i < f.length; i++) f[i].style.height = Math.ceil(h) + "px";
});
</script>

The credit line is the license

The widget is free for any site. The license is the visible "Bloom data by BloomsEye" line in the snippet: keep it intact, linked, and next to the widget. Remove it and the embed is no longer licensed.

Setup notes

  • WordPress or Squarespace: paste the snippet into a Custom HTML block (WordPress) or a Code / Embed block (Squarespace). Site builders that strip script tags still show the widget; only the auto-resize goes.
  • The resize script is optional. With it, the iframe grows to fit the month on screen. Without it, the widget keeps the snippet's fixed height and scrolls inside itself.
  • If your site sends a Content-Security-Policy, allow frame-src https://bloomseye.com.
  • One widget per page is the supported setup. The listener in the snippet applies the reported height to every BloomsEye widget iframe on the page, so two widgets with different zones would fight over it.

Run a nursery and want a branded version? Write to support@bloomseye.com.