import {Footer, Navbar, SectionHeader} from '../../components'; import {motion} from 'framer-motion'; import {DASHBOARD_URI} from '../../lib/constants'; import React, {useMemo, useState} from 'react'; import {NextSeo} from 'next-seo'; import {ArrowRight, Check, Code2, Copy} from 'lucide-react'; import {MarkdownEmailEditor} from '../../components/tools/MarkdownEmailEditor'; import {convertToCompleteEmailHtml} from '../../lib/emailHtmlConverter'; import {Button} from '@plunk/ui'; import {Bricolage_Grotesque, Hanken_Grotesk, JetBrains_Mono} from 'next/font/google'; import Link from 'next/link'; const display = Bricolage_Grotesque({ subsets: ['latin'], variable: '--font-display', display: 'swap', weight: ['400', '500', '600', '700', '800'], }); const body = Hanken_Grotesk({ subsets: ['latin'], variable: '--font-body', display: 'swap', weight: ['400', '500', '600', '700'], }); const mono = JetBrains_Mono({ subsets: ['latin'], variable: '--font-mono', display: 'swap', weight: ['400', '500'], }); export default function MarkdownToEmail() { const [editorContent, setEditorContent] = useState('

Hello!

Try editing this text...

'); const [copied, setCopied] = useState(false); const emailSafeHtml = useMemo(() => convertToCompleteEmailHtml(editorContent), [editorContent]); const handleCopy = async () => { await navigator.clipboard.writeText(emailSafeHtml); setCopied(true); setTimeout(() => setCopied(false), 2000); }; return ( <>
{/* ========== HERO ========== */}
ยง T-01  โ€”  Tool โ† All tools

Markdown to
Email HTML

Format your content with the visual editor and get production-ready HTML with inlined styles that works across all email clients.

{/* ========== EDITOR ========== */}
{/* Left: Editor */}
Visual Editor
{/* Right: Email-Safe HTML Output */}
Email-Safe HTML
                    
                      {emailSafeHtml}
                    
                  
{/* ========== ABOUT ========== */}
{[ { tag: 'Step 1', big: 'Write', title: 'Format your content', body: 'Use the visual editor to format text, add headings, lists, and links โ€” just like a word processor.', }, { tag: 'Step 2', big: 'Convert', title: 'Styles get inlined', body: 'Every CSS rule is moved inline so email clients like Outlook, Gmail, and Apple Mail render it correctly.', }, { tag: 'Step 3', big: 'Copy', title: 'Drop it in your send', body: 'Copy the output HTML and paste it into any email service, SMTP template, or API payload.', }, ].map((item, i) => ( / {item.tag}
{item.big}

{item.title}

{item.body}

))}
{/* ========== CTA ========== */}
Ready to send great emails?

Plunk handles everything: templates, sending, tracking, and deliverability. Start free, no credit card required.

Start with Plunk