Searching for messages

It's easy to find the right conversation with Zulip's powerful full-text search. You can search for messages using keywords and filters via the search bar at the top of the app. There is a convenient search filters reference in the Zulip app that you can use whenever you need a reminder of the search filters below.

Zulip lets you search messages and topics by keyword. For example:

  • new logo: Search for messages with both new and logo in the message or its topic.
  • "new logo": Search for messages with the phrase "new logo" in the message or its topic.

Some details to keep in mind:

  • Keywords are case-insensitive, so wave will also match Wave.
  • Zulip will find messages containing similar keywords (keywords with the same stem), so, e.g., wave will match waves and waving.
  • Zulip search ignores very common words like a, the, and about 100 others.
  • Emoji in messages (but not emoji reactions) are included in searches, so if you search for octopus, your results will include messages with the :octopus: emoji ( octopus).

Search filters

Zulip also offers a wide array of search filters, which can be used on their own, or in combination with keywords. For example:

  • stream:design: Navigate to #design.
  • stream:design logo: Search for the keyword logo within #design.
  • stream:design has:image new logo: Search for messages in #design that include an image and contain the keywords new and logo. The keywords can appear in the message itself or its topic.

As you start typing into the search box, Zulip will suggest search filters you can use.

Search by location

Sometimes you know approximately where the message you are looking for was sent. Zulip offers the following filters based on the location of the message.

  • stream:design: Search within the stream #design.
  • stream:design topic:new+logo: Search within the topic "new logo" in #design.
  • is:dm: Search all your direct messages.
  • dm:Bo Lin: Search 1-on-1 direct messages between you and Bo.
  • dm:Bo Lin, Elena García: Search group direct messages between you, Bo, and Elena.
  • dm-including:Bo Lin: Search all direct message conversations (1-on-1 and group) that include you and Bo, as well as any other users.
  • streams:public: Search the history of all public streams in the organization, including streams you are not subscribed to; see details below.

Search by sender

  • sender:Elena García: Search messages sent by Elena.
  • sender:me: Search messages you've sent.

You can also access all messages someone has sent via their user card.

  • has:link: Search messages that contain URLs.
  • has:attachment: Search messages that contain an uploaded file.
  • has:image: Search messages that contain uploaded or linked images or videos.

You can also view all the files you have uploaded or browse all the images and videos in the current view.

Search your important messages

  • is:alerted: Search messages that contain your alert words. Messages are included in the search results based on the alerts you had configured when you received the message.
  • is:mentioned: Search messages where you were mentioned.
  • is:starred: Search your starred messages.

Search by message status

Search by message ID

Each message in Zulip has a unique ID, which is used for linking to a specific message. You can use the search bar to navigate to a message by its ID.

  • near:12345: Show messages around the message with ID 12345.
  • id:12345: Show only message 12345.
  • stream:design near:1 Show the oldest messages in the #design stream.

Exclude filters

All of Zulip's search filters can be negated to exclude messages matching the specified rule. For example:

  • stream:design -is:resolved -has:image: Search messages in unresolved topics in the #design stream that don't contain images.

Searching shared history

Zulip's stream permissions model allows access to the full history of public streams and private streams with shared history, including messages sent before you joined the stream (or organization), or those sent to public streams you are not subscribed to.

By default, Zulip searches messages in your history, i.e., the messages you actually received. This avoids cluttering search results with irrelevant messages from public streams you're not interested in.

If you'd like to instead search the organization's shared history, any query using the stream: or streams: filters will search all messages that you have access to in the selected stream(s). For example:

  • streams:public logo: Search for logo in all public streams in the organization.
  • streams:public sender:Elena García: Search for all messages sent by Elena to any public stream.
  • stream:design logo: Search for the word logo in all messages sent to #design, regardless of whether you were subscribed at the time the message was sent.

Linking to search results

When you search Zulip, the URL shown in the address bar of the Zulip web app is a permanent link to your search. You can share this link with others, and they will see their own search results for your query.

Search filters reference

A summary of the search filters above is available in the Zulip app.

  1. Click on the Help menu () icon in the upper right corner of the app.

  2. Select Search filters.