Side-by-side GitHub-flavored Markdown editor with HTML copy and print-to-PDF.
Privacy: 100% Client-Side. Your data never leaves this browser tab. Processing uses Web APIs and client-side libraries only.
Side-by-side GitHub-flavored Markdown (via marked). Supports tables, task lists, fenced code with syntax highlighting, KaTeX math ($ / $$), footnotes, and Pandoc-style definition lists. Mermaid is not included. Copy HTML or print to PDF locally.
Comprehensive Markdown Stress-Test Document
Designed for testing Markdown parsers, renderers, and reading tools.
This paragraph contains a mix of bold, italic, bold-italic, strikethrough, inline code, and a hyperlink example.
You can also use HTML tags for underline (underlined text) and sub/superscripts (H2O, X^2^), depending on parser support. Footnotes[1] are also a great test for advanced readers.
2. Blockquotes & Nesting
Primary blockquote layer. This tests standard quote rendering.
Nested blockquote layer. Ensuring multiple levels of indentation parse correctly.
Third-layer nesting with code inside: console.log("deep nesting");
Back to the first layer. A quote can contain lists:
Item one in a quote
Item two in a quote
3. List Variations
Ordered List
First major item
Second major item
Sub-item A with a long description to test text wrapping behavior inside list items.
Sub-item B
Third major item
Unordered List
Bullet point item one
Bullet point item two
Nested bullet point
Deeply nested bullet point
Bullet point item three
Task List (Checklists)
Completed task item
Pending task item with edge-case characters: *, _, [ ]
Another pending task item
4. Data Tables
Syntax
Description
Test Status
Header
Title
Alignment Right
Bold
Paragraph text
Pass
code
Inline snippets
Pending
Pipe |
Escaped character
Warning
5. Code Highlighting & Blocks
JavaScript Example
// A complex snippet to test syntax highlightingfunctionfibonacci(n) {
if (n <= 1) return n;
returnfibonacci(n - 1) + fibonacci(n - 2);
}
const result = fibonacci(10);
console.log(`Result: ${result}`);
Python Example
defquicksort(arr):
iflen(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
6. Mathematical Expressions
Inline Math: The quadratic formula is given by x=2a−b±b2−4ac.
This is the footnote definition at the bottom of the document to test reference links. ↩
Why a client-side Markdown preview?
README drafts, docs, and LLM prompts benefit from instant formatting feedback without uploading content to a SaaS editor.
Utilxo renders GFM locally, lets you copy HTML, and opens a print dialog for PDF export.
How to use this tool
Write Markdown in the left pane and watch the preview update.
Copy raw HTML or use Export PDF to open the browser print dialog.
Frequently asked questions
Is Markdown uploaded?
No. Rendering uses marked.js entirely in your browser.
Why doesn’t the preview match GitHub / VS Code exactly?
Utilxo renders GFM plus extras: syntax highlighting (common languages), KaTeX math ($ / $$), GFM footnotes, and Pandoc-style definition lists. Mermaid diagrams are not included. Styling still won’t match GitHub or VS Code pixel-for-pixel.