Issue Template Builder

Build GitHub and GitLab issue templates visually. Generate YAML issue forms or classic Markdown templates with custom sections.

About This Tool

The Issue Template Builder is a free browser-based tool that helps you create GitHub issue form templates (YAML) and classic Markdown issue templates through a visual interface. Instead of writing YAML syntax from scratch, you select a template type, configure metadata like labels and assignees, and add form sections using a drag-and-drop-style builder.

The tool supports all five GitHub issue form field types: textarea for multi-line text input, input for single-line text, dropdown for selection menus, checkboxes for checklists, and markdown for static instructional text. You can set each field as required or optional, add descriptions and placeholders, and reorder sections with up/down controls.

Four preset templates are included out of the box: Bug Report, Feature Request, Documentation Issue, and Custom. Each preset comes with sensible default sections that you can customize. The output format toggle lets you switch between GitHub's newer YAML issue forms syntax and the classic Markdown template format used by both GitHub and GitLab.

If you work with GitHub Actions workflows, try the GitHub Actions Workflow Builder for a similar visual building experience. For previewing Markdown output, check out the Markdown Preview tool. And if you need to format YAML files, the YAML Formatter can help.

All processing runs entirely in your browser. No template data, repository names, or labels are ever sent to any server. Your templates are generated instantly on your device and can be copied or downloaded directly.

How to Use

  1. Select a Template Type from the dropdown (Bug Report, Feature Request, Documentation Issue, or Custom) to load a preset.
  2. Choose an Output Format: YAML for GitHub issue forms or Markdown for classic templates compatible with GitHub and GitLab.
  3. Fill in Template Metadata: name, description, title prefix, labels, and assignees.
  4. Add and configure form sections using the buttons above the section list. Each section type (textarea, input, dropdown, checkboxes, markdown) has its own configuration options.
  5. Reorder sections using the up/down arrow buttons, or remove them with the trash icon.
  6. Review the Generated Template in the output panel. Toggle between Code view and Preview to see how the form will look.
  7. Click Copy or press Ctrl+Shift+C to copy the template, or click Download to save it as a .yml or .md file.

Popular Issue Template Examples

View all issue template examples →

FAQ

What is the difference between YAML issue forms and Markdown templates?

GitHub YAML issue forms (introduced in 2021) create structured forms with specific field types like dropdowns and checkboxes. They generate consistent, machine-parseable issues. Classic Markdown templates provide a pre-filled Markdown document that users edit freely. YAML forms offer better structure; Markdown templates offer more flexibility. GitLab currently only supports the Markdown format.

Where do I put the generated template file in my repository?

For GitHub YAML issue forms, save the file as .github/ISSUE_TEMPLATE/bug-report.yml (or any name ending in .yml). For classic Markdown templates, save as .github/ISSUE_TEMPLATE/bug-report.md. GitHub automatically detects templates in the .github/ISSUE_TEMPLATE/ directory. For GitLab, place Markdown templates in .gitlab/issue_templates/ directory.

Can I have multiple issue templates in one repository?

Yes. You can add as many template files as you want to the .github/ISSUE_TEMPLATE/ directory. GitHub will present users with a template chooser when they create a new issue. You can also add a config.yml file to customize the chooser with external links and to disable blank issues.

What field types are available in GitHub issue forms?

GitHub issue forms support five field types: textarea (multi-line text input with optional Markdown rendering), input (single-line text with optional validation regex), dropdown (select menu with single or multiple selection), checkboxes (list of checkable items), and markdown (static display text for instructions). Each type except markdown has a validation option to make it required.

How do I add default values to form fields?

In this builder, you can set placeholder text for textarea and input fields. For dropdown fields, the first option is shown by default. In the generated YAML, you can manually add a 'value' attribute to textarea or input fields to pre-fill them with default text that users can modify.

Is my data safe?

Yes. All template generation runs entirely in your browser using JavaScript. No data -- including template names, labels, assignees, or any form content -- is ever sent to any server. You can verify this by checking the Network tab in your browser's developer tools while using the tool.

Can I use this for GitLab issue templates?

Yes, but with limitations. Select the 'Classic Markdown Template' output format, which generates Markdown compatible with both GitHub and GitLab. GitLab does not support the YAML issue forms syntax, so you should use the Markdown format for GitLab repositories. Save the generated file in .gitlab/issue_templates/ in your repository.

Related Tools