Skip to main content
POST https://api.pdfnoodle.com/v1/tools/convert-markdown-to-pdf

Request

Response

The response contains a url pointing to the generated PDF file. While the URL in the response expires after the time specified in expiration (default: 1 hour), the file itself is stored persistently and can be downloaded at any time from the dashboard logs.

Supported Markdown Features

The converter supports the full Markdown specification including:
  • Headings (H1 through H6)
  • Text formatting (bold, italic, strikethrough)
  • Lists (ordered and unordered, nested)
  • Tables
  • Code blocks with syntax highlighting (powered by Prism.js)
  • Inline code
  • Links and images
  • Blockquotes
  • Horizontal rules
Code blocks include automatic syntax highlighting for all major programming languages. Just specify the language after the opening triple backticks (e.g., ```javascript).

Operation Tracking

Each markdown conversion creates a record in your dashboard logs, allowing you to:
  • View all past conversions with their status and metadata
  • Re-download generated PDFs at any time via the logs table
  • Track usage across your team
Business and Scale plans: Markdown conversion operations are unlimited and do not count toward your PDF generation quota.Starter plans: Markdown conversion operations count toward your total volume quota.

Async Mode

By default, the request waits for the conversion to complete before returning a response. If you set async: true, the endpoint returns immediately with a requestId and statusUrl that you can use to poll for the result.
Async Response (200 OK)
Use the Get Tool Status endpoint to check the result.

Request Timeout (>30 seconds)

Even without async: true, if the operation takes more than 30 seconds it will automatically be processed in the background.
If the conversion takes longer than 30 seconds, you’ll receive a 202 Accepted response with a requestId and statusUrl to poll for the result:
Timeout (202 Accepted)

Custom CSS

You can inject custom CSS to override the default styling:

Parameters

string
required
The Markdown content to convert to PDF. Cannot be empty.
string
Custom CSS to apply to the rendered PDF. This will be injected alongside the default styles, allowing you to override any default styling.
object
Configuration options for the PDF output. See fields below.
string
default:"Letter"
Paper format. One of: Letter, Legal, Tabloid, Ledger, A0, A1, A2, A3, A4, A5, A6.
boolean
default:"false"
Set to true to use landscape orientation.
number
default:"1"
Scale of the webpage rendering. Must be between 0.1 and 2.
boolean
default:"false"
Set to true to print background graphics and colors.
string
Paper ranges to print, e.g., "1-5" or "1,3,5-7". An empty string means all pages are printed.
object
Page margins. Each value accepts a number (in pixels) or a string with units (px, in, cm, mm).
string | number
Top margin. Default: 0
string | number
Right margin. Default: 0
string | number
Bottom margin. Default: 0
string | number
Left margin. Default: 0
string
The desired filename for the generated PDF. Must end with .pdf. If not provided, a random filename will be generated.
number
default:"3600"
Number of seconds that the generated signed URL will take to expire. Must be between 60 (1 minute) and 604800 (7 days). Default: 3600 (1 hour).
boolean
default:"false"
If true, the request returns immediately with a requestId and statusUrl instead of waiting for the operation to complete. You can then poll the Get Tool Status endpoint to check when the result is ready.