Founding price: the first 100 buyers get Pro for life at $24 once (then $39).Founding: Pro for life $24 Get notified →
Free templates

Bug report example: what a good one looks like

Templates tell you which fields to fill; examples show what "good" looks like inside each one. Here is one complete bug report, written the way developers want to receive it, followed by before/after rewrites of the vague reports and titles teams see every day.

Quick answer

A good bug report is specific enough that a stranger can reproduce it in five minutes: an exact title, environment, numbered steps with test data, expected vs actual, how often (5 of 5), what else works (Chrome is fine), severity with a reason, and a short recording. The full example is below; the blank template is on the bug report template page.

A complete example

Example bug report (checkout, Safari)
Title: Checkout: card form clears after applying a coupon (Safari 18.1, prod)

Summary: Applying a coupon at checkout empties the card fields with no error, so buyers on Safari have to re-type their card. Seen by support in 3 tickets this week.

Environment
- Build: web 4.12.0 (prod)
- URL: /checkout
- Browser / OS: Safari 18.1 on macOS 15
- Account: any buyer account (test buyer: qa-buyer@example.com)
- Flags: new-checkout ON

Steps to reproduce
1. Log in as the test buyer and add any item to the cart
2. Open checkout and enter test card 4242 4242 4242 4242
3. Type SAVE10 in the coupon box and press Apply

Expected result
Discount is shown and the card fields stay filled; Pay is enabled.

Actual result
Discount is shown, but all card fields are empty and Pay is disabled. No error message. Console: none.

How often: Always (5 of 5 tries). Chrome 130 and Firefox 131 work.
Severity: S2 Major (core flow fails for a meaningful group: Safari users), workaround: re-type the card.
Evidence: 40-second screen recording attached (coupon-clears-card.mp4).
Workaround: apply the coupon before entering the card.

Why this one gets fixed fast

Before and after

Before: "Checkout doesn't work."

After: "Checkout: card form clears after applying coupon SAVE10 (Safari 18.1, prod). Steps: 1) add any item, 2) enter card, 3) apply SAVE10. Expected: card stays filled. Actual: card fields empty, no error. 5 of 5 tries. Chrome works. Video attached."

Before: "Sometimes the app logs me out."

After: "Session: logged out after ~30 min while active in the editor (Chrome 141, prod). Happened 3 times today at 10:02, 10:41, 11:15 IST. Console shows 401 on /api/session/refresh. Request IDs in thread. Started after release 4.12."

Before: "The new design is broken on mobile."

After: "Settings page: Save button hidden behind the cookie banner at 375 px width (iPhone 13, iOS 18, Safari). Scrolling does not reveal it. Screenshot attached. Desktop fine."

Bug title examples

VagueSpecific
Checkout brokenCheckout: card form clears after applying a coupon (Safari 18, prod)
Login issue!!Login: "Invalid token" after password reset link is opened twice (all browsers)
Export bugCSV export: rows after 10,000 are missing (Team plan, prod)
App is slowDashboard: first load takes 9 s with 50+ projects (Chrome, staging)

Record the video part

A 40-second recording like the one in the example is quicker to make than a written description of the timing. Bobbin is a free Chrome extension that records your screen, a window or a tab with your microphone and an optional webcam bubble. No account, no watermark, no time limit, and nothing is uploaded: the file stays on your computer.

  1. Click the Bobbin icon in Chrome's toolbar and choose Record screen, window or tab.
  2. Pick your microphone and turn on the camera if you want the webcam bubble.
  3. Press Start recording, choose what to share in Chrome's picker, and wait for the 3-second countdown.
  4. Pause with Alt+Shift+P, stop with Alt+Shift+S, then press Download to save the file.

To keep other tabs and notifications out of it, share just the Chrome tab (the webcam bubble appears only in screen and window recordings). Bobbin saves MP4 where your browser supports it (Chrome 126 or newer), WebM otherwise, and tells you which it used.

File size: our 60-minute 1080p test came to about 246 MB (roughly 4 MB a minute) on a simple synthetic screen; busy real screens can be larger, so a 1–2 minute clip is usually small enough to attach.

From The Bug Report & QA Kit

The kit includes the anatomy guide, 10 templates and 8 bug-video scripts. The full kit: 10 bug templates for GitHub, Jira, Linear and Markdown, 9 release checklists (126 checks), the severity guide, 8 bug-video scripts and trackers.

See the QA kit ($15, one-time) PDF + ZIP · 7-day refund · more free samples on the page

Frequently asked questions

What is an example of a good bug report?

One with a specific title, exact environment, numbered steps with test data, expected vs actual result, how often it happens, what works (other browsers), severity with a reason, and a recording. See the full example on this page.

What makes a bug report bad?

A vague title ("Checkout broken"), no steps, no environment, "it doesn't work" instead of the actual result, and no evidence.

How long should a bug report be?

As short as possible while still letting a stranger reproduce it. The example on this page is about 200 words plus a 40-second video.

Record your screen and camera. Keep the file.

Free, no account, no watermark, no time limit. Saves an MP4 on your computer.

Launching on the Chrome Web Store soon. The Install page has the link as soon as it is live.