Skip to main content

Text Templates

Create reusable templates with fill-in-the-blank variables.

How it works

  1. 1

    Create a template

    Write your template using {{variableName}} for placeholders.

  2. 2

    Fill in variables

    Click Use to open the fill view and enter values for each variable.

  3. 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 →