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.
Pick your country, theme, and size. Live preview updates as you change options.
<div data-caldays
data-cc="us"
data-theme="light"
data-size="md"></div>
<script async src="https://caldays.com/embed.js"></script><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>
// 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 />;
}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.