Write the Markdown
Use headings, lists, tables, quotes, and fenced code blocks exactly as you normally would.
Write Markdown on the left, watch the browser render it into styled HTML on the right, and export the final DOM node as a polished PNG from the same page.
Markdown input
The right side is a browser-rendered HTML preview. The export button captures that visible DOM node, not a server-generated fallback.
Export surface
Live preview
Keep the writing flow in Markdown, then export a visual artifact when the audience needs something easy to share.
const status = ['draft', 'reviewed', 'ready']
export function publish(markdown: string) {
return {
html: markdown.trim(),
state: status[2],
}
}
| Surface | Purpose |
|---|---|
| Markdown | Fast editing |
| HTML preview | Visual review |
| PNG export | Sharing |
Rendered HTML
This is the HTML string generated on the client from the Markdown input.
Markdown is great for structure, but stakeholders often want a visual artifact instead of a raw text file. This route keeps the writing format and adds a screenshot-friendly presentation layer on top.
The workflow stays entirely in the browser: Markdown in, rendered HTML preview out, CSS frame applied, then the visible DOM is captured as a downloadable image. That makes iteration fast and keeps the export logic easy to understand.
Use headings, lists, tables, quotes, and fenced code blocks exactly as you normally would.
The preview updates live inside a Ray.so-inspired container so you can tune readability and composition.
When the preview looks right, download the captured browser-rendered PNG with one click.
Turn changelogs or rollout notes into images that look intentional in chat threads and project docs.
Paste Markdown from an assistant, refine the structure, and export a clean visual summary for sharing.
Render short guides, snippets, or review comments into image assets without opening a design tool.
Clean up longer Markdown drafts before moving them into a share image.
Extract article content first, then move the result into image export.
Switch to document export when the final output should stay paginated instead of screenshot-based.
Convert formatted HTML-like content into Markdown before rendering it here.