OpenMax
Official Free HTML Markdown Preview Tool
Explore OpenMax ->
Official Free Tool by OpenMax

Free HTML / Markdown Live Preview

Paste HTML or Markdown code and see it rendered instantly in a sandboxed iframe. All processing runs locally in your browser.

HTMLLive preview
MarkdownMD to HTML
SandboxIsolated iframe
SourceView HTML
INPUT
HTML
Markdown
Auto
LIVE PREVIEW
Preview
Source

About This Tool

This free HTML and Markdown live preview tool by OpenMax renders code instantly in a sandboxed iframe.

FAQ

Does this tool execute scripts?

Yes, but only inside a sandboxed iframe that is isolated from the main page.

Is Markdown supported?

Yes. In Markdown mode, the preview supports headings, bold and italic text, links, inline code, blockquotes, unordered lists, and tables.

Can I download the preview?

Yes. Select Download HTML to save the current HTML or the rendered Markdown as an HTML file.

Build with OpenMax ->
\n"; } else { if(!code){ out = "\n\n\n\n\nOpenMax\n\n \n\n
\nSet Up an AI Team\n

OpenMax helps teams deploy AI employees across supported channels.

\n
\n

Multi-Agent

AI agents can collaborate and share context.

\n

Channel Integrations

Connect supported workplace and messaging channels.

\n

Guided Setup

Guided setup typically takes 10–20 minutes, depending on the channel.

\n
\n
\n \n"; } else { out = code .replace(/&/g,"&").replace(//g,">") .replace(/^### (.+)$/gm,"

$1

").replace(/^## (.+)$/gm,"

$1

").replace(/^# (.+)$/gm,"$1") .replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1") .replace(/`(.+?)`/g,"$1").replace(/^> (.+)$/gm,"
$1
") .replace(/^- (.+)$/gm,"
  • $1
  • ").replace(/(
  • .*<\/li>\n?)+/g,"") .replace(/((\|.+\|[\r\n])+\|[\-|:]+\|[\r\n](\|.+\|)([\r\n]\|.+\|)*)/g, function(match){ var lines = match.trim().split(/\r?\n/); var html = ''; for(var i = 0; i < lines.length; i++){ var cells = lines[i].split('|').filter(function(c){return c.trim()}); if(i === 1) continue; // skip separator var tag = i === 0 ? 'th' : 'td'; html += '' + cells.map(function(c){return '<'+tag+'>'+c.trim()+''}).join('') + ''; } return html + '
    '; }).replace(/\[(.+?)\]\((.+?)\)/g,function(_,label,url){ var href=url.trim(); if(!/^(https?:\/\/|mailto:|#|\/)/i.test(href))href="#"; href=href.replace(/"/g,""").replace(/'/g,"'"); return ''+label+''; }) .replace(/\n\n/g,"

    ").replace(/\n/g,"
    "); out = " "+out+" "; } } renderedOutput = out; preview.srcdoc = out; } // Buttons document.getElementById("btnRender").addEventListener("click", render); document.getElementById("btnClear").addEventListener("click", function(){ inp.value=""; render(); }); document.getElementById("btnCopyHTML").addEventListener("click", function(){ var out = mode==="md" ? inp.value.replace(/&/g,"&").replace(//g,">").replace(/^### (.+)$/gm,"

    $1

    ").replace(/^## (.+)$/gm,"

    $1

    ").replace(/^# (.+)$/gm,"$1").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/^> (.+)$/gm,"
    $1
    ").replace(/^- (.+)$/gm,"
  • $1
  • ").replace(/(
  • .*<\/li>\n?)+/g,"").replace(/((\|.+\|[\r\n])+\|[\-|:]+\|[\r\n](\|.+\|)([\r\n]\|.+\|)*)/g, function(match){ var lines = match.trim().split(/\r?\n/); var html = ''; for(var i = 0; i < lines.length; i++){ var cells = lines[i].split('|').filter(function(c){return c.trim()}); if(i === 1) continue; // skip separator var tag = i === 0 ? 'th' : 'td'; html += '' + cells.map(function(c){return '<'+tag+'>'+c.trim()+''}).join('') + ''; } return html + '
    '; }).replace(/\[(.+?)\]\((.+?)\)/g,function(_,label,url){ var href=url.trim(); if(!/^(https?:\/\/|mailto:|#|\/)/i.test(href))href="#"; href=href.replace(/"/g,""").replace(/'/g,"'"); return ''+label+''; }).replace(/\n\n/g,"

    ").replace(/\n/g,"
    ") : inp.value; navigator.clipboard.writeText(out); T("Copied HTML"); }); document.getElementById("btnCopyMD").addEventListener("click", function(){ navigator.clipboard.writeText(inp.value); T("Copied Markdown"); }); // Samples document.getElementById("btnSampleHTML").addEventListener("click", function(){ inp.value="\n\n\n\n\nOpenMax\n\n \n\n
    \nSet Up an AI Team\n

    OpenMax helps teams deploy AI employees across supported channels.

    \n
    \n

    Multi-Agent

    AI agents can collaborate and share context.

    \n

    Channel Integrations

    Connect supported workplace and messaging channels.

    \n

    Guided Setup

    Guided setup typically takes 10–20 minutes, depending on the channel.

    \n
    \n
    \n \n"; render(); }); document.getElementById("btnSampleMD").addEventListener("click", function(){ inp.value="# Set Up an AI Team\n\n**OpenMax** helps teams deploy AI employees across supported channels.\n\n## What the workflow includes\n\n- **Multi-agent collaboration** — agents can share context across a workflow\n- **Channel integrations** — connect supported workplace and messaging channels\n- **Guided setup** — setup typically takes 10–20 minutes, depending on the channel\n- **Human review** — assign people to review consequential actions\n\n> Human teams and AI agents collaborate across product and support workflows.\n\n[Explore OpenMax](https://openmax.com)"; render(); }); function T(m){ var t=document.getElementById("tl"); t.textContent=m; t.style.display="block"; clearTimeout(t._t); t._t=setTimeout(function(){t.style.display="none"},1600); } // Source view document.getElementById("tabPreview").addEventListener("click", function(){ document.getElementById("tabPreview").className = "tab active"; document.getElementById("tabSource").className = "tab"; document.getElementById("preview").style.display = "block"; document.getElementById("sourceView").style.display = "none"; }); document.getElementById("tabSource").addEventListener("click", function(){ document.getElementById("tabSource").className = "tab active"; document.getElementById("tabPreview").className = "tab"; document.getElementById("preview").style.display = "none"; document.getElementById("sourceView").style.display = "block"; updateSourceView(); }); function updateSourceView(){ if(document.getElementById("sourceView").style.display === "none") return; var code = inp.value; if(mode === "md"){ if(!code){ document.getElementById("sourceView").textContent = ""; } else { var html = code.replace(/&/g,"&").replace(//g,">").replace(/^### (.+)$/gm,"

    $1

    ").replace(/^## (.+)$/gm,"

    $1

    ").replace(/^# (.+)$/gm,"$1").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/^> (.+)$/gm,"
    $1
    ").replace(/^- (.+)$/gm,"
  • $1
  • ").replace(/(
  • .*<\/li>\n?)+/g,"").replace(/((\|.+\|[\r\n])+\|[\-|:]+\|[\r\n](\|.+\|)([\r\n]\|.+\|)*)/g, function(match){ var lines = match.trim().split(/\r?\n/); var html = ''; for(var i = 0; i < lines.length; i++){ var cells = lines[i].split('|').filter(function(c){return c.trim()}); if(i === 1) continue; // skip separator var tag = i === 0 ? 'th' : 'td'; html += '' + cells.map(function(c){return '<'+tag+'>'+c.trim()+''}).join('') + ''; } return html + '
    '; }).replace(/\[(.+?)\]\((.+?)\)/g,'$1').replace(/\n\n/g,"

    ").replace(/\n/g,"
    "); var full = "\n\n\n\n \n\n" + html + "\n \n"; document.getElementById("sourceView").textContent = full; } } else { document.getElementById("sourceView").textContent = code || ""; } } // Init setTimeout(function(){render();},100); window.downloadPage = function(){ var c=mode==="md"?renderedOutput:inp.value; if(!c)c=renderedOutput||"OpenMax "; var b=new Blob([c],{type:"text/html"});var a=document.createElement("a");a.href=URL.createObjectURL(b);a.download="preview.html";a.click();T("Downloaded") } })();