All posts

How to Report UI Bugs in Jira With Screenshots (The Fast Way)

A bad UI bug report looks like this:

Title: Header looks wrong Description: The navigation doesn't look right on mobile. Please fix. Attachment: None

An engineer opens this ticket, spends 20 minutes trying to reproduce it, screenshots three different mobile viewports, still isn't sure what "wrong" means, and pings the reporter in Slack.

A good UI bug report looks like this:

Title: Nav menu overlaps hero text below 375px viewport Description: On iPhone 14 (375px), the hamburger menu icon overlaps the H1 text in the hero section. The issue appears when the menu is closed. See screenshot with annotation. Attachment: Annotated screenshot with pin at exact overlap point Viewport: 375px · Safari · iOS 17

The engineer opens this ticket, reproduces it in 2 minutes, and ships a fix the same day.

The difference is context. This guide shows you how to create the second kind of ticket every time, without it taking longer than 5 minutes.


Why Most UI Bug Reports Fail

UI bugs are different from logic bugs. You can't paste a stack trace. You can't write a unit test that fails. The evidence is visual — and visual evidence is hard to communicate without the right tools.

Most teams fall back on one of these broken patterns:

The Slack screenshot. Someone pastes a screenshot into a channel. There's a brief discussion. The screenshot gets buried. Nobody creates a ticket. The bug ships.

The vague ticket. A ticket gets created but without an attached screenshot or enough context. The engineer can't reproduce it. Back-and-forth begins. Resolution takes days.

The over-described ticket. Someone writes three paragraphs explaining the bug in text when one annotated screenshot would do the same in 10 seconds.

The fix is a consistent process: screenshot → annotate → ticket.


Step 1: Capture the Bug in Context

When you spot a UI bug, capture it immediately — before you do anything else.

A good bug screenshot should show:

  • The entire screen or component, not just a cropped close-up
  • The bug in its actual state (don't fix it before screenshotting)
  • The viewport you're working in
  • Enough surrounding UI to give the engineer spatial context

Take two screenshots if needed: one showing the full screen, one zoomed into the problem area.


Step 2: Compare It Against the Correct Version

Before filing a ticket, confirm it's actually a bug. Compare the current state against:

  • The previous release — was this correct before? If yes, it's a regression.
  • The Figma design — does the implementation differ from the spec?
  • Another environment — does it look different on staging vs. production?

Side-by-side comparison catches a lot of false positives. Something that looks "off" in isolation often looks correct when placed next to the reference.

If the issue holds up after comparison, it's a real bug. Move to annotation.


Step 3: Annotate With Precision

Annotation is what separates a useful bug report from a useless one.

What to annotate:

  • Drop a pin at the exact location of the issue
  • Add a comment explaining what's wrong: "Button label truncates at 320px — should wrap, not truncate"
  • If there's a reference, add a second pin pointing to what it should look like

What not to do:

  • Don't draw vague circles around half the screen
  • Don't write "this looks weird" — describe the actual problem
  • Don't annotate typos and layout bugs on the same screenshot — keep one issue per screenshot

Good annotation gives the engineer both the location (where to look) and the expected behaviour (what correct looks like).


Step 4: Create the Jira Ticket

With your annotated screenshot ready, create the ticket. Here's the format that works:

Title: [Component] Issue description at [breakpoint/condition]

Examples:

  • [Navbar] Hamburger icon overlaps hero text below 375px
  • [Checkout] Total price shows $0 when promo code applied
  • [Dark mode] Card background renders white in Safari

Description:

Steps to reproduce:
1. Open [URL] on [browser/OS]
2. Resize to [viewport width] or [condition]
3. Observe [specific element]

Expected: [what it should look like]
Actual: [what it actually looks like]

Environment: [browser, OS, viewport, Captur version if relevant]

Attachment: The annotated screenshot

Priority: Use it. Critical (broken for all users), High (broken for some users), Medium (cosmetic, workaround exists), Low (minor polish).


Step 5: Link Related Screenshots

If the bug exists across multiple viewports or states, attach all of them to the same ticket. Label each one:

  • desktop-1440.png — "Looks correct here"
  • mobile-375.png — "Bug appears at this breakpoint"

Engineers need to see both the broken state and the working state to understand the scope of the fix.


Bulk Reporting: Multiple Bugs From One Session

After a QA session where you've found 5–10 issues, you don't want to create each Jira ticket manually. That's 20–30 minutes of clicking through the same form.

The faster approach: capture and annotate all bugs during the session, then create all tickets in a batch at the end. Captur supports bulk task creation — you select multiple screenshots and create Jira issues for all of them in one pass, with the screenshots pre-attached.


A Jira UI Bug Report Template

Save this as a Jira template for your team:

**What:** [One-line description of the visual issue]

**Where:** [Page, component, viewport, browser/OS]

**Steps to reproduce:**
1.
2.
3.

**Expected:**

**Actual:**

**Screenshot:** [Attached]

**Priority:** Critical / High / Medium / Low

Consistent templates mean consistent reports. Engineers know exactly where to look. QA knows exactly what to include. Review cycles get shorter.


The Fastest Way to Run This Process

Manually: capture screenshot → open annotation tool → annotate → export → open Jira → create ticket → attach screenshot → fill in details. That's 7 steps and at least 5 minutes per bug.

With Captur: screenshot lands in your library automatically → annotate with pins → hit "Create Jira Issue" → ticket created with screenshot attached and title pre-filled. That's 3 steps and under 60 seconds per bug.

The faster the process, the more bugs get reported before they reach users.

Join the waitlist →