Quick answer: use SharePoint Search or Microsoft Search.
Detailed:
(alternatively – check this video)
From Teams – you can click on “Join or create a team” and you should be able to see some public teams (but not all):
See how Microsoft describes it – Find and Join a team
What if you are looking for a specific public team (not in the list) – there is a “Search teams” box at the top right
If you know the exact team name or at least some first letters – you are lucky.
Just type first 3-5 letters in the search bar at the top right and hit “enter”- you will see a list of public teams matching your search criteria:
NB: do not use wildcards searching for a team, it will not work:
NB: do not use top search bar searching for a team in m365 teams, it will not work too:
Scenario
You know what is the team about – so you can guess part of the team name, or description or some keywords from team content files
Unfortunately, in this case both great Microsoft technologies – Search and Teams – fail.
You are not able to find a public team with Teams search:
Solution: use SharePoint search – classic or modern one.
Each time a Team is created – a SharePoint site is created as a storage for documents.
In public teams – SharePoint site has “Everyone except external users” by default in “Members” group:
which literally means “Everyone except external users” has access to the site with “Edit” permissions.
Microsoft 365 SharePoint search works the way – if you have access to the site content – you will get results.
So just go to the SharePoint landing page or Office 365 home page or SharePoint search center and search for what you are looking for – for whatever you know or guess about the team:
There you can use all the power of SharePoint search (wildcards, refiners, keyword query language KQL etc).
Search from SharePoint landing page with wildcards:
Search from SharePoint Search center with wildcards and refinements:
Once you found something – you can go to the SharePoint site:
Once you found the SharePoint site behind the team – get to the team. How? Simple:
From the site – hover the mouse over the site name – you’ll see a pop-up window.
Now you know exact team name – and you can
a) return to Teams and search for the team, or
b) use “Join group” button to join the team directly from SharePoint:
Just one moment: you cannot search for team’s chat messages in SharePoint, as chats are saved not in SharePoint, but in Azure. All other content – lists, pages, wiki, documents – saved in SharePoint. Searching through team chat is available only in teams top search bar.
Another caveat: Description is not searchable at all (sadly). Both – SharePoint Search and Teams Search are not working against site/team description. Hopefully this will be addressed by Microsoft one day…
Bonus: You can also search for a public team by relative Url (former/first team name – if the team was renamed).
When you create a team – Office 365 generates a short team name to use as a SharePoint site relative Url (m365 removes spaces and – if the team name is not unique – adds numbers ; e.g. if the team name is “Test” you might have “test381” as a short name, but if the team name is “This Is My Unique Team” – short name would be “ThisIsMyUniqueTeam” and the Url will be like: https://myTenant.sharepoint.com/teams/ThisIsMyUniqueTeam).
Later you can change your team name. Teams search under MS teams works for both names – short name initially assigned and new team name. But still only if you are typing the starting characters.
Here is the video: