CSV document generator
Document tools
Loading
Loading tool
The tool is loaded only when you open it.
All processing for this tool happens in your browser. Your input is not sent to a server.
About this tool
Turn CSV records into fixed name-badge, certificate or notice layouts without uploading personal data. Edit plain-text title and detail templates, preview each successful record, and download HTML, TXT or a bounded ZIP with an explicit row report.
Common uses
- Make event name badges while preserving names, organizations and leading-zero identifiers.
- Create printable certificates or individual notices and identify records that need correction before exporting a successful subset.
How to use it
- 1.Paste CSV or choose a local file with an explicit UTF-8/UTF-16LE/UTF-16BE encoding and delimiter. The first logical record is the header.
- 2.Choose a fixed layout and use literal placeholders such as {{name}} in title and details. Header spelling and spaces must match exactly; expressions and input HTML are not supported.
- 3.Generate, inspect the preview and per-row report, then download a selected HTML/TXT or ZIP. If any row failed, explicitly acknowledge the failures before exporting successful documents.
Limits and notes
- CSV: 2 MiB, 500 data rows, 128 columns and 50,000 cells including headers; templates: 10 KiB and 64 placeholders. HTML or TXT: 256 KiB each, combined result: 16 MiB, ZIP: 18 MiB. Reading and each worker request have a 10s deadline; exceeding a batch limit discards the whole result.
- Only fixed printable HTML and UTF-8 TXT are generated. No PDF, DOCX, imported office template, custom HTML, script, macro, expression, image or remote font. System fonts, paper size and pagination depend on the browser and printer.
- Malformed CSV, duplicate/blank headers and unknown placeholders reject the whole batch. Wrong-width records, blank referenced cells, invalid text and oversized documents produce per-row errors. Braces in templates are reserved for placeholders; CSV values are inserted only once.
- Everything stays in browser memory until download. No source or result persistence. Changes, cancellation and navigation discard pending results. Filenames are fixed ordinals; the JSON report omits input values, but generated documents contain the personal data you include.
Frequently asked questions
What does {{name}} mean?
It inserts the string from the exact header name. A value such as 001 stays 001. {{ name }} refers to a different header containing spaces; no expression is evaluated and inserted values are not parsed again.
What is a per-row failure?
For example, CSV name,organization followed by Alex,Team and ,Team produces one name badge and one blank-cell error when the title is {{name}}. Failed records produce no document; export stays disabled until you acknowledge the report.
How do I print the documents?
Download HTML, open the saved document and use your browser print command. Badge uses an A6 preference, certificate A4 landscape and notice A4. Browser and printer settings may override these preferences; PDF and DOCX are not generated.
Does the ZIP reveal names in filenames or reports?
No: document-0001.html and similar ordinals are based on source record order. report.json lists record numbers, status and diagnostics, not CSV values. The document content itself includes the substituted data and should be handled privately.