PPTX Template Syntax

Learn how to create PowerPoint templates with placeholders that will be replaced with your data.

Basic Placeholders

The simplest placeholder syntax is {{variable_name}}. When you merge data, each occurrence of {{variable_name}} will be replaced with the corresponding value from your data source.

Example

If your data contains:

{
  "name": "John Doe",
  "company": "Acme Corp"
}

And your PowerPoint slide contains:

Welcome {{name}} from {{company}}

The result will be:

Welcome John Doe from Acme Corp

Placeholder Rules

  1. Case Sensitive: Placeholder names are case-sensitive. {{Name}} and {{name}} are different placeholders.

  2. Spaces: Spaces in column headers are preserved. {{First Name}} works if your Excel column header is "First Name". However, for consistency, using underscores ({{first_name}}) is recommended.

  3. Special Characters: Placeholder names should contain letters, numbers, underscores, and spaces (when matching column headers).

Available Placeholders Reference

Here's a comprehensive table of all available placeholder types you can use in your PowerPoint templates:

Placeholder Example Short Description
Basic text {{name}} Replaces with value from data source (Excel column header, JSON property, or CSV column)
Nested property {{user.name}} Accesses nested object properties using dot notation
JSON global access {{json.user.name}} Accesses nested JSON properties from root using json. prefix
Array element {{skills[0]}} Accesses array elements using square bracket notation with zero-based index
JSON array element {{json.projects[0].name}} Accesses nested array elements in JSON data
Excel cell {{xlsx.Sheet1!A1}} References a specific cell in an Excel worksheet
Excel named range {{xlsx.Sheet1!ChartTitle}} References a named range in Excel
Excel table {{xlsx.Sheet1!Table1}} References an Excel table (formatted table with name)
Image (simple) {{photo_url}} Replaces image placeholder - set in image Alt-text field
Image (explicit) {{type=image data=photo_url}} Explicit image placeholder syntax - set in image Alt-text field
QR code {{data=contact_info type=qr}} Generates QR code from data - set in image Alt-text field
Table (Excel) {{type=table data=xlsx.Sheet1!Table1}} Automatically populates table from Excel table - set in table name or Alt-text
Table with columns {{type=table data=xlsx.Sheet1!Table1 columns="col1,col2"}} Populates table with specific columns in specified order
Table with filter {{type=table data=xlsx.Sheet1!Table1 dataFilter="ID eq {{ID}}"}} Populates filtered table rows based on condition
Table (JSON) {{json.items}} or {{items}} Automatically populates table from JSON collection - set in table name
Chart {{type=chart data=xlsx.Sheet1!Table1}} Populates chart from Excel table - set in chart Alt-text field
Chart (JSON) {{type=chart data=json.salesData}} Populates chart from JSON collection - set in chart Alt-text field

Note:

  • Text placeholders go directly in text boxes, table cells, shapes, or notes
  • Image and QR code placeholders must be set in the Alt Text field of an image placeholder
  • Table and chart placeholders should be set in the table/chart Alt Text Description field

Working with Text Boxes

Placeholders work in any text element in PowerPoint:

  • Text boxes
  • Placeholders
  • Table cells
  • Shapes with text
  • Notes - You can use placeholders in slide notes as well
  • Chart titles - Reference Excel cells or named ranges for dynamic chart titles

Working with Images

To replace images, insert an image placeholder and set its Alt Text (alternative text) to the placeholder expression:

  1. Insert any image as a placeholder
  2. Right-click → Format Picture → Alt Text
  3. Set Description to: {{photo_url}} or {{type=image data=photo_url}}

Example data:

{
  "logo": "https://example.com/logo.png",
  "photo": "/path/to/photo.jpg"
}

Set Alt-text to: {{logo}} or {{photo}}

See: Images in PPTX Template for details.

Advanced Features

Nested Data

If your data has nested objects, use dot notation:

{
  "user": {
    "name": "John",
    "email": "john@example.com"
  }
}

Use {{user.name}} and {{user.email}} in your template.

For JSON data, you can also use global addressing: {{json.user.name}}

Arrays and Lists

For array data, use square bracket notation:

{
  "skills": ["JavaScript", "Python", "SQL"],
  "projects": [{"name": "Project A"}]
}

Reference with: {{skills[0]}} or {{projects[0].name}}

For JSON: {{json.skills[0]}}

Excel-Style Addressing

When working with Excel files, you can address:

  • Cells: {{xlsx.Sheet1!A1}}
  • Named ranges: {{xlsx.Sheet1!ChartTitle}}
  • Excel tables: {{xlsx.Sheet1!Table1}}

Tables and Charts

You can automatically populate tables and charts:

  • Tables: {{type=table data=xlsx.Sheet1!Table1 columns="col1,col2"}}
  • Charts: {{type=chart data=xlsx.Sheet1!Table1}}

Set these expressions in the table/chart name (Selection Pane) or Alt Text Description.

See: Tables in PPTX Template and Charts in PPTX Template for details.

Best Practices

  1. Test with Sample Data: Always test your template with a small sample of data first.

  2. Use Descriptive Names: Use clear, descriptive placeholder names like {{employee_name}} instead of {{n}}.

  3. Handle Missing Data: Consider what should happen if a data field is missing. The placeholder will be replaced with an empty string.

  4. Formatting: Text formatting (bold, italic, colors) in your template will be preserved in the merged result.

Common Issues

  • Placeholders Not Replaced: Check that the placeholder name exactly matches the field name in your data (case-sensitive).

  • Special Characters: If your data contains HTML or special characters, they may need to be escaped.

For more help, see the Troubleshooting Guide.