Software companies
Turn initial interest into information you can review. Use the answers to prepare a relevant follow-up and decide whether the opportunity fits your work. Review “Bug Title” in particular and adapt it to the detail you need.
Stop chasing bug reports through Slack messages and incomplete tickets. This form captures everything an engineer needs to reproduce an issue: clear steps, expected vs actual behavior, severity, frequency, and the user's environment. Embed it in your app or link to it from your help center.
Free for non-commercial projects, with unlimited forms and responses.
Last updated
A bug report is only useful if an engineer can reproduce what the reporter saw. Most of the ones that arrive through chat, email or a support inbox cannot be: they describe a symptom without the path that produced it, they say "it's broken" without saying what was expected instead, and they leave out the browser, the URL and whether it happens every time or once a week. Someone then spends a day going back and forth to recover the three facts that should have arrived with the report.
This template asks for those facts up front. Steps to Reproduce, What Did You Expect to Happen and What Actually Happened are three separate required fields rather than one description box, because splitting them is what turns an impression into a reproducible case. Severity and frequency together decide what gets picked up first, and Browser / Device and URL Where the Bug Occurs are optional so a reporter who does not know them can still submit. The Screenshot or Video Link field lets reporters paste a Loom recording or a hosted screenshot; if you would rather receive the image itself, add an Upload field in the editor so reporters can attach it directly, up to 2 MB.
Where the form lives matters as much as what it asks. Embed it inside your app behind a "Report a problem" link and the reporter is already in context; put it in the help centre and it catches the people who went looking for an answer first. Submissions land in your dashboard and can be pushed straight into an issue tracker with a webhook, so a report becomes a ticket without anyone retyping it. It is free with unlimited submissions, which means you can leave it open to everyone rather than rationing who is allowed to tell you something is broken.
Use your own copy to change labels, remove questions and add the details you need. Try the preview alongside this guide to see what respondents will be asked.
Review the starting questions and choices. You can change them in your own copy.
Jane Smith
you@email.com
Short summary of the issue
1. Go to… 2. Click… 3. See…
Describe the expected behavior.
Describe what you saw instead, including any error messages.
Chrome 122 on macOS 14
https://app.example.com/page
Paste a Loom, Imgur, or Dropbox link
Suggested uses, and why this starting point can help. Adapt the questions to your own process.
Turn initial interest into information you can review. Use the answers to prepare a relevant follow-up and decide whether the opportunity fits your work. Review “Bug Title” in particular and adapt it to the detail you need.
Collect answers in a consistent structure, so you can compare responses while keeping each person’s explanation in context. Review “Severity” in particular and adapt it to the detail you need.
Replace scattered requests with a consistent starting point. The answers help you understand the work, identify gaps and prepare a follow-up. Review “Steps to Reproduce” in particular and adapt it to the detail you need.
Ask for the context needed to understand the request before replying. This reduces the back-and-forth needed to establish the basic facts. Review “What Did You Expect to Happen?” in particular and adapt it to the detail you need.
Use this as a starting point when you need the same essential information from each person. Review the questions against your process before sharing your copy. Review “What Actually Happened?” in particular and adapt it to the detail you need.
Use this as a starting point when you need the same essential information from each person. Review the questions against your process before sharing your copy. Review “How often does this happen?” in particular and adapt it to the detail you need.
Use this as a starting point when you need the same essential information from each person. Review the questions against your process before sharing your copy. Review “Browser / Device” in particular and adapt it to the detail you need.
Click "Use this template" to add the bug report form to your free formformform account.
Update the severity and frequency options to match the language your team uses internally.
Add a hidden field that captures the app version or release tag, so engineers know which build to check.
Set your notification email — ideally a shared inbox or Slack-connected address so triage isn't blocked on one person.
Customize the appearance to match your product so the form feels native when embedded.
Publish and embed — drop the form in your help center, your app's feedback widget, or link to it from a footer.
without them, half of all bug reports become unactionable conversations. Make the field required.
these are two different questions and combining them produces vague reports. Keep them as distinct fields.
let them tell you how bad it is rather than guessing from the description.
a Loom recording or hosted screenshot link is often the fastest way to communicate a UI bug, and a file upload field works well alongside it if you'd rather receive the image directly.
if a field doesn't help engineers fix bugs faster, leave it out. Friction kills bug reports.
pipe submissions into your issue tracker (Jira, Linear, GitHub) via webhook so they don't sit in an inbox.
Yes. You can collect unlimited bug reports for free, with no trial period and no credit card required.
Yes, two ways. The Screenshot or Video Link field takes a Loom recording or a hosted image link, which is often fastest when the reporter already has one open. If you would rather receive the file itself, formformform does have file upload: it is a section in the form editor, up to 2 MB per file. Add an Upload field in the editor and reporters can attach the image directly. Both work on an encrypted form too — there the browser encrypts the file before it is uploaded, so what reaches the server is ciphertext and the real filename never touches the database. Keeping both fields is reasonable; they suit different reporters.
Yes. Use formformform's webhook feature to push every submission to Jira, Linear, GitHub, or any tool that accepts incoming webhooks. You can also forward email notifications to a tracker that supports email-in.
Absolutely. Add a dropdown for which feature is affected, a hidden field for app version, or any other context your team needs.
Yes. Use the embed code or iframe to drop the form into a help modal, a settings page, or a dedicated feedback page in your app.
formformform handles spam protection automatically — no CAPTCHA needed. Most reports come from real users who hit issues, and our filters catch the rest.
Capture product ideas with problem context, importance, and who benefits.
Give complainants a structured, dignified channel to be heard.
Understand what customers love — and what needs fixing.
Let employees report IT issues with all the context your team needs to fix them fast.
Collect bug reports, suggestions, and content errors directly from site visitors.
Give employees a clear path to report phishing, malware, and security breaches.
Manage software changes with a structured request, prioritization, and impact assessment.
Explore how formformform fits the forms you need to build.
Opens with product context and a link to this page.
Free for non-commercial projects, with unlimited forms and responses.
Use this template