Search for code in Bitbucket Server

This page explains Bitbucket Server's search syntax to help you find exactly what you're looking for. 


There are some restrictions on how searches are performed:

  • Only the default branch is searchable (for most repositories the default branch will be master).
  • Only files smaller than 512 KiB are searchable.
  • Wildcard searches (e.g. qu?ck buil*) are not supported.
  • Punctuation now supports "." and "_"
  • All punctuation characters are removed. !"#$%&'()*+,-/:;<=>?@[\]^`{|}~
  • Regular expressions in queries are not supported, but you can search for special characters.
  • Case is not preserved, however search operators must be in ALL CAPS.
  • Queries cannot have more than 9 expressions (e.g. combinations of terms and operators).
  • The maximum length of a query cannot exceed 250 characters.
  • Only code you have permission to view will appear in the search results.

A query in Bitbucket has to contain at least one search term, which can either be a single word or a phrase surrounded by quotes.


Search operators are words that can be added to searches to help narrow down the results. Operators must be in ALL CAPS. These are the search operators that can be used to search for files:

  • AND
  • OR
  • NOT
  • -
  • (  )

Multiple terms can be used, and they form a boolean query that implicitly uses the AND operator. So a query for "bitbucket server" is equivalent to   "bitbucket AND server".

TermExample queryUsage
ANDbitbucket AND serverMatches files that contain both "bitbucket" and "server".
ORbitbucket OR serverMatches files that contain either "bitbucket" or "server" (or both).
NOTbitbucket NOT jiraMatches files that contain "bitbucket" but don't contain "jira".
-bitbucket -jiraUse before a term, matches files that contain "bitbucket" but don't contain "jira".
( )bitbucket AND (server OR cloud)

Matches files that contain "bitbucket" and either "server" or "cloud"


Modifiers can be used to further restrict search results. Use a modifier in the form "key:value". If there are multiple modifiers in a query they are implicitly combined using "AND" and apply to the whole search expression. These are the search modifiers that can be used to search for files.

Repository and Project modifiers

repo: <reponame> or repository: <reponame>

Search within a particular repository. Must be used with a project: modifier.

TermExample queryUsage

jira repo:bitbucket


jira repository:bitbucket


jira repo:atlassian/bitbucket

Matches files within the "bitbucket" repository within the "atlassian" project that contain the term "jira".

project: <project key/name>

Search all repositories within a particular project for the search term.

TermExample queryUsage

jira project:atlassian 

Matches files within the "atlassian" project that contain the term "jira".

Path modifier

path: <directory or file name>

Restrict search to only consider files with the search term in their path.

TermExample queryUsage
path:react path:frontendMatches files within directories named frontend containing the term react.

react path:frontend/*/package.lockMatches package.lock files within directories named frontend containing the term react.

Language and file extension modifiers

lang: or language: <language>

Code search can be restricted to only consider a particular language or a particular file extension. For some languages adding a lang criteria is equivalent to specifying the file extension. For example, "lang:java" is equivalent to "ext:java". For other languages multiple file extensions are mapped to a single language. For example, ".hs", ".lhs" and ".hs-bootare" file extensions are used for the Haskell programming language, and will be matched when specifying "lang:haskell".

TermExample queryUsage

jira lang:java


jira language:java

Matches files that contain the term "jira" within Java files, files with .java, .class, or .jar extension.
ext: or extension: <file extension>
TermExample queryUsage

jira ext:lhs


jira extension:lhs

Matches files that contain the term "jira" within Haskell files with the .lhs extension.

Fork modifier

fork: <true or false>

Exclude results from repositories based on whether or not they are forks.

TermExample queryUsage
fork:fork:trueIncludes only results that are from repositories that are forks.

Includes only results that are from repositories that are not forks.
Last modified on Nov 5, 2019

Was this helpful?

Provide feedback about this article
Powered by Confluence and Scroll Viewport.