FREE TOOL · JIRA SEARCH
JQL builder and checker
Write a Jira query from a form, or paste one and see what Jira will really do with it. Every check comes from a trap we measured on a live Jira Cloud site.
Build a query
Your JQL
project = PAY AND assignee = currentUser() AND statusCategory != Done ORDER BY priority DESC, updated DESCCheck a query
What Jira will do
- Assignee is not you
- Status category is Done
- Priority is High
- Priority is Highest
- Warning: != leaves out work items where assignee is empty. On our test site assignee != currentUser() found 86 items and missed 56 unassigned ones. Write instead:
(assignee != currentUser() OR assignee is EMPTY) - Warning: AND and OR are mixed without brackets. Jira reads AND first, so this means the line below. If you meant the OR part as one choice, put brackets around it. Write instead:
(assignee != currentUser() AND statusCategory = Done AND priority = High) OR priority = Highest
What the checker looks for
Jira tells you when a query is broken. It says nothing when a valid query means something other than what it reads like. These are the checks, each with what we saw on our Jira Cloud test site (162 work items) on 13 November 2026. The whole method, and 67 queries we ran there, are in the JQL cheat sheet.
| Check | What we saw | What the tool does |
|---|---|---|
| != and not in on a field that can be empty | assignee != currentUser() found 86 items and missed the 56 unassigned ones. | Adds OR field is EMPTY. |
| AND and OR mixed without brackets | The same filter returned 13 items without brackets and 4 with them. | Shows how Jira reads it, with the brackets written in. |
| One field compared with another | reporter != assignee returned all 106 assigned items, also the 10 where both were the same person. | Explains that JQL compares a field with values only. |
| Dates not written year first | created > "11/01/2026" is an error. | Rewrites it as "2026-11-01" (month first assumed). |
| Names from the new docs that fail today | linkedWorkItems(), parentSpace and space = fail with errors. | Swaps in linkedIssues(), parentProject and project. |
| A star at the start of a word | "*etry" found nothing. | Search the whole word, or put * at the end. |
| Short words in a text search | "pay" did not find "payment". | Suggests "pay*". |
| Reserved words as bare values | labels = select fails: 'select' is a reserved JQL word. | Puts the word in quotes. |
| WAS or CHANGED on a field without history | labels WAS payments fails. | Lists the six fields that work. |
| resolution = Unresolved | 6 items sat in a Done status with no resolution. | Suggests statusCategory != Done for unfinished work. |
| No condition at all | order by key alone: Unbounded JQL queries are not allowed here. | Warns before an app or script runs it. |
A worked example
The query in the checker above reads like "my teammates' finished work with a high or highest priority". Jira reads AND first, so it means "teammates' finished High items, plus every Highest item anywhere, finished or not". On our site that is 13 items where the intended query finds 4. It also drops every unassigned item, because != never matches an empty field.
The checker cannot see your Jira site, so it does not know whether a space key, a status or a custom field exists there. Jira does that the moment you run the query. All 67 queries of the cheat sheet pass the checker with no errors.
Build queries inside Jira
JQL Blocks builds Jira searches from blocks with AND, OR, groups and NOT, writes the JQL beside them, opens it in Jira search or saves it as a filter. It also adds sprint start and end dates as Jira fields, which plain JQL cannot search.
JQL Blocks is in Atlassian's Marketplace review now; it will be free for up to 10 users once it is listed.
Frequently asked questions
How do I build a JQL query?
Pick a field, an operator and a value for each condition, choose whether all conditions must match (AND) or any of them (OR), and add a sort. The builder quotes values with spaces or reserved words, puts lists in brackets and writes the JQL to copy into Jira search, a filter, a board or Automation.
Is there a JQL query checker?
Jira checks syntax when you run a query, but it does not tell you when a valid query means something else. Paste a query into the checker on this page: it explains every clause in plain words and flags eleven traps we measured on a live Jira Cloud site, each with a fix.
Is this an official Atlassian tool?
No. It is a free tool by Simplify, the team behind the JQL Blocks app. It does not connect to Jira, so it cannot tell whether a field or value exists on your site; Jira does that when you run the query.
Is my query sent anywhere?
No. Everything runs in your browser: nothing you type is sent, logged or stored, and the page works offline once it has loaded.
How do I get a visual JQL builder inside Jira?
Jira’s basic search builds simple AND queries but no OR groups or brackets. JQL Blocks, our Marketplace app, builds queries from blocks with AND, OR, groups and NOT inside Jira, shows the JQL beside them, and saves them as Jira filters.