8 Templates · PDF / JPG / PNG · Instant Download

Generate professional
certificates instantly.

Fill in the details, pick a template and format, then download your certificate.

Certificate Details
PDF
JPG
PNG
Generate
Generating...
📜
certificate.pdf
Download Again
Choose Template
Base URL
Overview
CertSter exposes a single endpoint: /api/certificate. Use GET to list templates, and POST to generate a certificate. The POST endpoint streams the file back directly — no polling needed. Filename is auto-set to Certificate_<Name>_<Template>-Ahm7xMakki.pdf.
Endpoints
GET /api/certificate?action=templates

Returns the full list of available certificate templates with their IDs.

CURL

          
RESPONSE
{
  "success": true,
  "count": 8,
  "templates": [
    { "id": 1, "name": "Modern" },
    { "id": 2, "name": "Dark Background" },
    ...
  ]
}
POST /api/certificate

Generates a certificate and streams back the file binary directly. Takes 3–8 seconds.

FieldTypeStatusDescription
namestringrequiredRecipient's full name
datestringrequiredDate shown on the certificate
signaturestringrequiredSigning authority name
detailsstringrequiredBody text / reason for the certificate
templateIdnumberrequiredTemplate number 1–8 (from /api/certificate?action=templates)
formatstringoptional"pdf" (default), "jpg", or "png"
returnUrlbooleanoptionalIf true, returns JSON with the render URL instead of the file stream
CURL — download file

          
CURL — get URL only (returnUrl: true)

          
RESPONSE HEADERS (file stream)
Content-Type:        application/pdf
Content-Disposition: attachment; filename="Certificate_Muhammad_Makki_Modern-Ahm7xMakki.pdf"
Content-Length:      <bytes>
X-Template-Name:     Modern
X-File-Name:         Certificate_Muhammad_Makki_Modern-Ahm7xMakki.pdf
RESPONSE — returnUrl: true
{
  "success": true,
  "renderUrl": "https://...",
  "template": "Modern",
  "format": "pdf",
  "fields": { "name": "Muhammad Makki", "date": "01/01/2025", "signature": "Dr. Smith" }
}
Templates
IDName
JavaScript example
JAVASCRIPT

      
Error codes
400
Missing or invalid fields — response includes required fields list
502
Templated API did not return a render URL — retry
500
Internal server error
405
Wrong HTTP method — use GET or POST
CertSter APIREST · v1 · Free
Base URL
GET/api/certificatejson

List all certificate templates with IDs and previews.

ParamTypeDescription
actionstringrequired"templates"
Click Open → see live response in your browser
Open
POST/api/certificatejson

Generate a finished certificate (PDF or PNG).

ParamTypeDescription
namestringrequiredRecipient full name.
templateIdstringrequiredID from the templates list.
datestringoptionalDate to print.
signaturestringoptionalSignatory name.
detailsstringoptionalCourse/sub-title.
formatstringoptional"pdf" (default) or "png".
returnUrlbooleanoptionaltrue → JSON with hosted link.
Copy & run in your terminal
curl -X POST {ORIGIN}/api/certificate \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Doe","templateId":"1","details":"Web Dev","format":"pdf"}' \
  --output cert.pdf
POST endpoints can't be opened by clicking a URL — paste the curl above into your terminal, or call it with fetch() in code.