Badges
Visitor badge PDF API
Office visitor badge with host, expiration time, access zone, and QR-ready payload text. Designed for workplace tools and security desks. Send this LaTeX template and JSON data to Texify in one /render request.
JSON schema
Fields this template expects.
| Field | Type | Required | Description |
|---|---|---|---|
| attendee | object | Yes | Name, title, company, and ticket type. |
| event | object | Yes | Event name, date, venue, and brand color. |
| qr_code | string | Yes | Check-in or profile URL rendered as monospaced QR-ready payload. |
| track | string | No | Conference track or access group. |
API examples
POST LaTeX and JSON. Receive PDF bytes.
cat > visitor-badge-payload.json <<'JSON'
{
"entrypoint": "main.tex",
"resources": {
"main.tex": "\\documentclass[10pt]{article}\n\\usepackage[paperwidth=4in,paperheight=6in,margin=0.25in]{geometry}\n\\usepackage{xcolor}\n\\pagestyle{empty}\n\\begin{document}\\sffamily\n\\begin{center}\n{\\Large\\bfseries [[ .event.name ]]}\\\\\n[[ .event.date ]] --- [[ .event.venue ]]\\\\[0.35in]\n{\\Huge\\bfseries [[ .attendee.name ]]}\\\\[0.12in]\n{\\large [[ .attendee.title ]]}\\\\\n{\\large [[ .attendee.company ]]}\\\\[0.25in]\n\\fbox{\\begin{minipage}{0.82\\linewidth}\\centering\\vspace{0.28in}\n{\\large\\texttt{[[ .qr_code ]]}}\\\\[5pt]\n\\small QR-ready payload\n\\vspace{0.28in}\\end{minipage}}\\\\[0.25in]\n{\\Large\\bfseries [[ .attendee.ticket ]]}\\\\[0.08in]\n[[ with .track ]]Track: [[ . ]][[ end ]]\n\\end{center}\n\\end{document}"
},
"data": {
"attendee": {
"name": "Alex Morgan",
"title": "Visitor",
"company": "Northstar Labs",
"ticket": "Day pass"
},
"event": {
"name": "HQ Visit",
"date": "2026-07-07",
"venue": "Floor 8"
},
"qr_code": "VISITOR-2026-812",
"track": "Engineering"
}
}
JSON
curl -sS -X POST https://api.texify.dev/render \
-H "Content-Type: application/json" \
--data @visitor-badge-payload.json \
--output visitor-badge.pdfimport json
import requests
payload = json.loads(r'''{
"entrypoint": "main.tex",
"resources": {
"main.tex": "\\documentclass[10pt]{article}\n\\usepackage[paperwidth=4in,paperheight=6in,margin=0.25in]{geometry}\n\\usepackage{xcolor}\n\\pagestyle{empty}\n\\begin{document}\\sffamily\n\\begin{center}\n{\\Large\\bfseries [[ .event.name ]]}\\\\\n[[ .event.date ]] --- [[ .event.venue ]]\\\\[0.35in]\n{\\Huge\\bfseries [[ .attendee.name ]]}\\\\[0.12in]\n{\\large [[ .attendee.title ]]}\\\\\n{\\large [[ .attendee.company ]]}\\\\[0.25in]\n\\fbox{\\begin{minipage}{0.82\\linewidth}\\centering\\vspace{0.28in}\n{\\large\\texttt{[[ .qr_code ]]}}\\\\[5pt]\n\\small QR-ready payload\n\\vspace{0.28in}\\end{minipage}}\\\\[0.25in]\n{\\Large\\bfseries [[ .attendee.ticket ]]}\\\\[0.08in]\n[[ with .track ]]Track: [[ . ]][[ end ]]\n\\end{center}\n\\end{document}"
},
"data": {
"attendee": {
"name": "Alex Morgan",
"title": "Visitor",
"company": "Northstar Labs",
"ticket": "Day pass"
},
"event": {
"name": "HQ Visit",
"date": "2026-07-07",
"venue": "Floor 8"
},
"qr_code": "VISITOR-2026-812",
"track": "Engineering"
}
}''')
response = requests.post(
"https://api.texify.dev/render",
json=payload,
timeout=90,
)
response.raise_for_status()
with open("visitor-badge.pdf", "wb") as pdf:
pdf.write(response.content)import { writeFile } from "node:fs/promises";
const payload = {
"entrypoint": "main.tex",
"resources": {
"main.tex": "\\documentclass[10pt]{article}\n\\usepackage[paperwidth=4in,paperheight=6in,margin=0.25in]{geometry}\n\\usepackage{xcolor}\n\\pagestyle{empty}\n\\begin{document}\\sffamily\n\\begin{center}\n{\\Large\\bfseries [[ .event.name ]]}\\\\\n[[ .event.date ]] --- [[ .event.venue ]]\\\\[0.35in]\n{\\Huge\\bfseries [[ .attendee.name ]]}\\\\[0.12in]\n{\\large [[ .attendee.title ]]}\\\\\n{\\large [[ .attendee.company ]]}\\\\[0.25in]\n\\fbox{\\begin{minipage}{0.82\\linewidth}\\centering\\vspace{0.28in}\n{\\large\\texttt{[[ .qr_code ]]}}\\\\[5pt]\n\\small QR-ready payload\n\\vspace{0.28in}\\end{minipage}}\\\\[0.25in]\n{\\Large\\bfseries [[ .attendee.ticket ]]}\\\\[0.08in]\n[[ with .track ]]Track: [[ . ]][[ end ]]\n\\end{center}\n\\end{document}"
},
"data": {
"attendee": {
"name": "Alex Morgan",
"title": "Visitor",
"company": "Northstar Labs",
"ticket": "Day pass"
},
"event": {
"name": "HQ Visit",
"date": "2026-07-07",
"venue": "Floor 8"
},
"qr_code": "VISITOR-2026-812",
"track": "Engineering"
}
};
const response = await fetch("https://api.texify.dev/render", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
signal: AbortSignal.timeout(90_000),
});
if (!response.ok) throw new Error(await response.text());
const pdf = Buffer.from(await response.arrayBuffer());
await writeFile("visitor-badge.pdf", pdf);The template
LaTeX source sent as resources["main.tex"].
\documentclass[10pt]{article}
\usepackage[paperwidth=4in,paperheight=6in,margin=0.25in]{geometry}
\usepackage{xcolor}
\pagestyle{empty}
\begin{document}\sffamily
\begin{center}
{\Large\bfseries [[ .event.name ]]}\\
[[ .event.date ]] --- [[ .event.venue ]]\\[0.35in]
{\Huge\bfseries [[ .attendee.name ]]}\\[0.12in]
{\large [[ .attendee.title ]]}\\
{\large [[ .attendee.company ]]}\\[0.25in]
\fbox{\begin{minipage}{0.82\linewidth}\centering\vspace{0.28in}
{\large\texttt{[[ .qr_code ]]}}\\[5pt]
\small QR-ready payload
\vspace{0.28in}\end{minipage}}\\[0.25in]
{\Large\bfseries [[ .attendee.ticket ]]}\\[0.08in]
[[ with .track ]]Track: [[ . ]][[ end ]]
\end{center}
\end{document}Live render
Try sample data now.
Posts this LaTeX template and sample JSON to /render, then opens the returned PDF bytes.
{
"attendee": {
"name": "Alex Morgan",
"title": "Visitor",
"company": "Northstar Labs",
"ticket": "Day pass"
},
"event": {
"name": "HQ Visit",
"date": "2026-07-07",
"venue": "Floor 8"
},
"qr_code": "VISITOR-2026-812",
"track": "Engineering"
}FAQ
FAQ
Can I use Visitor badge as a visitor badge PDF API?
Yes. Copy the LaTeX template, send it in resources with your data to /render, and Texify returns PDF bytes.
Can I change colors, copy, or field names?
Yes. Edit the LaTeX source and JSON placeholders to match your data model and brand before posting to /render.
Does this render real PDF text?
Yes. Texify compiles LaTeX to PDF, so text remains selectable, searchable, and stable across environments.
Related templates
More LaTeX PDF templates.
Badges
Conference badge
Printable event badge with attendee name, company, ticket tier, track, and QR-ready payload text. Good for conference platforms and check-in tools.
Letters
Formal letter
Business letter template with sender block, recipient block, subject, body paragraphs, and signature. Good for notices, approvals, and generated correspondence.
Certificates
Course certificate
Elegant completion certificate for online courses, LMS products, and developer education platforms. Designed to print well while keeping verification ids visible.