Markdown Input
HTML Preview

Frequently Asked Questions

What Markdown syntax is supported?
We support CommonMark syntax including headings, bold, italic, links, images, code blocks (with language hints), blockquotes, ordered and unordered lists, tables, horizontal rules, and inline code.
Can I use this for email HTML?
The generated HTML is clean and semantic, suitable for most uses. For email, you may want to inline styles since many email clients strip CSS classes.
Is my data sent to any server?
No. All conversion happens entirely in your browser. No data is transmitted anywhere.
\n`; download(full, 'output.html', 'text/html'); } function download(content, name, type) { const blob = new Blob([content], { type }); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = name; a.click(); } function clearAll() { mdInput.value = ''; update(); } function loadSample() { mdInput.value = `# Markdown Sample This is a **real-time** Markdown editor with *live preview*. ## Features - **Bold**, *italic*, and ~~strikethrough~~ text - [Links](https://example.com) and images - Code blocks and inline \`code\` - Tables, lists, and blockquotes ### Code Example \`\`\`javascript function greet(name) { return \`Hello, \${name}!\`; } console.log(greet('World')); \`\`\` ### Table | Feature | Status | | --- | --- | | Bold | โœ… | | Italic | โœ… | | Tables | โœ… | > This is a blockquote. It can contain **formatted** text. --- Made with โค๏ธ using ToolSnap`; update(); } function showToast(msg) { const t = document.createElement('div'); t.textContent = msg; t.style.cssText = 'position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;z-index:9999;animation:fadeInUp .3s'; document.body.appendChild(t); setTimeout(() => t.remove(), 2000); } mdInput.addEventListener('input', update); update();