Markdown, Excel, Word, tables, images or a paragraph of text — hand it to your AI agent, pick a theme, and get a self-contained page you can host anywhere.
Most tools just move your text into HTML. easy-html treats the content as design material.
Six input types, one pipeline: every Excel sheet becomes a table, Word headings and tables are parsed with zero dependencies, images can be embedded or reproduced as layout.
A mandatory scan step finds the numbers, ratios, rankings, trends and timelines in your content and turns them into KPI cards, progress bars, donuts and real charts — instead of another wall of text.
Already have a beautiful deck or design mock-up? The original structure is kept pixel-for-pixel and only the palette and fonts are re-mapped — so cycling through all 19 themes can never make it worse.
You provide the content and pick a theme. The agent does the rest.
Six formats parsed into structured blocks — headings, paragraphs, tables and data, nothing dropped.
Numbers become KPI cards, trends become line charts, rankings become bars, steps become timelines.
A semantic page structure with layout, components and charts in place — colour is left to the theme.
Pick any of 19 themes, swap freely, then publish the self-contained file anywhere.
Light, dark and gradient families — themes carry colour and type only, never layout.
Two dependencies, no build step, no account.
The 19 themes come from the sibling project html-golive. It also gives you one-command publishing.
Self-contained directory — no cross-skill imports, no shared runtime.
Normally your agent runs these for you — but nothing is hidden, and every step works standalone.
When the input already looks good: map its :root colours onto the seven --eh-* variables, then swap themes at will. The layout never moves.
Markdown, plain text, Excel (.xlsx), Word (.docx), pasted or Markdown tables, stdin, images, and existing HTML. Legacy .xls / .doc need to be saved in the modern format first — the parser tells you so explicitly instead of failing silently.
Wherever you like. The output is a self-contained single HTML file, so GitHub Pages, Netlify, Vercel, an S3 bucket, python3 -m http.server or an email attachment all work. html-golive gives you a one-command self-hosted option if you want URLs on your own infrastructure.
Yes, any number of times. Themes only carry colour and typography; layout and content live in the skill's own CSS, so the two layers never fight. Re-running apply_style.py with a different key is all it takes.
No. The theme engine is resolved in a fixed order — EASY_HTML_CSS_ENGINE, then the installed golive package, then a local source tree — and if none is found the script exits with install instructions rather than fetching code. Chart.js is loaded from public CDNs at page-view time, and you can point window.EH_CHART_CDN at your own mirror for offline use.
Any agent that can read a SKILL.md and run Python — OpenClaw, Claude Code and Cursor are the tested ones. The scripts are also plain CLIs, so you can drive the whole pipeline by hand without an agent at all.
Part of the html-tool-suite — a set of skills for generating, publishing and sharing HTML.
Get easy-html on GitHub ↗