# Searching for messages Zulip has a powerful search engine under its hood. Search for messages using the search bar at the top of the screen. ## Example * `stream:design has:link is:starred new logo` Searches for messages in `#design` that have a link, that you starred, and that have the words `new` and `logo`. The permalink for that search (web only) will look something like `https://your-zulip-url/#narrow/stream/123-design/has/link/is/starred/search/new.20logo`. ## List of operators As you start typing, Zulip will suggest possible operator completions. Operators can be used with keywords, or on their own. For example, * `stream:design logo` will search for the word `logo` within `#design` * `stream:design` will navigate to `#design` Here is the **full list of search operators**. * `stream:design`: Search within the stream `#design`. * `stream:design topic:emoji+picker`: Search within the topic `emoji picker`. * `is:private`: Search all your private messages. * `pm-with:ada@zulip.com`: Search 1-on-1 messages with Ada. * `group-pm-with:ada@zulip.com`: Search group private messages that include Ada. * `sender:ada@zulip.com`: Search messages sent by Ada. * `sender:me`: Search sent messages. * `near:12345`: Show messages around the message with ID `12345`. * `id:12345`: Show only message `12345`. * `is:alerted`: See [alert words](/help/add-an-alert-word). * `is:mentioned`: See [@-mentions](/help/at-mention-a-team-member). * `is:starred`: See [starred messages](/help/star-a-message). * `is:unread` * `has:link` * `has:image` * `has:attachment` ## Words and phrases Most searches consist of a list of operators followed by a list of keywords. * `new logo`: Search for messages with both `new` and `logo`. * `"new logo"`: Search for messages with the phrase `"new logo"`. Zulip does some basic stemming, so `wave` will match `waves` and `waving`. Keywords are case-insensitive, so `wave` will also match `Wave`. Emoji are included in searches, so if you search for `octopus` it will include messages with octopus. Note that Zulip ignores common words like `a`, `the`, and about 100 others. A quirk in Zulip's current implementation means that if all of your keywords are ignored, we'll return 0 search results. ## Other notes * By default, search only displays messages that you actually received. However, if your search is restricted to a stream where you have [access to stream history](/help/stream-permissions), you can search for messages from before you subscribed to the stream (or even joined your Zulip organization). * To see the list of search operators in-app, click the **gear** () icon in the upper right, and select **Search operators**.