BatchCanvas converts any spreadsheet into print-ready documents in 3 sequential steps:
1 Pick Preset or Upload Background Artwork
Choose from built-in templates (Diploma, Hackathon Tech Cert, Summit Badge, VIP Pass) or upload your custom high-resolution SVG/PNG in the Designer tab.
2 Import CSV & Match Columns
Switch to the Data & Photos tab and import your attendee CSV. Columns auto-map to your document layers, and photos match by filename.
3 Preview Physical Print Scale & Download
Verify with physical millimeter ($mm$) rulers in PDF Preview, then export 1-per-page PDFs, multi-up grid sheets, or a high-DPI ZIP archive.
The Designer tab features an interactive canvas with 8-point resize handles, centerline snapping, keyboard nudges, and dynamic inspector controls:
Text Auto-Fit Modes:
Auto-Shrink: Automatically reduces font size so long names never overflow their bounding box.
Wrap Lines: Wraps multi-line descriptions and course titles cleanly.
Condense: Dynamically tightens character tracking to preserve typographic hierarchy.
Typography Controls: Customize font family, maximum/minimum font size, letter spacing, line height, text stroke width, and drop shadow blur.
1-Click Alignment Toolbar: Instantly align elements to Left, Center, Right, Top, Middle, Bottom, or Distribute Horizontally/Vertically.
Keyboard Shortcuts:
Arrow Keys: 1px precision nudge.
Shift + Arrow Keys: 10px coarse nudge.
Delete / Backspace: Delete selected layer.
Pro Tip: Upload custom organization fonts (.ttf, .otf, .woff2) using the Upload Font button in the left panel to match exact brand guidelines.
Data Ingestion
Bulk Generating Certificates with Google Forms & CSV
BatchCanvas includes multi-platform header intelligence designed for major event ticketing and registration exports:
Supported Platform Header Formats:
Google Forms: Auto-maps question headers (e.g. What is your Full Name? (Required)), Timestamp, and custom fields.
Eventbrite: Auto-maps Attendee Name, Ticket Type, and Order ID.
Zoom Webinars: Auto-maps First Name, Last Name, and Registration Time.
Typeform & Custom CSVs: Strips UTF-8 BOM, brackets, and extra punctuation automatically.
Zero-Friction Templates
Downloadable Sample CSV Schemas
To ensure 100% effortless batch processing, use or download these 3 ready-made starter spreadsheets:
Template 1Certificates & Diplomas (4 Columns)
name,course,date,card_id
Alexander Chen,Masterclass in AI Engineering,August 25 2026,CERT-001
Sarah Miller,UI/UX Product Architecture,August 25 2026,CERT-002
Marcus Vance,Advanced Cloud Infrastructure,August 25 2026,CERT-003
Template 2Summit Badges with Photos & Roles (5 Columns)
name,role,company,photo,card_id
Elena Rostova,Keynote Speaker,DeepMind Robotics,elena_rostova.jpg,VIP-101
Jordan Lee,Lead Architect,Vercel Edge,jordan_lee.png,VIP-102
Priya Patel,Hackathon Finalist,MIT Media Lab,priya_patel.jpg,VIP-103
Template 3Competitions & Award Rankings (4 Columns)
name,category,rank,date
David Kim,Algorithmic Trading Track,1st Place Winner,2026-08-25
Maya Lin,Generative Media Track,Grand Finalist,2026-08-25
New in Engine v2.0
Multi-Format Data Ingestion & Interactive Table Editor
BatchCanvas accepts data from all popular spreadsheet and database formats with zero server pings:
1. Microsoft Excel (.xlsx / .xls)
Upload raw Excel workbooks directly. The engine parses sheet cells client-side, extracts column headers, and presents the column mapping modal automatically.
2. JSON Attendee Arrays
Export registration lists from custom internal databases or webhook payloads as [{"name": "Alice", "role": "Speaker"}] and drop directly into the Data tab.
3. Clipboard TSV / CSV Paste
Click Paste TSV/CSV, copy selected cells directly from Google Sheets or Excel, and paste them into the modal. The parser detects tab-delimiters and maps rows instantly.
4. In-App Interactive Table Editor
Fix spelling mistakes on the fly without re-exporting spreadsheets. Double-click any cell in the Active Attendee Records table to edit, add blank rows with + Add Row, or remove individual records.
Photo Matching
Offline Batch Participant Photo Matcher
Never upload attendee headshots to slow cloud storage. BatchCanvas matches local photos on your hard drive directly to spreadsheet rows:
How It Works:
Name your photo files to match attendee names or IDs (e.g. alexander_chen.jpg or CERT-001.png).
Click Batch Upload Photos in the Data tab or drag photos directly onto the canvas photo box.
The matching engine binds images to rows using fuzzy normalization (case-insensitive, space/underscore agnostic).
Verification
Dynamic Vector QR & Barcode Generator
Add scannable verification codes to certificates and badges with zero external API calls:
Click + QR Code or + Barcode in the overlay panel.
Set the bound CSV column to card_id or a verification URL (e.g. https://verify.acme.edu/check?id=CERT-001).
The client-side engine calculates the exact QR matrix and renders sharp vector modules on every participant page.
Print Geometry
PDF Print Engine & Millimeter Ruler
Print-ready documents require calibrated physical millimeter scaling and layout flexibility:
Print Layout Modes:
Single Page Per Record: Generates 1 full page per record (A4/Letter Landscape or Portrait) for certificates and diplomas.
Multi-Up Grid Presets:
1×1 Full Page
2×2 (4 Cards per sheet)
2×3 (6 Badges per sheet — Standard Lanyard Size)
2×4 (8 Passes per sheet)
3×3 / 3×4 (9–12 Mini Tags per sheet)
Interactive Sheet Yield & Paper Cost Estimator
Test sheet layouts, card dimensions, and attendee counts in real-time below:
Mail-Merge Ready
Individual Single-PDFs (.zip) Generation
While print sheets bundle multiple cards onto single physical sheets, email distribution and mail-merge workflows require individual standalone PDF files:
Key Advantages:
1-Page Per Document: Each participant receives their own standalone 1-page PDF document cleanly fitted to paper bounds.
Stream Compression: Utilizes PDF-lib object streams (useObjectStreams: true) reducing total archive download weight by 30–50%.
Automated Naming: Each file inside the ZIP is automatically named {Name}_{ID}.pdf, allowing mail-merge extensions (e.g. YAMM, Mail Merge for Gmail, Outlook) to match attachments to attendee rows effortlessly.
Batch Production
Bulk Production & Custom Filename Tokens
Produce thousands of output files locally in browser memory using dynamic tokens:
Fit to worst-case record — scans every row, finds the longest value in
each field and resizes so nothing overflows anywhere in the batch, then jumps to the worst
one.
Conditional layers — show or hide a layer per record ("Gold ribbon if
score ≥ 90"), or swap its text ("INCOMPLETE if score < 50").
Copy style… — copy one layer's typography and colour onto others. Never
copies geometry.
Encoded content template — make a QR scan to a real URL:
https://verify.yoursite.org/cert/{card_id}, resolved per row from any column.
Sign-off & proof:
Review status — mark rows Approved, Needs review or Rejected, filter the
table by it, and the export follows the filter. A sign-off that does not decide what gets
written is not a sign-off.
Build Proof Sheet (PDF) — every card as a row-numbered thumbnail on one
page. Print it, mark it up, get it approved before the real run.
Redact personal data in this export — replaces every text value with a
placeholder so a proof can go to a client without handing them the roster. Photos and QR
codes are left alone.
Save as Template — keep the artwork, layers and print setup without the
rows, so the next job starts from the same design.
Export profiles — save a whole print setup (paper, grid, bleed, crop
marks, DPI) under a name.
Shortcut: press Ctrl + K anywhere in the studio for the
command palette — every tool, layer and record is searchable from one box.
High-Performance Engine
Multi-Core Web Workers & Background Tab Exports
BatchCanvas harnesses your computer's full hardware potential while preserving browser responsiveness:
1. Dynamic Thread Tuning
In the Settings tab, configure thread allocation: Balanced Mode (cores / 2 for smooth multitasking), High Performance (up to 6 parallel cores for maximum speed), or Quiet Mode (1 thread for laptop battery preservation).
2. Zero-Copy Transferable Memory
Workers render cards headlessly using OffscreenCanvas and transfer raw ArrayBuffers directly via postMessage transfer lists, achieving true zero-copy throughput without thread serialization stalls.
3. Adaptive Tab Throttling Mitigation
Modern browsers throttle inactive tabs to 1 execution per second. When document.hidden is detected, our adaptive scheduler batches 15 cards per microtask, keeping exports fast even when minimized.
4. Hardware WebP & Live Telemetry HUD
Export in native WebP format to cut ZIP download sizes by up to 60% with instant hardware compression. The floating HUD displays humanized multi-unit duration (e.g. Elapsed: 1m 12s · Remaining: ~48s), a 60fps lerp progress bar, and real-time worker load meters (T1: 16, T2: 16).
Compliance
100% Offline Zero-Cloud Privacy
BatchCanvas is engineered with zero backend upload endpoints:
Zero Data Transmission: Student names, national IDs, and attendee photos never leave your device's memory.
Cookieless Analytics Only: We count page views with Vercel Web Analytics — no cookies, no fingerprinting, no advertising or cross-site trackers, and no personal data collected. It reports an anonymous page count and nothing about your documents.
FERPA & GDPR Compliant: Ideal for universities, healthcare institutions, and enterprise tech conferences.
Zero Server Costs: Run 100,000 document batches with $0 cloud server or API costs.
Do I need an account or a paid plan to export a batch?
No. BatchCanvas runs entirely in your browser with no account, no server and no upload step. The free tier exports the full batch; a license only removes the optional watermark.
Where does my spreadsheet and my participants' photos go?
Nowhere. Spreadsheet parsing, canvas rendering, QR generation and PDF compilation all execute on your own device, and the files are stored in your browser's local storage. Closing the tab clears the workspace unless you saved a snapshot or a project file.
Why do my photos not appear on the cards?
Photos are matched by filename against a spreadsheet column. Select the image field, and the inspector reports how many of your rows the bound column actually matches. A column that matches nothing shows a warning instead of silently falling back to placeholder art.
What is the difference between 96 and 300 DPI?
Both are render profiles applied to your template. 300 renders a 3.125x larger raster, which matters for large-format print such as A3 signage; the effective DPI still depends on your template's pixel dimensions and the chosen paper size. The print preflight spec lists the measured numbers.
Some cards in my export are missing. What happened?
A partial export now names every skipped record and the reason, and offers a Retry action that re-runs only those records. You can also download the skipped rows as CSV to fix the source data.
Can I stop a large export halfway?
Yes. Bulk generation yields between records so the tab stays responsive, and an interrupted ZIP run leaves a checkpoint you can resume. Very large templates multiplied by hundreds of records can exhaust browser memory, so smaller batches are more reliable than one enormous run.
Does it work offline?
Yes, once the page has loaded. The studio, the renderer and the export engines are all client-side, so you can disconnect and keep designing, exporting and printing. The only network activity is an optional anonymous page-view and export counter, which you can switch off in Settings.