Show HN: Email.md – Markdown to responsive, email-safe HTML

dancablam 252 points 59 comments March 24, 2026
www.emailmd.dev · View on Hacker News

Discussion Highlights (20 comments)

alfanick

"Write markdown. Ship emails." - I see a particular group of people interested in this, but they have their tools already.

Kwpolska

This appears to be a MJML wrapper with a Markdown→HTML converter attached to it. I think generating HTML from code is easier than generating Markdown, since there are many templating tools that understand HTML escaping. And writing HTML is not that hard, especially for your typical emails, so I'm not really sure if this library would be helpful in the long run.

koakuma-chan

I wish people just sent plain text.

KhushaliT

templates are cool but seems too heavy to land in primary inbox

pembrook

I like how you aren't hiding the fact this is MJML under the hood and don't layer complex abstractions over MJML spec like similar projects ( cough react email cough ). The devs maintaining MJML deserve so much credit for dealing with Gmail/Outlook's monopoly bullshit and 2007 html. Nice idea for those who manage content in markdown. I've moved away from putting emails in my codebase, but seems great for founders moving fast.

binaryturtle

Any "HTML emails" get filtered straight into the spam folder here. I think I'm not part of the target audience here.

ph4rsikal

Markdown is the secret winner of the AI early years.

theanonymousone

I hope .md domains do not become a security hole as Markdown raises in popularity...

Igor_Wiwi

I am working on smth similar markdown reader for humans, not agents - https://mdview.io

matzalazar

Great project! And if you don't mind a little workaround and some Python scripting, you can turn a regular Obsidian folder into an automatic outbox. Write markdown, drag, drop, and ship.

safehuss

Anything that makes email development easier is great I guess, but have personally found MJML great for solving the issues you'd run into, and not sure I want yet another abstraction layer on top of that which makes it more limited...

deanputney

Curious why the CLI function is `mvd` instead of `mdv`?

articsputnik

Love everything to Markdownify :) I was just wondering, is there a Neovim/Markdown email client? Potentially using something like this? I love Neomutt, or Newsboat, and other TUIs. It would be great to have something totally on Markdown. Update: I gave it a spin [1] with Go and some of my favorite CLI's. [1] https://x.com/sspaeti/status/2036539855182627169

rbbydotdev

Nice usage of admonitions. This is a great example of how eloquent markdown can be. Still very readable while even including the markup for 'footer' and the call out code.

gojomo

Which email client will stylize raw markdown itself, making the HTML step here superfluous?

Escapade5160

At this point markdown is going to be the foundation of the entire AI web. Someone the other day showed off Markdown as a responsive frontend protocol. Now we've got email. How long until we're writing classes in markdown? We can only abstract this so far before we confuse AI more than help it.

Barbing

Very nice. I think the kind of folks attracted to this thread might have some thoughts on a workflow I'm interested in. When I see a news article, I want to be able to click a button on my Mac or iPhone to send the text of the article in the body of the email. Bonus points for rehosting the images from the article. And using a similar font both without carrying over any of the original external dependencies. Normally it’s good to support the journalist but I cannot in good conscience send a link to elderly folks when this is so much safer.

runtype

Would love to use this - any plans for Cloudflare Workers support? Some of the node APIs you're using block it from working on Cloudflare right now.

josegonzalez

This plus a block-based editor like editorjs would be a great addition to any custom cms.

Lord_Zero

Does anyone use MJML in golang? What package are you using?

Semantic search powered by Rivestack pgvector
3,471 stories · 32,344 chunks indexed