What the GIFvideo → gif, the way creatives need it
gif in jira

The Jira Ticket That Reproduces Itself

Steps to reproduce is a paragraph asking a developer to reconstruct something you already watched happen. A four-second loop skips the reconstruction entirely.

Drop a video, get a GIF free · frame-perfect · nothing leaves your browser Open the converter →

How to add a GIF to a Jira ticket

What the GIF does the whole thing locally, right in your browser: nothing here ever leaves your machine.

  1. Record the reproduction. Capture the bug with your operating system's recorder, or use Record a Tab to grab the browser tab directly. Get one clean run of the sequence, starting a beat before the interaction.
  2. Open the converter. Drop the recording onto What the GIF. Decoding happens on your machine, which is the part that matters when the footage shows an unreleased build.
  3. Cut to the failure. Trim to the few seconds around the bug, nudging the cut points frame by frame with the arrow keys. Split off any dead air at the front and delete it.
  4. Crop tight to the component. Frame the control or region where the problem happens rather than the whole desktop, and keep it near its native pixel size so small text stays readable.
  5. Get under the attachment limit. Set 10 to 12 fps, reduce colors toward 64, and check the projected size against your site's cap, commonly around 10 MB but set by your admin.
  6. Attach it to the issue. Drag the exported GIF into the Jira description rather than a comment, so anyone opening the ticket sees the reproduction without scrolling. Add the stack trace and environment details as text alongside it.

The most expensive field on the ticket

Every bug tracker has the same failure mode and Jira has a status for it. A ticket gets filed, a developer can't reproduce it, the ticket flips back to Needs Info, the reporter adds detail from memory a day later, and the loop runs again. Two engineers spend a week passing a text field back and forth about something that took nine seconds to occur.

What breaks down is translation. You saw a sequence: hover, click, the dropdown opening a beat late and landing behind the modal. You then compressed that into numbered sentences, and the developer expanded your sentences back into a sequence, guessing at everything you didn't think to mention. The browser, the window width, the fact that you'd scrolled first.

An embedded loop removes the compression step. The developer sees the actual sequence, at the actual speed, in your actual window, and the guessing stops. Every ambiguity you would have had to anticipate is simply visible.

Your admin picked a number and you should know it

Jira caps attachment size, and the ceiling is set by whoever administers your instance. Jira Cloud commonly defaults to around 10 MB per file, and admins can raise or lower it, so the practical answer is to check your own site rather than trust a number from a blog post.

Assume something in that range and a GIF gets comfortable fast, because ten megabytes is a lot of GIF if you spend it deliberately:

The size estimate updates while you change those, so you land under the limit before encoding rather than after a failed upload.

Crop to the component, not the monitor

This is the mistake that ruins otherwise good bug GIFs, and it is worth its own section. A full-screen capture from a 1440p display is about 2,560 pixels wide. Jira's issue view renders it a few hundred pixels wide, and to hit an attachment limit you probably downscaled it further. Your 12-pixel error message is now four pixels tall and legible to nobody.

Crop to the region where the bug happens instead, then keep that region close to its native pixel size. A 700-pixel-wide crop of the actual form control, at full resolution, is smaller as a file and infinitely more readable than the whole desktop squeezed down to the same byte count. Downscaling is what destroys text; cropping is what saves it. The bug report guide covers the rest of the settings for crisp UI capture.

If the bug is in a web app, Record a Tab captures the staging tab directly through the browser's own share picker, so you can grab just that tab without a separate recorder. Desktop browsers only, and it records in real time. There are also shape overlays if a customer name or an email address wandered into frame and needs a censor bar over it before the ticket goes anywhere.

What a GIF cannot carry into a ticket

It is not the universal answer and treating it as one produces worse tickets, not better ones. Skip the GIF when:

The strongest ticket usually pairs them: a short loop showing what happened, plus the log line proving why.

Staging builds should not go up to a converter

A bug GIF is, almost by definition, a recording of software that is not finished. Unreleased interface, a feature behind a flag, sometimes a real customer's account open in the admin panel. Uploading that to a free web converter means an unannounced product decision now exists as a file on a server belonging to a company nobody on your team has evaluated.

This one converts inside the tab. The recording is read from your disk, encoded by your own processor, and written back to Downloads, with no upload step anywhere in the sequence. Kill the network once the page is open and the conversion still completes, which settles the question faster than any policy document could. That property is why it also works for the README demos and product demos your team ships publicly later.

One more argument for putting the loop in Jira rather than the Slack thread: the ticket is the record. Slack messages age out of retention and threads get archived, but the attachment on the issue is still there when someone reopens it in eighteen months asking whether this ever got fixed.

Stop writing steps to reproduce

Record the bug, trim it to the failure, crop it tight. The ticket explains itself and nothing about your staging build leaves the machine.

Open the converter

Questions, answered

How big can a GIF be in a Jira ticket?
Your administrator sets it. Jira Cloud commonly defaults to roughly 10 MB per attachment and that can be changed either direction, so check your own instance. A well-trimmed, cropped interface GIF usually lands far under any reasonable ceiling.
Should the GIF go in the description or a comment?
The description, if it is the reproduction. Anyone opening the ticket sees it immediately instead of hunting through comments, and it stays visible when the thread gets long. Comments are the right place for a follow-up capture showing a different case.
Why is the text in my bug GIF unreadable?
Almost always downscaling. A full-screen 1440p capture shrunk to fit a size limit destroys small type. Crop to the region where the bug occurs and keep that crop close to native resolution, then save bytes on frame rate and palette size instead.
Is a GIF better than attaching a video?
For short reproductions, usually, because it animates inline without anyone pressing play or downloading a file. For anything past roughly fifteen seconds, or when you narrated what was happening, attach the video and keep the GIF for the key moment.
Is it safe to convert recordings of unreleased software?
With this tool, yes, because nothing is transmitted. Decoding and encoding both run in your browser on your machine. Load the page, disconnect from the network, and it still converts. Upload-based converters cannot make that claim, whatever their retention policy says.
Can I hide a customer name that appears in the recording?
Yes. Shape overlays let you place a solid rectangle over the area, movable and rotatable, in any color, which is the standard censor bar. Do it before exporting, since the export bakes it into the frames.