EmojiCodec
Bidirectional emoji encoding and conversion for VS Code.

All conversion happens on-device. The extension makes no network requests and is available for installation through the Visual Studio Marketplace.
| Format |
Example |
| Emoji |
😀 |
| Hexadecimal |
0x1F600 |
| Unicode escapes |
\u{1F600} |
| HTML decimal entities |
😀 |
| HTML hexadecimal entities |
😀 |
| Markdown shortcodes |
:grinning_face: |
Compound emoji are represented as a sequence of code points. Markdown conversions use readable Unicode slugs where available and a lossless :unicode_...: shortcode for variants or sequences without a unique slug.
Usage
- Select text containing emoji or a supported encoded form.
- Open the Command Palette and run EmojiCodec: Convert Selection...
- Choose the output format.
You can also run any format-specific command directly. Multiple selections are converted in one edit.
Bidirectional conversion
Every command first safely decodes recognized emoji representations and then converts the resulting emoji to the chosen target. This supports direct conversions such as:
:rocket: → 🚀
\u{1F469}\u{1F3FD}\u{200D}\u{1F4BB} → 👩🏽💻
🇺🇸 → 0x1F1FA + 0x1F1F8
Only complete, valid emoji sequences are decoded. Ordinary values such as 0x41, A, and \u{41} are left unchanged.
Emoji coverage
The converter uses emoji-regex to recognize Unicode RGI emoji sequences and unicode-emoji-json for readable Markdown names. This covers flags, keycaps, variation selectors, skin tones, and zero-width-joiner sequences supported by the bundled Unicode data.
Security
- No network requests, telemetry, webviews, shell commands, or dynamic code execution.
- Input is treated only as text and validated before code points are decoded.
- Invalid Unicode scalar values and non-emoji encoded values are preserved unchanged.
- Conversion is limited to explicit editor selections.
- Selection length is bounded by the configurable
emojiCodec.maximumSelectionLength.
Development
npm install
npm run check
npm test
npm run build
Press F5 in VS Code to launch an Extension Development Host.
Publishing
See PUBLISHING.md for the one-time publisher setup, manual upload process, and automated release workflow.
npm run verify
npm run package
npm run publish:marketplace