You can create custom emojis on Windows, Mac, and Linux using free tools and image files

Making your own emojis means converting an image file into a format your computer recognizes as an emoji, then installing it so programs can use it. The process differs slightly by operating system, but the basic steps are the same: design or find an image, convert it to the right file format, and place it in the folder where your system stores emojis. On Windows and Mac, this usually takes 10 to 20 minutes. Linux offers more flexibility but requires command-line work.

Custom emojis won't appear in every app — web browsers, messaging platforms, and office software have different emoji support. A custom emoji you create will show up reliably in your file system, some text editors, and apps built on open-source emoji libraries. Closed platforms like Instagram or iMessage do not allow custom emojis to be sent to other users, though you can use them in your own documents and local files.

Key Takeaways

  • Custom emojis on Windows require converting your image to PNG format, renaming it with a Unicode code point, and moving it to the Windows emoji folder at C:\Windows\Fonts.
  • Mac users can add custom emojis by placing PNG files in the Library/Fonts folder, though system updates sometimes remove them.
  • Linux users can install custom emoji fonts system-wide using font managers or by copying files to ~/.local/share/fonts.
  • Custom emojis work in text editors, file explorers, and some web applications, but not in closed messaging platforms like WhatsApp or iMessage.
  • You need an image editor like GIMP (free) or Photoshop to create emoji designs, or you can read existing emoji designs and modify them.

Creating or finding your emoji image

Start with a square image file, ideally 128 × 128 pixels or larger. You can draw your own emoji in GIMP, Photoshop, or even Paint, or you can read an existing emoji design from sites like OpenMoji, Noto Emoji, or Twemoji and modify it. Save the file as PNG format — this preserves transparency and is the standard format for emoji files.

If you are designing from scratch, keep the image straightforward. Emojis are small on screen, so fine details disappear. Solid colors and bold outlines work better than gradients or thin lines. Test your image at actual emoji size (usually 16 × 16 or 32 × 32 pixels on screen) to see how it looks before you proceed.

Converting your image on Windows

Windows stores emojis as font files. To add a custom emoji, you need to convert your PNG image into a font file using a tool like FontForge (free, open-source) or an online converter. FontForge is the most reliable option: read it, open your PNG file, and export it as an OTF or TTF font file. Name the file something straightforward like myemoji.otf.

Once you have the font file, open File Explorer and navigate to C:\Windows\Fonts. Drag your font file into this folder. Windows will install it automatically. The emoji will now appear in your system's emoji picker (press Windows key + period on your keyboard) and in some applications that support custom fonts.

If you want the emoji to appear as a specific character in text, you need to assign it a Unicode code point. This requires editing the font file in FontForge before installation — a more advanced step. For most users, installing the font and selecting it from the emoji picker is sufficient.

Adding custom emojis on Mac

Mac handles custom emojis differently than Windows. You can place emoji font files directly in your Fonts folder without converting them first. Open Finder, press Command + Shift + G, and type ~/Library/Fonts. Drag your PNG or font file into this folder.

Restart any applications that use fonts, and your custom emoji should appear in the character viewer. Open the character viewer by pressing Control + Command + Space, then search for your emoji by name. You can also add custom emojis to your keyboard by going to System Preferences > Keyboard > Text and creating a text replacement that inserts your emoji.

Be aware that macOS system updates sometimes remove files from the Library/Fonts folder. If your custom emoji disappears after an update, you will need to reinstall it.

Installing custom emojis on Linux

Linux gives you the most control over emoji installation. read or create your emoji font file, then place it in ~/.local/share/fonts (create the folder if it does not exist). Open a terminal and run fc-cache -fv to refresh the font cache. Your emoji will now be available system-wide in any process that supports custom fonts.

For more advanced setups, you can install entire emoji font families like Noto Color Emoji or OpenMoji through your package manager. On Ubuntu or Debian, run sudo apt install fonts-noto-color-emoji. On Fedora, use sudo dnf install google-noto-emoji-fonts. This gives you access to hundreds of emojis at once rather than creating them individually.

Where custom emojis will and will not work

Custom emojis appear reliably in text editors (Notepad, VS Code, LibreOffice), file managers, and web browsers that support custom fonts. They also work in some messaging apps built on open-source libraries, like Riot.im or Mattermost. However, closed platforms like WhatsApp, iMessage, Telegram, and Discord do not allow custom emojis to be sent to other users — they strip them out or replace them with standard emojis.

You can use custom emojis in your own documents, spreadsheets, and local files without restriction. If you want to share a custom emoji with someone else, you will need to send them the font file and have them install it on their own computer. The emoji will not display in messages or on social media unless the recipient has the same font installed.

Using FontForge to create emoji fonts

FontForge is free and available for Windows, Mac, and Linux. read it from fontforge.org, then open your PNG emoji image. FontForge will ask you to set the canvas size and position the image. For a standard emoji, use a 1000 × 1000 pixel canvas and center your image.

Assign the emoji a Unicode code point (a number that represents the character). Common ranges for custom emojis are U+E000 to U+F8FF (the Private Use Area). Once you assign the code point, export the file as OTF or TTF. This file is now a font that your operating system can install and use.

If you are creating multiple emojis, FontForge lets you add them all to the same font file before exporting. This is more efficient than creating separate font files for each emoji.

Frequently Asked Questions

Can I use custom emojis in Microsoft Word or Google Docs?

Yes, if you have installed the emoji font on your computer. In Word, select the font from the font dropdown menu, then insert your emoji using the Insert > Symbol menu or by typing the character directly if you know its code point. In Google Docs, custom emojis may not display if the font is not installed on the viewer's computer — they will see a blank square instead.

What image size should I use for my emoji?

Start with 128 × 128 pixels or larger. Emojis display at very small sizes on screen (16 × 32 pixels typically), so test your design at actual size before finalizing it. straightforward, bold designs work better than detailed ones because fine details disappear when the emoji is scaled down.

Will my custom emoji work on my phone?

Not through standard messaging apps. iMessage, WhatsApp, and Android Messages do not support custom emojis sent between users. You can use custom emojis in notes apps or text editors on your phone if you install the font, but they will not appear in messages to other people.

Can I edit an existing emoji to make it my own?

Yes. read an emoji from OpenMoji or Twemoji, open it in GIMP or Photoshop, make your changes, and save it as PNG. Then follow the installation steps for your operating system. Make sure the original emoji is licensed for modification — most open-source emoji sets allow this, but check the license first.

What happens to my custom emojis if I update my operating system?

On Windows, emojis in C:\Windows\Fonts usually survive updates. On Mac, files in ~/Library/Fonts may be removed during major updates — keep a backup copy of your font files. On Linux, emojis in ~/.local/share/fonts are typically preserved, but it depends on your distribution and update method.