Text Templates
Create reusable templates with fill-in-the-blank variables.
How it works
- 1
Create a template
Write your template using {{variableName}} for placeholders.
- 2
Fill in variables
Click Use to open the fill view and enter values for each variable.
- 3
Copy the result
Copy the filled text with one click and paste it anywhere.
Common use cases
Bug report template
Template with {{component}}, {{expected}}, {{actual}}, {{steps}}
Email follow-up
Template with {{name}}, {{topic}}, {{nextStep}}, {{deadline}}
About This Tool
Build a personal library of reusable text templates with {{variable}} placeholders. Perfect for recurring emails, bug reports, meeting notes, commit messages, and more. Fill in the blanks and copy the result in one click. All templates are stored locally in your browser using IndexedDB.
**How templates work**
Create a template by writing your recurring text and inserting {{variableName}} placeholders wherever you need dynamic content. Variables are automatically detected using a simple pattern: any text wrapped in double curly braces becomes a fill-in field. When you click "Use" on a template, a form is generated with an input field for each variable. Fill in the values, and the tool replaces every placeholder with your input to produce the final text. Copy the result with one click and paste it wherever you need it.
**Template ideas and examples**
Bug report template: "Title: {{bugTitle}}\nComponent: {{component}}\nExpected: {{expected}}\nActual: {{actual}}\nSteps: {{steps}}" — fills in standard fields for every bug you file. Client email template: "Hi {{name}},\nFollowing up on {{topic}}. {{nextStep}} by {{deadline}}." — saves minutes on every follow-up. Commit message template: "{{type}}({{scope}}): {{description}}
{{body}}" — enforces consistent commit message formatting. Meeting notes template: "Date: {{date}}\nAttendees: {{attendees}}\nAgenda: {{agenda}}\nAction items: {{actions}}" — structures every meeting the same way.
**Storage and persistence**
Templates are stored locally in your browser using IndexedDB, a robust client-side storage mechanism that persists data across browser sessions. Your templates survive page refreshes, browser restarts, and even cache clears (IndexedDB data is treated as persistent storage by modern browsers). However, templates are tied to the specific browser and device — they do not sync across devices automatically.
**Export and import**
Use the Export button to download all your templates as a JSON file. This serves as both a backup and a way to transfer templates between devices. Use the Import button to load templates from a previously exported JSON file. Imported templates are merged with your existing library — duplicates are detected by name and you can choose to overwrite or keep both versions.
**Common use cases**
Software developers create templates for pull request descriptions, code review checklists, and deployment notes. Customer support teams build response templates for common inquiries. Sales professionals create follow-up email templates for different stages of the pipeline. HR teams standardize offer letters, rejection emails, and onboarding checklists. Freelancers create invoice descriptions and project brief templates.
**Privacy**
All template data is stored in your browser's IndexedDB. No data is sent to any server, ever. Your templates and the values you fill in exist only on your device.
More examples
Examples
Bug report template
Input
Template with {{component}}, {{expected}}, {{actual}}, {{steps}}Output
Filled bug report with all variables replaced by your input
Email follow-up
Input
Template with {{name}}, {{topic}}, {{nextStep}}, {{deadline}}Output
Ready-to-send email with personalized values filled in
Frequently Asked Questions
- How do I add variables to a template?
- Use the {{variableName}} syntax anywhere in your template. Variables are automatically detected and a fill-in form is generated when you use the template.
- Where are my templates stored?
- All templates are stored locally in your browser using IndexedDB. They persist across sessions but are not synced across devices. Use the export feature to back up or transfer templates.
- Can I export and import templates?
- Yes. Use the Export button to download all templates as a JSON file, and the Import button to load templates from a file. Imported templates are merged with your existing library.
- Can I use the same variable multiple times in one template?
- Yes. If you use {{name}} twice in a template, you only fill it in once and both occurrences are replaced with the same value. This is useful for email templates where the recipient name appears in both the greeting and closing.
- What happens if I leave a variable blank?
- Blank variables are replaced with an empty string. The rest of the template is unaffected. This is useful for optional fields that do not always apply.
- Is there a limit on how many templates I can create?
- IndexedDB supports large amounts of data (hundreds of megabytes in most browsers). You can create hundreds or even thousands of templates without issues.
- Can I share templates with my team?
- Yes. Export your templates as a JSON file and share the file with your team. Team members can import it to get the same templates. This is a simple way to standardize communication across a team.
Learn More
Discover More Tools
View all Text & Data Tools →Lorem Ipsum Generator
Generate placeholder text by paragraphs, sentences, or words.
Case Converter
Convert text between UPPER, lower, Title, camelCase, snake_case, and more.
Markdown Preview
Write Markdown and see a live formatted preview side by side.
Word & Character Counter
Count words, characters, sentences, and paragraphs in real time.