Render HTML and CSS to PNG images over HTTP. Send HTML and CSS and get a PNG back.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your HTML to Image API key as a bearer token, for example 'Bearer htim_...'. Create one in your html2img.com dashboard.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Render HTML and CSS into a PNG image, or into an A4 vector PDF with format "pdf". Provide complete, self-contained HTML and put styles in an inline <style> block. Remote image URLs load if they are real and publicly accessible; embed generated or local images as base64 data URIs rather than inventing URLs. Returns the rendered image plus a shareable CDN URL; PDF renders return the URL only. Consumes one credit per call.
The full HTML markup to render. Include CSS in an inline <style> block. Publicly accessible remote image URLs work; use base64 data URIs for images that are not hosted anywhere.
Optional additional CSS to inject into the page.
Scale factor / device pixel ratio (1-4) for higher-resolution output.
Viewport width in pixels (1-5000). Defaults to 1920.
Output format. "png" (default) returns an image sized by width and height. "pdf" returns an A4 portrait vector PDF with selectable, searchable text and automatic pagination; width, height, dpi and fullpage are ignored. Use "pdf" for documents such as invoices, reports, certificates and tickets. Use "png" for social cards, OG images and anything displayed at fixed pixel dimensions.
Viewport height in pixels (1-5000). Defaults to 1080.
Capture the full scrollable page instead of just the viewport.
Milliseconds to wait before capturing (1-5000), e.g. to let fonts or animations settle.
Wait until this CSS selector is present before capturing.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Render HTML and CSS into a PNG image, or into an A4 vector PDF with format "pdf". Provide complete, self-contained HTML and put styles in an inline <style> block. Remote image URLs load if they are real and publicly accessible; embed generated or local images as base64 data URIs rather than inventing URLs. Returns the rendered image plus a shareable CDN URL; PDF renders return the URL only. Consumes one credit per call.
| Argument | Type | Description |
|---|---|---|
| css | string | Optional additional CSS to inject into the page. |
| dpi | integer | Scale factor / device pixel ratio (1-4) for higher-resolution output. |
| html* | string | The full HTML markup to render. Include CSS in an inline <style> block. Publicly accessible remote image URLs work; use base64 data URIs for images that are not hosted anywhere. |
| width | integer | Viewport width in pixels (1-5000). Defaults to 1920. |
| format | string | Output format. "png" (default) returns an image sized by width and height. "pdf" returns an A4 portrait vector PDF with selectable, searchable text and automatic pagination; width, height, dpi and fullpage are ignored. Use "pdf" for documents such as invoices, reports, certificates and tickets. Use "png" for social cards, OG images and anything displayed at fixed pixel dimensions. |
| height | integer | Viewport height in pixels (1-5000). Defaults to 1080. |
| fullpage | boolean | Capture the full scrollable page instead of just the viewport. |
| ms_delay | integer | Milliseconds to wait before capturing (1-5000), e.g. to let fonts or animations settle. |
| wait_for_selector | string | Wait until this CSS selector is present before capturing. |
{
"type": "object",
"required": [
"html"
],
"properties": {
"css": {
"type": "string",
"description": "Optional additional CSS to inject into the page."
},
"dpi": {
"type": "integer",
"description": "Scale factor / device pixel ratio (1-4) for higher-resolution output."
},
"html": {
"type": "string",
"description": "The full HTML markup to render. Include CSS in an inline <style> block. Publicly accessible remote image URLs work; use base64 data URIs for images that are not hosted anywhere."
},
"width": {
"type": "integer",
"description": "Viewport width in pixels (1-5000). Defaults to 1920."
},
"format": {
"enum": [
"png",
"pdf"
],
"type": "string",
"description": "Output format. \"png\" (default) returns an image sized by width and height. \"pdf\" returns an A4 portrait vector PDF with selectable, searchable text and automatic pagination; width, height, dpi and fullpage are ignored. Use \"pdf\" for documents such as invoices, reports, certificates and tickets. Use \"png\" for social cards, OG images and anything displayed at fixed pixel dimensions."
},
"height": {
"type": "integer",
"description": "Viewport height in pixels (1-5000). Defaults to 1080."
},
"fullpage": {
"type": "boolean",
"description": "Capture the full scrollable page instead of just the viewport."
},
"ms_delay": {
"type": "integer",
"description": "Milliseconds to wait before capturing (1-5000), e.g. to let fonts or animations settle."
},
"wait_for_selector": {
"type": "string",
"description": "Wait until this CSS selector is present before capturing."
}
}
}Capture a live web page by URL as a PNG screenshot, or as an A4 vector PDF with format "pdf". Returns the rendered image plus a shareable CDN URL; PDF renders return the URL only. Consumes one credit per call.
| Argument | Type | Description |
|---|---|---|
| css | string | Optional CSS to inject into the page before capture. |
| dpi | integer | Scale factor / device pixel ratio (1-4) for higher-resolution output. |
| url* | string | The fully-qualified URL of the page to capture (https://...). |
| width | integer | Viewport width in pixels (1-5000). Defaults to 1920. |
| format | string | Output format. "png" (default) returns an image sized by width and height. "pdf" returns the page as an A4 portrait vector PDF with selectable, searchable text and automatic pagination; width, height, dpi, fullpage and selector are ignored. Use "pdf" to archive a page or produce a printable record. Use "png" for anything displayed at fixed pixel dimensions. |
| height | integer | Viewport height in pixels (1-5000). Defaults to 1080. |
| fullpage | boolean | Capture the full scrollable page instead of just the viewport. |
| ms_delay | integer |
| Milliseconds to wait before capturing (1-5000). |
| selector | string | Capture only the element matching this CSS selector. |
| wait_for_selector | string | Wait until this CSS selector is present before capturing. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"css": {
"type": "string",
"description": "Optional CSS to inject into the page before capture."
},
"dpi": {
"type": "integer",
"description": "Scale factor / device pixel ratio (1-4) for higher-resolution output."
},
"url": {
"type": "string",
"description": "The fully-qualified URL of the page to capture (https://...)."
},
"width": {
"type": "integer",
"description": "Viewport width in pixels (1-5000). Defaults to 1920."
},
"format": {
"enum": [
"png",
"pdf"
],
"type": "string",
"description": "Output format. \"png\" (default) returns an image sized by width and height. \"pdf\" returns the page as an A4 portrait vector PDF with selectable, searchable text and automatic pagination; width, height, dpi, fullpage and selector are ignored. Use \"pdf\" to archive a page or produce a printable record. Use \"png\" for anything displayed at fixed pixel dimensions."
},
"height": {
"type": "integer",
"description": "Viewport height in pixels (1-5000). Defaults to 1080."
},
"fullpage": {
"type": "boolean",
"description": "Capture the full scrollable page instead of just the viewport."
},
"ms_delay": {
"type": "integer",
"description": "Milliseconds to wait before capturing (1-5000)."
},
"selector": {
"type": "string",
"description": "Capture only the element matching this CSS selector."
},
"wait_for_selector": {
"type": "string",
"description": "Wait until this CSS selector is present before capturing."
}
}
}