Messaging & Formatting

How do emojis bridge between Slack and Microsoft Teams?

By SlackBridge Team ยท Last verified ยทApplies to: Free, Pro

TL;DR. SlackBridge bridges 15 Microsoft Teams reaction types as native Slack reactions in both directions, plus 43 common Slack emoji shortcodes that render as Unicode in Teams. Standard Unicode emoji typed into message bodies pass through unchanged in either direction. Custom workspace emoji are not translated and appear as :shortcode: text on the Teams side.

What's the short version?

SlackBridge bridges three categories of emoji between Slack and Microsoft Teams, each with different rules:

Category Bridge behavior
Standard Unicode emoji in messages (e.g., typing ๐ŸŽ‰ in a chat) โœ… Pass through unchanged in both directions
Reactions on a message โœ… 15 Teams reaction types โ†” Slack reactions, fully bidirectional
Slack reaction shortcodes (e.g., :rocket:) โš ๏ธ 43 common shortcodes convert to Unicode for Teams; others appear as :text:
Custom workspace emoji (e.g., :your-logo:) โŒ Not translated โ€” appears as raw :shortcode: text in Teams

If you only remember one thing: regular emoji just work, reactions work for the 15 standard ones, and custom emoji do not bridge.


What emoji reactions work in both directions between Slack and Microsoft Teams?

Fifteen Microsoft Teams reaction types are mapped bidirectionally. When a user on either side reacts to a bridged message, the reaction is delivered to the other platform.

Emoji Microsoft Teams reaction type Slack shortcode
๐Ÿ‘ like :thumbsup:
โค๏ธ heart :heart:
๐Ÿ˜‚ laugh :laughing:
๐Ÿ˜ฎ surprised :open_mouth:
๐Ÿ˜ข sad :cry:
๐Ÿ˜  angry :angry:
๐Ÿ˜ hearteyes :heart_eyes:
๐Ÿค” thinking :thinking_face:
๐ŸŽ‰ celebrate :tada:
๐Ÿ‘ clap :clap:
๐Ÿ”ฅ fire :fire:
๐Ÿ‘€ eyes :eyes:
๐Ÿ™Œ handsinair :raised_hands:
๐Ÿ’ฉ poop :poop:
โœ… checkmark :white_check_mark:

Which Teams reaction types map to native Slack reactions?

Every reaction in the table above. When a Microsoft Teams user reacts to a bridged message with one of these reaction types, SlackBridge calls the Slack reactions.add API to add the equivalent reaction to the linked Slack message. If the user later removes the Teams reaction, reactions.remove is called on the Slack side. The reaction appears as a real native Slack reaction, not as a separate text message.

Which Slack reactions appear correctly in Microsoft Teams?

When a Slack user reacts to a bridged message, SlackBridge sends a readable message to Teams containing the Unicode emoji (for example, Korey reacted with ๐Ÿ‘). This is because Microsoft Teams does not expose a public reaction API โ€” reactions cannot be added programmatically to existing Teams messages from a third-party app. The bridge therefore delivers the reaction as a short visible message on the Teams side rather than as a Teams reaction.


Which Slack emoji shortcodes does SlackBridge convert to Unicode for Teams?

Forty-three common Slack shortcodes are explicitly mapped to their Unicode equivalents. Any reaction or message text using one of these shortcodes will appear with the correct Unicode emoji in Microsoft Teams.

Emoji Slack shortcode(s)
๐Ÿ‘ :thumbsup:, :+1:
๐Ÿ‘Ž :thumbsdown:, :-1:
โค๏ธ :heart:
๐Ÿ˜‚ :laughing:, :joy:
๐Ÿ˜Š :smile:
๐Ÿ˜€ :grinning:
๐Ÿ˜ฎ :open_mouth:
๐Ÿ˜ฒ :astonished:
๐Ÿ˜ข :cry:
๐Ÿ˜ญ :sob:
๐Ÿ˜  :angry:
๐Ÿ˜ก :rage:
๐Ÿ”ฅ :fire:
๐ŸŽ‰ :tada:
๐Ÿ‘ :clap:
๐Ÿš€ :rocket:
๐Ÿ‘€ :eyes:
๐Ÿค” :thinking_face:
โœ… :white_check_mark:
โŒ :x:
๐Ÿ‘‹ :wave:
๐Ÿ™ :pray:
๐Ÿ™Œ :raised_hands:
๐Ÿ‘Œ :ok_hand:
๐Ÿ’ช :muscle:
โญ :star:
โœจ :sparkles:
๐Ÿ’ก :bulb:
โšก :zap:
โš ๏ธ :warning:
โ“ :question:
โ— :exclamation:
โœ”๏ธ :heavy_check_mark:, :check:
โ˜๏ธ :point_up:
๐Ÿ‘‡ :point_down:
๐Ÿ‘ˆ :point_left:
๐Ÿ‘‰ :point_right:

Slack shortcodes outside this list appear in Microsoft Teams as their raw text form (for example, :beach_with_umbrella: displays as the literal string rather than ๐Ÿ–๏ธ). If a shortcode is missing that you use frequently, contact support to request an addition.


Do regular emoji in chat messages need to be converted?

No. Standard Unicode emoji typed directly into a message body โ€” for example, sending the message "Shipped ๐Ÿš€ great work team!" โ€” pass through SlackBridge unchanged in either direction. Both Slack and Microsoft Teams render the same Unicode 15.0+ emoji set, so the same character renders correctly on both sides without conversion.

This applies to:

The only case where inline emoji change appearance is the small visual rendering difference between Slack's and Microsoft's emoji fonts โ€” for example, Microsoft's ๐Ÿ˜‚ has a slightly different style than Slack's. The character is the same; only the font differs.


Why don't my custom Slack emojis appear in Microsoft Teams?

Custom emoji (sometimes called workspace emoji or server emoji) โ€” for example :your-company-logo:, :slackbot-mascot:, or :partyparrot: โ€” exist only inside the Slack workspace where they were uploaded. They are not Unicode characters and have no equivalent on the Microsoft Teams side.

When a Slack user includes a custom emoji in a message or as a reaction, SlackBridge passes through the literal :shortcode: text. The Microsoft Teams user will see the text representation rather than the image.

This is a design constraint, not a bug:

If a custom emoji is critical to a workflow, the best workaround is to ask the Slack admin to map the custom emoji to a Unicode equivalent (Slack supports adding alias emoji at /customize/emoji) so messages use the standard Unicode form when bridged.


What about Microsoft Teams custom emoji and stickers?

Microsoft Teams supports custom emoji uploaded by tenant administrators, plus a separate library of stickers and GIFs accessed through the message composer. Neither category bridges to Slack:

Standard Unicode emoji in Teams messages bridge normally.


Are emoji reactions counted toward the SlackBridge message volume?

Reactions are processed as separate events from messages. On the Pro plan they do not count against any per-message quota. On the Free plan, message volume includes regular bridged messages but reactions are processed as zero-cost events.


Frequently asked questions

Does the SlackBridge emoji bridge work in both directions?

Yes. Fifteen Microsoft Teams reaction types map bidirectionally to Slack emoji reactions. When a Teams user reacts, it appears as a native Slack reaction; when a Slack user reacts, it appears in Teams as a readable message containing the Unicode emoji.

Are custom Slack emojis supported across the bridge?

No. Workspace-custom Slack emojis (for example, :your-org-logo: or :company-mascot:) are not translated by SlackBridge. They appear as raw :shortcode: text on the Teams side rather than as the custom image.

Do regular emoji typed into a message need conversion?

No. Standard Unicode emoji typed directly into a message body pass through unchanged in both directions. Both Slack and Microsoft Teams render the same Unicode emoji set, so ๐ŸŽ‰, ๐Ÿ‘, ๐Ÿ”ฅ, and similar render natively on both platforms.

Which Microsoft Teams reactions become real Slack reactions?

Fifteen Teams reaction types are mapped: like, heart, laugh, surprised, sad, angry, hearteyes, thinking, celebrate, clap, fire, eyes, handsinair, poop, and checkmark.

What happens to a Slack reaction that isn't in the supported list?

Slack supports thousands of emoji shortcodes; SlackBridge maps the 43 most common ones to Unicode. Unmapped Slack reactions appear in Teams as raw :shortcode: text rather than as the corresponding emoji.

Are skin tone modifiers preserved?

Skin tone modifiers in Unicode emoji typed into message bodies pass through unchanged. Skin tone variants on reactions are not preserved because Microsoft Teams reactions do not support skin tone variants โ€” only the base reaction type bridges.


Still need help?

If you've checked the maps above and an emoji still isn't bridging the way you expect, contact SlackBridge support and include:

  1. The exact emoji or shortcode that isn't working
  2. The platform you sent it from (Slack or Microsoft Teams)
  3. The platform you expected it to appear on
  4. A screenshot of the actual versus expected result

We aim to respond within one business day.