Markdown in PDF umwandeln
Ein Werkzeug, das eine Markdown-Datei in ein formatiertes PDF umwandelt: Überschriften, Listen, Tabellen und Codeblöcke werden automatisch gesetzt und behalten ihre Struktur. Gedacht für Entwickler, technische Autoren und alle, die eine README-Datei, Dokumentation oder Notizen als PDF weitergeben möchten, ohne Pandoc zu installieren.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Was aus dem Markdown wird
Sie laden eine .md-Datei hoch oder fügen den Text ein. Überschriften werden zu PDF-Überschriften, Aufzählungen zu Listen, Tabellen behalten Spalten und Ausrichtung, Codeblöcke erscheinen in Monospace-Schrift mit grauem Hintergrund. Links bleiben als klickbare Verweise im PDF erhalten, sodass eine technische Dokumentation auch nach der Umwandlung navigierbar bleibt. Das Ergebnis steht innerhalb weniger Sekunden zum Herunterladen bereit, ohne dass eine zusätzliche Vorschau nötig ist.
Für wen sich das eignet
README-Dateien, Changelogs, interne Dokumentation oder ein in Markdown geschriebener Projektbericht – überall dort, wo Entwickler ohnehin in Markdown schreiben, aber ein PDF zum Weiterleiten an Kunden oder das Management brauchen, spart dieses Werkzeug den Umweg über ein Textverarbeitungsprogramm. Auch für Bewerbungsunterlagen, die als Markdown-Lebenslauf gepflegt werden, ist die Umwandlung eine schnelle Möglichkeit, ein sauberes PDF zu erzeugen, ohne das Layout von Hand nachzubauen.
Preis pro Seite
Der Preis liegt bei $0.040 pro Anfrage plus $0.001 pro Seite. Eine typische README mit zwei bis drei Seiten kostet damit rund $0.042 bis $0.043. Bezahlt wird direkt über PayPal, ohne Abonnement und ohne Konto – jede Umwandlung einzeln. Der genaue Betrag steht bereits vor dem Hochladen auf dieser Seite und ändert sich nicht im Nachhinein, auch nicht bei einer längeren Dokumentation.
Auch für automatisierte Builds
Die Hauptoberfläche ist diese Seite im Browser: Text einfügen oder Datei hochladen, PDF herunterladen. Wer die Umwandlung bei jedem Release automatisch auslösen möchte – etwa um aus dem Changelog automatisch ein PDF für Kunden zu erzeugen –, nutzt dieselbe Funktion per API in der eigenen Pipeline. Eine App für iOS und Android ist in Vorbereitung, für den schnellen Export unterwegs.
Anwendungsfälle
README für Kunden
Lukas Fischer pflegt die Dokumentation seines Tools als README in Markdown und wandelt sie vor jedem größeren Release in ein PDF um, das er Kunden ohne GitHub-Zugang schicken kann.
Interner Projektbericht
Ein Team schreibt den wöchentlichen Statusbericht in Markdown, weil das im Editor am schnellsten geht, und wandelt ihn für das Management in ein PDF um.
Lebenslauf aus Markdown
Anna Hoffmann pflegt ihren Lebenslauf als Markdown-Datei mit Versionskontrolle und erzeugt daraus das PDF, das sie tatsächlich verschickt.
Changelog als Kundendokument
Bei jedem Release wird der Changelog automatisch per API in ein PDF umgewandelt und an Kunden mit Support-Vertrag verschickt.
Häufige Fragen
Werden Tabellen und Codeblöcke wirklich korrekt dargestellt?
Ja. Tabellen behalten Spalten und Ausrichtung, Codeblöcke erscheinen in Monospace-Schrift mit Hintergrund. Bei sehr breiten Tabellen kann eine Zeile umbrechen – für die meisten technischen Dokumente ist das Ergebnis direkt verwendbar.
Was passiert mit meiner Datei nach der Umwandlung?
Sie wird verarbeitet, um das PDF zu erzeugen, und danach gelöscht. Es findet keine dauerhafte Speicherung statt.
Was kostet eine Umwandlung?
$0.040 pro Anfrage plus $0.001 pro Seite. Eine README mit drei Seiten kostet rund $0.043.
Muss ich Pandoc oder ein anderes Programm installieren?
Nein. Die Umwandlung läuft vollständig auf dieser Seite; Sie brauchen nur einen Browser.
Werden Links im PDF anklickbar?
Ja, interne und externe Links aus der Markdown-Datei bleiben als klickbare Verweise im PDF erhalten.
Gibt es ein Limit für die Dateigröße?
Die Datei darf bis zu 25 MB groß sein, das PDF bis zu 200 Seiten umfassen.
Ist Support auf Deutsch verfügbar?
Der Support antwortet per E-Mail oder WhatsApp, derzeit auf Englisch und Spanisch. Schreiben Sie uns gern auf Deutsch.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/pdf/from-markdown \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/from-markdown", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/from-markdown",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/from-markdown", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/from-markdown", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pdf": "https://ejemplo.com/documento.pdf"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.from_markdown",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
max_pages | 200 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
413 | input_too_large | Die Eingabe überschreitet das Größenlimit dieser Aufgabe – die genaue Grenze steht auf der Seite. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |