
Markdown to HTML Converter
hipersoft/markdown-to-html
Convert Markdown to clean, styled HTML with GitHub-flavored tables, code highlighting and an optional full HTML document wrapper. For emails, CMS content and static sites.
Total users
1Monthly users
0Total runs
71Per doc converted
$0.002Last rebuilt
Oct 28, 2026Overview
Convert Markdown to clean, styled HTML — with GitHub-flavored tables, code blocks and an optional full HTML document wrapper. For emails, CMS content, static sites and automation workflows (n8n, Make).
What it does
- Converts Markdown → HTML (GFM tables, strikethrough, code fences).
- Optional full styled HTML document (with CSS) or a bare fragment.
- Batch mode for many documents at once.
Use cases
- Email / newsletters — turn Markdown into ready-to-send HTML.
- CMS / static sites — render Markdown content to HTML.
- Automation — a Markdown→HTML step in an n8n/Make workflow (e.g. after an LLM writes Markdown).
Input
{ "markdown": "# Hello\n\nSome **bold** text and a [link](https://apify.com).", "fullDocument": false, "gfm": true }
| Field | Type | Description |
|---|---|---|
markdown |
string | Markdown to convert. |
markdowns |
array | Optional batch of documents. |
fullDocument |
boolean | Wrap in a styled HTML page. |
title |
string | Page title (full-document mode). |
gfm |
boolean | GitHub-flavored Markdown. |
Output
{ "chars": 63, "fullDocument": false, "html": "<h1>Hello</h1>\n<p>Some <strong>bold</strong> text...</p>", "htmlUrl": "https://api.apify.com/v2/key-value-stores/.../records/output-0001.html" }
Output schema
| Field | Type | Description |
|---|---|---|
chars |
integer | Input Markdown length. |
htmlUrl |
string (URL) | Link to the HTML file. |
FAQ
Fragment or full page? Set fullDocument for a complete styled HTML document, or leave it off for an embeddable fragment.
Can I use it in n8n? Yes — run it from the Apify node, or via integrations and the Apify API.
Notes
Original clean-room implementation.
Input
| Field | Type | Description |
|---|---|---|
markdownMarkdown | string | Markdown text to convert. Use the array below for batch conversion. |
markdownsMarkdown (batch) | array | Optional: multiple Markdown documents to convert in one run. |
fullDocumentFull HTML document | boolean | Wrap the output in a complete, styled HTML page (vs an HTML fragment). Default: false |
titleDocument title | string | Title for the HTML page (full-document mode). Default: "Document" |
gfmGitHub-flavored Markdown | boolean | Enable GFM tables, strikethrough, etc. Default: true |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~markdown-to-html/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"markdown": "# Hello\n\nThis is **Markdown** with a [link](https://apify.com) and a list:\n\n- one\n- two\n\n| A | B |\n|---|---|\n| 1 | 2 |"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/markdown-to-html").call(run_input={
"markdown": "# Hello\n\nThis is **Markdown** with a [link](https://apify.com) and a list:\n\n- one\n- two\n\n| A | B |\n|---|---|\n| 1 | 2 |"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/markdown-to-html').call({
"markdown": "# Hello\n\nThis is **Markdown** with a [link](https://apify.com) and a list:\n\n- one\n- two\n\n| A | B |\n|---|---|\n| 1 | 2 |"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Doc Converted Charged per item processed. | $0.002 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
North Data Scraper
Look up European companies on North Data: legal name, former names, register number, address, founding date, LEI, business purpose, managing directors and officers, and recent register publications. Germany, UK, France, Austria and 20+ countries. Bulk lookups.
2,467 runs · 5 users · $0.004 / companyWebsite Content Crawler
Extract clean, readable content from any list of websites: page title, meta description, headings, main body text, word count and link/image counts. Optional same-domain crawl. Bulk-ready. Great for LLM/RAG ingestion, content audits and research.
206 runs · 20 users · $0.0024 / page scrapedSpyFu Domain Scraper
Bulk SEO and PPC reports for any domain from SpyFu: organic keywords, monthly SEO clicks and value, Google Ads budget, paid keywords, top keywords, competitors, top countries and monthly history. Competitor research for agencies. Export CSV/JSON.
185 runs · 7 users · $0.008 / domain reportTrustpilot Reviews Scraper
Scrape Trustpilot reviews and company ratings by company domain or Trustpilot URL: star rating, title, text, reviewer name & country, verification, date, company reply, plus company TrustScore and total reviews.
146 runs · 4 users · $0.0006 / review scrapedACRA Singapore Company Registry Scraper
Search and export Singapore's full ACRA corporate registry: UEN, entity name, status, incorporation date, address, SSIC industry codes, officers, former names and audit firms. Filter by name, status, entity type or industry. Public open data, no setup.
138 runs · 10 users · $0.01 / company scrapedWayback Machine Scraper
List every Internet Archive (Wayback Machine) snapshot of a URL or whole domain: timestamp, snapshot URL, status code, MIME type and content digest. Filter by date, status and dedupe. For SEO, OSINT and historical research. No setup.
135 runs · 15 users · $0.002 / snapshot scrapedSend the site and the fields. We build it and you get it first.