🚀 DeckMedic · Sales Factory Suite · Tool 1 of 1
B2B sales reps and agency account managers spend hours manually editing pitch decks for every account. This tool replaces that entirely. Upload your template with {{FieldName}} placeholders and a leads CSV — every row becomes a fully personalized PPTX with the right company name, logo, and brand color. All 50 decks, ready in under a minute.
Zero upload
Files stay in your browser
Bulk output
One ZIP, every deck
Free
No account required
CSV → PPTX×N
One row = one deck
Step 1 · Template PPTX
Drop Template.pptx
Your master slide deck
with {{Placeholders}}
Step 2 · Leads CSV
Drop Leads.csv
One row per lead
Headers = your {{fields}}
CSV column guide
Any column
Maps to {{ColumnName}} in slides
Logo_URL
Fetches & swaps LOGO_PLACEHOLDER image
Brand_Color
Sets primary dark color e.g. #1E40AF
Company (first)
Used as output filename prefix
← drag handle to compare · left = before · right = after →
Parse CSV
The leads CSV is parsed with a full RFC 4180-compliant parser — handles quoted fields, embedded commas, embedded newlines, and the Excel UTF-8 BOM prefix. Each row becomes a key–value map where keys are column headers.
Merge text nodes + replace placeholders
For each row, a fresh copy of the template is loaded. Before replacement, mergeTextNodes() re-joins any <a:t> runs that spell-check has split — ensuring {{Company}} is found even if PowerPoint stored it as {{ + Company}}. Then every {{FieldName}} is replaced with the XML-escaped row value.
Logo swap (optional)
If a Logo_URL column is present, the tool searches all slide XMLs for a <p:pic> element with descr="LOGO_PLACEHOLDER". It finds the image's relationship ID, resolves the ppt/media/ path via the rels file, and overwrites the binary with the fetched logo. The image dimensions and position in the slide are preserved exactly.
Brand color (optional)
If a Brand_Color column contains a hex value (e.g. #1E40AF), the tool opens every ppt/theme/theme*.xml and replaces the <a:dk1> element with <a:dk1><a:srgbClr val="1E40AF"/></a:dk1>. This changes every shape, line, and text that inherits the Primary Dark color from the theme.
Repack + ZIP
Each personalized deck is repacked as a valid PPTX (DEFLATE-compressed ZIP) and added to the output archive. The final Campaign_Results.zip contains all decks named CompanyName_1.pptx, CompanyName_2.pptx, etc.
Example CSV (headers define placeholders):
Company,First_Name,Industry,City,Logo_URL,Brand_Color
Acme Corp,Alice,Technology,New York,https://cdn.example.com/acme.png,#1E40AF
Beta Inc,Bob,Finance,Chicago,,#0F766E
Gamma Ltd,Carol,Healthcare,San Francisco,,
{{ColumnHeader}} in your slides.Logo_URL — full URL to the company logo image (PNG, JPG, WebP). Leave empty to skip logo swap.Brand_Color — 6-digit hex with or without #. Leave empty to skip color change.{{Company}} not [[Company]] or [Company]. The double-brace format is guaranteed not to appear in normal business text.LOGO_PLACEHOLDER.| Method | Speed | Privacy | Handles PPTX natively |
|---|---|---|---|
| Bulk Personalizer (this tool) | Instant — all decks in one pass | ✅ 100% local, zero upload | ✅ PPTX in, PPTX out, no conversion |
| Word mail merge + PDF print | Slow — requires Word + manual steps | ✅ Local | ❌ Outputs PDF, not editable PPTX |
| VBA macro | Fast once written | ✅ Local | ✅ Yes, but requires developer setup |
| SaaS mail merge tools | Fast | ❌ File uploaded to server | ⚠️ Varies — many require cloud storage |
Sales Teams
Send 50 personalized investor or prospect decks without copy-pasting names and logos into each one. Drop a CSV, download a ZIP.
Educators & Trainers
Generate individual certificate and results decks for every student or trainee from a single master template and attendance sheet.
Agencies & Consultants
Deliver white-labeled decks personalized to each client’s name, logo placeholder, and metrics in minutes, not hours.
Yes, as long as the file can be exported as .pptx. Canva, Beautiful.ai, Pitch, and Gamma all offer PPTX export. Open the exported file in PowerPoint, add your {{placeholders}}, set your LOGO_PLACEHOLDER alt text, save as .pptx, and upload here.
Yes. Export your contact or company list as CSV from any CRM — HubSpot, Salesforce, Pipedrive, Close.io, Apollo, Outreach, or any spreadsheet tool. Map the column headers to match your placeholder names in the template. The CSV parser handles all standard export formats including Excel BOM-prefixed UTF-8.
Leave the Logo_URL or Brand_Color cell empty for those rows. The tool skips those steps when the value is empty — text replacement still applies. You can mix rows with and without visual customization in the same campaign.
Yes. The output is standard OOXML (.pptx) with DEFLATE compression, identical to files saved by PowerPoint. Google Slides and Apple Keynote both open PPTX files. If your template uses Windows fonts (Calibri, Segoe UI) and no OLE objects, it will render correctly in both viewers.
Excel Link Surgeon →
Fix broken Excel OLE links so your personalized decks open clean on client machines.
Font Police →
Replace Mac-only fonts before delivering to Windows clients. Prevent layout breaks.
Metadata Wiper →
Remove author name and company from docProps before sending personalized decks.