Templates & Rendering
Template Export & Import
RenderStack lets you export templates as portable JSON files and import them into any organization. This enables sharing template designs across teams, backing up template configurations, and distribu
Exporting a Template#
To export a template:
- Go to Templates from the sidebar
- Find the template you want to export
- Click the three-dot menu on the template card
- Select Export
- A JSON file downloads to your computer named
{template-slug}-template.json
What's Included in the Export#
The export file contains everything needed to recreate the template:
- Template metadata — Name, slug, description, tags, dimensions, background color, output format, quality, and pixel density
- Canvas data — All elements with their full configuration (position, size, style, content)
- Layer schema — Dynamic layer definitions and API field mappings
- Percentage reference dimensions — Per-property
percentRefsettings ("width"or"height") for transform values (X, Y, Width, Height) and pin offsets, controlling whether percentage-based positioning resolves against the canvas width or height - Visibility rules — Conditional visibility logic for elements
- Fallback chains — Ordered fallback strategies for missing data
- Conditional groups — Group-level visibility logic
- Asset references — Images and fonts used in the template, converted to absolute public URLs
Asset URL Resolution#
When you export a template, internal asset paths (like /objects/...) are automatically converted to full public URLs using your platform's domain. This means the importing organization can load images and fonts from the original source without manually transferring files.
Percentage Reference Fields in Exported JSON#
When inspecting an exported template JSON file, you may see percentRef fields on elements and pin configurations:
- Transform properties —
percentRefX,percentRefY,percentRefW,percentRefHon each element indicate which canvas dimension (width or height) that property's percentage value resolves against. For example,"percentRefY": "width"means the element's Y position percentage is calculated relative to the canvas width rather than its height. - Pin offsets — Each pin edge object may include a
percentReffield ("width"or"height") that determines how percentage-based pin offsets are resolved.
The default value is "width" for all properties, which produces uniform spacing when templates are rendered at different aspect ratios. These fields are fully preserved during import, so responsive positioning behavior transfers exactly as designed.
Importing a Template#
To import a template:
- Go to Templates from the sidebar
- Click the Import button in the header area
- Select a
.jsonexport file from your computer - The template is created in your organization
What Happens During Import#
- The template is created as a draft (unpublished) so you can review it before making it live
- If the slug already exists in your organization, a timestamp is appended to make it unique
- Thumbnails are generated automatically so the template card shows a preview immediately
- All layer configurations, visibility rules, fallback chains, and conditional groups are preserved
- Asset URLs remain pointing to the original source — images and fonts load from where they were originally hosted
QR Code Feature Gating#
If the imported template contains QR code elements, your organization must have the QR codes feature enabled on your plan. If not, the import will be rejected with a clear error message.
Thumbnails#
Template thumbnails provide visual previews of your templates on the listing page.
Automatic Generation#
Thumbnails are automatically generated when you:
- Create a new template with elements
- Save changes to an existing template (when canvas data, background, or dimensions change)
- Import a template from a JSON file
- Duplicate an existing template
The thumbnail is generated synchronously and included in the API response, so it appears immediately in the UI without needing to refresh.
Manual Regeneration#
If a template is missing its thumbnail or you want to refresh it:
- Click the three-dot menu on the template card
- Select Regenerate Thumbnail
- A new thumbnail is generated and the card updates automatically
Permissions#
- Export requires the
templates:viewpermission — anyone who can view templates can export them - Import requires the
templates:createpermission — matching the permission needed to create templates - Regenerate Thumbnail requires the
templates:edit_ownpermission
Webhook Events#
Template import and duplication trigger webhook events:
| Event | Description |
|---|---|
template.created | Fired when a template is created (including via import) |
template.imported | Fired specifically when a template is imported from a JSON file |
template.duplicated | Fired when a template is duplicated |
Tips#
- Back up important templates by exporting them regularly
- Share templates across organizations by sending the JSON file
- Review imported templates in the editor before publishing — verify that fonts and images load correctly from the source URLs
- Re-upload assets to your own organization if you want the template to be fully self-contained rather than depending on the source organization's assets