What you can actually do with the free PDF tools

Four converters, no account, no upsell wall. Here is the honest version of what each one is for, where it stops, and which job belongs to which tool.

The free tools exist because the paid product — catalogs generated from an ERP — is a specific thing that most visitors do not need on day one. What they usually need is smaller and more immediate: turn this thing I have into a decent PDF. That job runs on the same rendering stack, so it may as well be free.

All four share the same ground rules:

1. Markdown → PDF

Use it for: release notes, meeting summaries, documentation, specs, an answer from an LLM you want to keep, anything you already write in Markdown.

Paste Markdown on the left, watch the preview on the right, choose a page size, download. Tables, fenced code with syntax highlighting, images, footnotes, admonitions and a generated [TOC] all work. Page breaks are handled by a real print engine, so headings do not end up orphaned at the bottom of a page and long tables split with their header row repeated.

This is the most-used tool on the site by a wide margin, and it has its own deep-dive: how to convert Markdown to PDF without installing anything — page-break control, image gotchas, and the API call.

Where it stops: you cannot supply your own CSS or fonts. The stylesheet is fixed so results stay consistent. If you need typographic control, the next tool is the one you want.

Open Markdown to PDF

2. HTML → PDF

Use it for: invoices, certificates, tickets, labels — anything where you control the layout and want it reproduced exactly.

Paste an HTML document or fragment, including your own <style> block, and it is rendered as a paginated document. Because the engine implements CSS Paged Media, print CSS is not decoration here — it is the actual API:

<style>
  @page { size: A4; margin: 18mm 15mm; }
  .invoice-item { break-inside: avoid; }
  h2 { break-after: avoid; }
</style>

break-inside: avoid keeps a table row or a card from being sliced across two pages. break-after: avoid glues a heading to the block beneath it. These are the two properties that turn an "almost right" PDF into a correct one, and they are worth learning even if you never use anything else.

Where it stops: JavaScript is not executed and never will be — a public converter that runs arbitrary script on the server is a security hole with a marketing page. So a chart drawn by a JS library in the browser will not appear; render it to an <img> or inline SVG first. HTML is also sanitised: formatting and structural tags pass, scripts and event handlers are stripped.

Open HTML to PDF

3. URL → PDF

Use it for: archiving a page before it changes, filing a receipt or confirmation, capturing documentation for offline reading, keeping evidence of what a page said on a given day.

Give it a public http(s) address and it fetches the page and lays it out as a document. Two constraints are deliberate and worth knowing before you are surprised by them:

Pages are also capped at 5 MB of fetched content, which is far more than any document-shaped page and enough to stop a stray link to a large file from tying up the renderer.

Open URL to PDF

4. Compress PDF

Use it for: the 40 MB scan that an upload form refuses, the deck that bounces off an email attachment limit, a portfolio that takes a minute to open.

Drop in a PDF up to 25 MB and get a smaller one back. Most of the saving comes from images — a scanner or a phone camera embeds far more pixels than a page ever displays — so a document that is mostly scanned pages shrinks dramatically, while one that is mostly text and vector graphics is already near its floor and will barely move. That is expected, not a failure: there is nothing left to squeeze.

The result screen shows both sizes and the percentage saved, so you can decide whether to keep it before you download.

Where it stops: compression is lossy on images by design. For a document heading to a printer, compress after approval, never before — and keep the original.

Open Compress PDF

Automating any of them

Everything above has a REST endpoint behind the same renderer. The one prerequisite is an API key:

  1. Create a free account — API access is included in the free tier, no card required.
  2. Sign in and open cabinet → API tokens.
  3. Issue a token and copy it right away — the plaintext key is shown once. The same screen revokes keys you no longer use.
curl -X POST https://erp2pdf.com/api/v1/html-to-pdf \
  -H "Authorization: Bearer $ERP2PDF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html":"<h1>Invoice 4821</h1>","page_size":"a4"}' \
  --output invoice.pdf

Three endpoints — /api/v1/markdown-to-pdf, /api/v1/html-to-pdf and /api/v1/url-to-pdf — each returning application/pdf directly, with no job to poll. Full schemas and a live console are in the API documentation.

Which tool for which job

You have…Use
A .md file, notes, an LLM answerMarkdown → PDF
Your own HTML and CSS, exact layoutHTML → PDF
A live web page to archiveURL → PDF
A PDF that is too large to sendCompress PDF
Product data in Odoo or a databaseThe catalog editor

When the free tools are the wrong answer

They are document converters. They stop being the right tool the moment the output is a designed layout driven by data: a product catalog, a pricelist, a spec sheet where blocks sit at fixed positions and the content comes from an ERP rather than from someone typing.

That is what the paid product does — a visual template editor, an Odoo connector, per-partner language on every static label, and print-grade CMYK output with ICC profiles for an actual press. If you find yourself pasting the same layout into HTML → PDF for the fiftieth product, that is the signal.

The editor demo runs without an account — open it, drop a few products on a page, and export a PDF to see whether it fits your work.

Try the editor demo See what the product does