caldays
Free embed widget

Add a holiday calendar to your website in 2 lines.

Free embeddable calendar widget — drop it into any website, blog, or app. Shows the current month, today's date, and the next holiday for any country. Customizable theme and size. No API key required.

Live preview

Customize and copy

Pick your country, theme, and size. Live preview updates as you change options.

Country
Theme
Size
Installation

Copy and paste, no setup

1. Plain HTML (easiest)
<div data-caldays
     data-cc="us"
     data-theme="light"
     data-size="md"></div>
<script async src="https://caldays.com/embed.js"></script>
2. iframe (no script execution — most secure)
<iframe
  src="https://caldays.com/embed-frame?cc=us&theme=light&size=md"
  width="340"
  height="450"
  frameborder="0"
  scrolling="no"
  style="border:0;"></iframe>
3. React component
// React component
import { useEffect, useRef } from 'react';

export function CaldaysWidget({ cc = 'us', theme = 'light', size = 'md' }) {
  const ref = useRef(null);
  useEffect(() => {
    const script = document.createElement('script');
    script.src = 'https://caldays.com/embed.js';
    script.async = true;
    script.onload = () => window.Caldays?.render(ref.current, { cc, theme, size });
    document.body.appendChild(script);
    return () => document.body.removeChild(script);
  }, [cc, theme, size]);
  return <div ref={ref} data-caldays />;
}
Why use it

What makes the caldays widget different

No API key required — drop and go.

Lightweight: ~12KB minified, async-loaded, no blocking.

Auto-localized: country names and month labels render in the country's native language.

Today's date is highlighted; upcoming holidays are color-coded.

Works on any platform — WordPress, Wix, Webflow, Squarespace, plain HTML, React, Vue, anywhere.

Free for personal AND commercial use. Just keep the "Powered by caldays.com" attribution.

Frequently asked questions

Can I use the widget on commercial sites?
Yes — free for personal and commercial use. The only requirement is keeping the "Powered by caldays.com" link visible.
Can I customize colors beyond light/dark themes?
Currently we offer Light and Dark presets. For full custom themes (CSS variables), use the iframe option and add custom CSS to your parent page, or use our API tier to build your own widget.
Does the widget update automatically when holidays change?
Yes — the widget always shows current month data fetched from caldays.com. No manual updates needed.
How accurate are the holiday dates?
For fixed-date national holidays, the widget is 100% accurate. For moving holidays (Easter, Eid, Lunar New Year), the widget shows fixed-date holidays only — for full accuracy, link out to the full /calendar/[cc] page.
Can I remove the attribution link?
The "Powered by caldays.com" link is required as the trade for free use. For attribution-free use, see our /pricing API tiers ($9/month and up).

Explore more

Free embed
Drop the widget into any site