Text Template
Mustache-style {{path.to.value}} substitution. Takes a JSON data file plus a template parameter, returns the rendered text with a report of which placeholders matched and which were missing. Pairs with csv-json to render one document per row.
About Text Template
Text Template fills in Mustache-style {{path.to.value}} placeholders from a JSON data file, returning the rendered text plus a report of which placeholders matched and which were missing. Reach for it when you want to merge structured data into a document without writing a script. Combined with CSV to JSON, you can render one document per spreadsheet row, all in your browser.
- Category
- text
- Input
- Accepts: application/json or text/plain.
- Output
- Outputs: text/plain (multiple).
- Cost
- Free, runs in your browser
- Memory
- low
Common uses
- Render personalized email or letter bodies from a JSON record of customer fields
- Generate a batch of contracts or invoices, one per row, by pairing it with csv-json
- Fill a config-file template with environment-specific values from a JSON data set
- Build certificate or badge text where names and dates come from a data file
- Catch typos in a template early by reading the missing-placeholder report before sending
- Produce consistent release notes from a structured JSON changelog
Frequently asked questions
What templating syntax does it use?
Mustache-style {{ }} placeholders, including dotted paths like {{user.address.city}} to reach nested values in your JSON.
What do I provide as input?
A JSON data file plus a template string in the template parameter. The tool returns the rendered text/plain output.
What happens if a placeholder has no matching data?
It's listed in the report of missing placeholders, so you can see exactly which values didn't resolve rather than silently shipping blanks.
Can I render many documents at once?
Pair it with csv-json: convert your spreadsheet to JSON, then render the template once per row.
Is my data sent to a server?
No. The substitution runs entirely in your browser, so both the template and the JSON data stay on your device.
Keywords
- template
- mustache
- render
- substitute
- placeholder
- merge