Free embed

Add today's cryptogram to your site

A real, working puzzle for your visitors to solve — dropped into your page with one line of HTML and one line of script. No account, no API key, no build step.

Copy this into your page

Paste both lines anywhere content can go — a sidebar, a post footer, a widget area. Every element on the page matching [data-cryptogramly-widget] is mounted independently, so more than one widget on a page works too.

<div data-cryptogramly-widget></div>
<script async src="https://cryptogramly.com/embed.js"></script>

That's it — no dependency, and nothing else to configure. The script renders a non-spoiling teaser (today's author, category and difficulty) first; a click on "Solve today's puzzle" loads the real interactive cipher board, isolated in its own Shadow DOM so it can't clash with your site's CSS and your site's CSS can't clash with it.

Every mount also adds a small, visible "Powered by Cryptogramly" credit link, written directly into your own page next to the widget — that's the one condition of using it for free.

CMS or newsletter strips inline scripts?

Some platforms (certain CMSes, most email/newsletter builders) strip inline <script> tags for safety. If that's you, embed the puzzle in an iframe instead:

<iframe
  src="https://cryptogramly.com/embed/frame.html"
  width="320"
  height="420"
  style="border: 0"
  loading="lazy"
  title="Cryptogramly daily cryptogram"
></iframe>

This works anywhere iframes are allowed, but it doesn't carry the same visible credit link — an anchor rendered inside a separate iframe document isn't part of your page's own markup. Use the script snippet above whenever you can; reach for this one only when you have to.

Common questions

Is the widget really free?

Yes. There is no account, no API key, and no usage limit — just drop the snippet on your page. It stays free because it links back to Cryptogramly.

Does the widget slow my page down?

embed.js is a small, dependency-free script (no framework, no bundler output) loaded with the async attribute, so it never blocks your page from rendering. The puzzle itself is fetched only after the script loads.

Will the widget clash with my site's CSS?

No — the interactive puzzle renders inside an isolated Shadow DOM with its own stylesheet, so your global CSS (resets, utility classes, dark mode) can't break its layout, and its styles can't leak into your page either.

What does the "Powered by Cryptogramly" link do?

It's a plain, visible credit link back to Cryptogramly, placed directly in your own page's markup next to the widget. It's the one condition of using the widget for free — please don't remove or hide it.

My CMS strips inline scripts — can I still embed the widget?

Yes — use the iframe fallback below instead of the script snippet. It works anywhere iframes are allowed, though it doesn't carry the same visible credit link since the widget then renders inside its own separate document.

Can I put more than one widget on the same page?

Yes — add another <div data-cryptogramly-widget></div> anywhere on the page; the script mounts every matching element it finds, independently.

Want to try the puzzle yourself first?

Play Cryptogramly — it's free