How to find Jira issues that don't have a specific label

I’m working with Jira and trying to create a search query that excludes certain labels from my results. I can successfully search for issues that contain a particular label using the standard syntax, but I’m struggling to figure out how to search for issues that DON’T have that label.

For example, when I want to find all issues tagged with “production”, the search works fine. However, I need to do the opposite - find all issues that are NOT tagged with “production”.

What’s the correct JQL syntax to exclude issues with a specific label? I’ve tried various combinations but none seem to work properly. Any help with the proper query structure would be greatly appreciated.

This happens all the time. The fix depends on whether you want issues with no labels at all. I usually go with labels not in ("production") - works great, but it’ll grab issues with zero labels too. If that’s fine, you’re set. But if you only want issues that have labels (just not “production”), try labels is not EMPTY AND labels not in ("production"). That way you get issues with actual labels, minus the one you’re filtering out. Different Jira setups can act weird though, so test it on a small batch first to make sure you get what you’re after.

Use labels is EMPTY for issues with no labels, or combine it with other conditions. For excluding the “production” label specifically, try NOT labels = "production" - it works better than the “not in” operator in some Jira versions. You can also use labels not in ("production") OR labels is EMPTY to catch both unlabeled issues and those with different labels. Jira’s label queries can behave differently depending on your instance, so test a few variations to see what works in your setup.

To find Jira issues that don’t have a specific label like “production”, you can use the JQL syntax labels not in ("production") or labels != "production". The first option is particularly useful if you want to exclude multiple labels at once, for example, labels not in ("production", "staging"). Keep in mind that this may also include issues with no labels at all, so if you’re looking to only exclude those labeled “production”, consider adding additional filters to your search.

Skip the manual JQL queries - there’s a much better way.

I hit this same wall when our team needed regular reports on issues missing compliance labels. Writing those queries repeatedly sucked.

I built an automation that runs these searches and dumps results wherever we need them. Connect Jira to Slack, email, spreadsheets - whatever works.

Set your criteria once (excluding “production” labels, etc.) and you’re done. No more JQL syntax headaches or manual searches.

I use Latenode for Jira automation like this. Create workflows that find issues without specific labels, then automatically handle the results. Way more efficient.

Check it out at https://latenode.com

yeah, same issue here. try labels != "production" but heads up - it won’t work right if you’ve got multiple labels and one happens to be production. what fixed it for me: project = "YOUR_PROJECT" AND (labels is empty OR (labels is not empty AND labels != "production")). it’s ugly but actually works.