- Editor — create email templates visually by adding blocks to the structure tree
- Block library — Text, Image, Button, Divider, Spacer, Columns, Hero, Navbar, Icons, Video, Countdown, FAQ, Quote
- MJML-powered — renders to battle-tested, cross-client compatible HTML entirely in the browser
- Live preview — see changes instantly as you edit
- HTML export — download the finished HTML or copy it to the clipboard
- Template library — start from a sample template; save and manage your own presets
- Undo / Redo — full history via Zustand temporal middleware
- Multi-tab — work on multiple templates simultaneously
- Dark / Light themes — theme presets with accent color options
- 22 languages — UI fully localized (Arabic, Chinese, Czech, Dutch, English, Finnish, French, German, Greek, Croatian, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish)
- Offline-first — images stored as Base64 (no backend required)
- Desktop app — native builds for macOS (Universal, Apple Silicon, Intel), Windows and Linux
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for web
pnpm build
# Build macOS desktop app (Universal binary)
pnpm tauri:buildRequires Node.js 20.19+ and pnpm. For desktop builds, Rust is required as well.
| Layer | Technology |
|---|---|
| Framework | React + TypeScript |
| Build tool | Vite |
| Email rendering | MJML |
| Drag & Drop | hello-pangea/dnd |
| Styling | Tailwind CSS |
| State | Zustand + zundo |
| i18n | react-i18next |
| Desktop | Tauri |
Since Visemte is not yet notarized with Apple, macOS will block the app after each installation. Run the following command in Terminal after every install or update before launching the app:
xattr -dr com.apple.quarantine /Applications/Visemte.appMIT © Andreas Safer


