Your files stay on your Mac.
Convertessa runs each .md file through Pandoc and lays the result out as a paginated PDF — headings, lists, tables, footnotes, blockquotes and fenced code all intact, links still clickable. Page size, margins and typeface come from the layout, since Markdown carries none of them. Feed it one note or an entire documentation folder; everything is typeset on your Mac and nothing is uploaded.
Markdown was designed in 2004 to be readable as plain text first and marked-up text second. It describes structure — this is a heading, this is a list item, this is code — and says nothing whatsoever about a page. There is no paper size in a .md file, no margin, no typeface, no notion of where one page stops and the next begins. Converting to PDF is therefore not a translation between two ways of saying the same thing; it is a typesetting job, and the converter has to supply every decision the source never made.
Pandoc does the parsing. It builds a real document tree out of your Markdown, so headings become a genuine outline, pipe tables become tables, footnotes land at the bottom, inline links become clickable annotations, and fenced blocks keep their monospaced runs. Because it parses rather than pattern-matches, GitHub-flavoured extras such as task lists and strikethrough arrive as structure instead of stray punctuation.
Where people get caught out:
 is resolved from the document's own folder. Convert a copy that has drifted away from its images and the picture is simply missing from the PDF.Two more facts fall straight out of the format. Plain Markdown has no page-break marker, so where pages divide is decided by the layout rather than by you. And a --- block at the very top of the file is YAML front matter: metadata that the parser consumes, not body text that gets printed.
Before converting, check that anything referenced by a relative path still sits where the Markdown expects it. Pandoc resolves image links from the document's own folder, and a missing target leaves a silent gap in the PDF.
Drag one .md file or a whole docs directory onto the window. Each Markdown file becomes its own PDF — Convertessa converts them side by side rather than stitching the folder into a single document.
Pick PDF as the target and set the quality value, which governs how embedded raster images are compressed; text and rules are vector and unaffected by it. Document properties are cleared on the way out.
Images, audio, video, documents, archives, eBooks and fonts — all converted natively, right on your Mac.
Pick a format you have — see everything Convertessa can turn it into.
Convert hundreds of files at once with per-type group defaults and individual overrides.
First-class support for HEIC, AVIF and WebP — encode and decode, both ways. Read JPEG XL and a dozen more modern formats too.
Drop files anywhere on the window. Native, instant, and exactly what you’d expect on a Mac.
Dial in compression, resolution and bitrate. Keep originals pristine or shrink for sharing.
Never overwrite a file by accident. Convertessa appends safe suffixes automatically.
Every job is logged locally. Re-run a previous conversion or revisit recent outputs in a click.
Bundle your converted files straight into a single ZIP, TAR or 7z — packaged and ready to share the moment a job finishes.
Right-click any file in Finder and choose Convert. A Quick Action handles it on the spot — no need to open the app first.
Shrink Convertessa to a tidy mini window that tucks into a corner — just a drop zone and a format picker for quick, one-off conversions.
No cloud. No account. No upload. Every conversion happens entirely on-device, using the power already in your Mac. What you convert is nobody’s business but yours.
Script conversions, wire them into your build, or batch a folder from the terminal. The same engine, no GUI required.
Read the full CLI documentation →Shrink Convertessa down to a small, focused window — drop, convert, done, with your recent conversions one click away.
macOS 14+ · Apple Silicon & Intel
New formats, new features, and fixes — every release, on the record.
Almost always a path problem.  is resolved relative to the Markdown file, so converting a copy stored elsewhere breaks the link and the image is quietly omitted. Convert the file where it lives:
convertessa ~/Notes/report.md --to pdf -o ~/Exports
Absolute paths, or images kept in the same folder as the document, are the reliable options.
No. A mermaid fence is a fenced code block like any other, and it typesets as the literal text you wrote — graph TD and all. Diagram rendering is a separate engine that runs before conversion, not part of Markdown itself. If you need the picture in the PDF, export the diagram to an image first and reference that image from the Markdown.
Not from plain Markdown. The syntax has no page-break marker, because Markdown predates any notion of pagination — where one page ends is worked out by the layout as it flows your text. If a section must start fresh, structure the document so that it begins with a top-level heading and let the typesetting do the rest.
Yes. Pandoc reads pipe tables and grid tables and emits real tables in the PDF, with header rows kept as header rows. The practical limit is width: a table of a dozen columns full of long strings still has to fit inside the text block, and wide content gets squeezed. Fewer, shorter columns typeset far better on a portrait page.
The --- block is metadata, not content, so the parser consumes it instead of printing it as literal text in your document. Fields such as title and author are read as document metadata. Convertessa clears document properties on output, so what you put there does not travel onward with the finished PDF file.
That is font coverage, not a conversion failure. A PDF embeds the glyphs it draws, and a typeface with no character for an emoji or a CJK ideograph cannot draw one — you get a blank or a placeholder box. Latin text, punctuation and common symbols are safe. Anything outside the layout font's repertoire needs a font that covers that script.
No — the mapping is one input file, one output file. convertessa ./docs/*.md --to pdf -o ~/Exports produces a PDF per Markdown file, keeping the base names. Merging is a different operation altogether, so if you want one continuous document, concatenate the Markdown into a single .md first and convert that instead.
Code blocks are set verbatim, which is the whole point of them: whitespace and line breaks are preserved exactly. A line longer than the text block cannot be rewrapped without changing what the code says, so very long lines can run toward the margin. Breaking them in the source — at a pipe, a comma, or with a shell continuation — is the fix that keeps the PDF readable.