- emailmd biến Markdown thành HTML email responsive, chạy ổn trên Gmail, Outlook, Apple Mail và Yahoo - không cần học MJML hay setup Tailwind pipeline.
- Build trên MJML v5, Node.js 20+, hỗ trợ tables, buttons, callouts, heroes và dark mode.
- MIT license, miễn phí hoàn toàn, cài bằng npm install emailmd.
- Phù hợp nhất cho LLM-generated emails và dev team không muốn chi phí setup nặng.
TL;DR
emailmd là thư viện TypeScript + CLI tool chuyển Markdown thành HTML email responsive, tương thích với Gmail, Outlook, Apple Mail và Yahoo Mail - không cần học MJML hay setup Tailwind pipeline. MIT license, miễn phí hoàn toàn.

Email HTML - nỗi đau thật sự
Ai từng tự viết HTML email đều biết cảm giác này: code xong trông ổn trên Chrome, nhưng mở Outlook thì vỡ toàn bộ. Gmail strip mất style. Apple Mail dark mode làm chữ biến màu.
Mỗi email client xử lý CSS theo cách riêng - Outlook dùng rendering engine của Word thay vì browser, Gmail không nhận <style> trong <head>, và danh sách quirk cứ dài mãi. Cộng đồng email developer gọi đây là HTMHELL.
Các giải pháp hiện có đều có đánh đổi: MJML yêu cầu học cú pháp XML riêng, React Email kéo theo toàn bộ React dependency, Maizzle cần cả Tailwind build pipeline. Với team nhỏ hoặc backend developer, chi phí setup không xứng đáng.
emailmd hoạt động thế nào
emailmd là tầng trừu tượng Markdown đặt lên trên MJML v5. Thay vì viết XML của MJML hay JSX của React Email, bạn viết Markdown bình thường - emailmd dịch sang MJML, MJML xử lý phần còn lại để ra HTML email cross-client.
Kiến trúc: monorepo Turbo, viết bằng TypeScript (89.8% codebase), chạy Node.js 20+. Hỗ trợ cả ESM và CommonJS. Ngoài Markdown chuẩn, emailmd mở rộng thêm directive syntax qua remark-directive - khai báo block đặc biệt như ::: header, ::: callout, ::: footer ngay trong file .md.
Cài và chạy trong 30 giây
npm install emailmdJavaScript API:
import { render } from 'emailmd'
const { html, text } = await render(`
# Xác nhận email của bạn
Mã xác nhận:
::: callout compact
# ABC-123
:::
`)
// html → gửi làm text/html
// text → gửi kèm làm text/plain fallback
Lưu ý: từ v0.3.0, render() là async - phải dùng await.
CLI tool:
emailmd input.md -o output.html
emailmd input.md --text
cat input.md | emailmd
Bạn cũng có thể test trực tiếp tại emailmd.dev không cần cài gì.
Những gì emailmd hỗ trợ
Block đặc biệt: header, footer, callout, hero, highlight, button, centered block
Markdown chuẩn: tables, task lists, bold, italic, links, code blocks
Theming: light/dark mode, customization theo brand
Frontmatter: metadata per-email (preheader, theme, v.v.)
Template variables:
{{name}},{{company}}cho personalizationPlain text tự động: xuất HTML lẫn plain text trong một lần
render()AI-friendly docs: file
/llms-full.txtđể LLM consume trực tiếp
Sau launch, team còn bổ sung thêm Cloudflare Workers support theo phản hồi từ cộng đồng - cho thấy dự án đang active development.
So với MJML, React Email, Maizzle
Tool | Cú pháp | Dependency | Phù hợp cho |
|---|---|---|---|
emailmd | Markdown + directives | Node.js 20+ | Dev muốn đơn giản, LLM workflows |
MJML | XML-like custom | Node.js | Control cao, team quen MJML |
React Email | JSX/TSX | React + ecosystem | Full-stack React team |
Maizzle | HTML + Tailwind | Tailwind build pipeline | Designer-heavy team |
Điểm thú vị từ cộng đồng Hacker News: emailmd đặc biệt phù hợp cho LLM-generated email content. Markdown là output tự nhiên của language model, và Markdown bị lỗi nhỏ sẽ degrade gracefully hơn nhiều so với HTML bị lỗi. Khi để AI viết nội dung email, emailmd là bridge tự nhiên nhất từ AI output sang HTML email an toàn.
Nên dùng - và khi nào không
emailmd phù hợp nếu bạn:
Cần gửi transactional email (confirm account, OTP, password reset) từ Node.js app
Muốn template email đơn giản không cần designer
Đang build AI pipeline sinh nội dung email động
Không muốn học MJML hay kéo React vào chỉ để gửi vài loại email
Chưa nên dùng nếu cần layout phức tạp hoàn toàn custom, hoặc cần API ổn định cho production lớn - package vẫn pre-v1.0 và API có thể thay đổi giữa các minor version.
Cài đặt: npm install emailmd. MIT license. Docs tại emailmd.dev/docs. GitHub: github.com/unmta/emailmd.




