How to add custom fonts to Monkeytype
Monkeytype stores custom fonts in your browser's local storage, not on its servers. To add a font, you upload an image file of the font preview to Monkeytype's settings, then the site saves it to your device. The font appears in your typing test the next time you load the page. You cannot add fonts that Monkeytype does not already support in its code — you can only swap out the visual appearance of fonts the site already offers.
The process takes about two minutes and requires only a PNG or JPG image file showing what the font looks like. Once saved, the custom font stays on that device and browser until you clear your browser data or manually remove it from Monkeytype's settings.
Key Takeaways
- Custom fonts in Monkeytype are visual overlays stored in your browser, not new typefaces added to the site's typing engine.
- You need a PNG or JPG image file showing the font preview, which you upload through Monkeytype's settings menu under the Fonts section.
- The custom font only appears on the device and browser where you uploaded it — it does not sync across devices or accounts.
- Monkeytype's built-in fonts must already exist in the site's code; you are replacing their appearance, not adding entirely new fonts to the typing test.
Finding or creating a font preview image
A font preview image is a screenshot or PNG file that shows what your chosen font looks like when typed. You can create this yourself using any image editor, or read one from font websites. The image should be clear enough that you can read individual letters when the font appears small on your screen during a typing test.
Common sources for font preview images include Google Fonts (which displays a preview of every font), Font Squirrel, and DaFont. You can also take a screenshot of a font displayed in a word processor or design tool like Figma. Save the image as PNG or JPG — Monkeytype accepts both formats.
The image does not need to be a specific size, but smaller files (under 500 KB) load faster in your browser. A preview showing the full alphabet in uppercase and lowercase, plus numbers and common punctuation, gives you the best sense of how the font will look during typing.
Uploading the font preview through Monkeytype settings
Open Monkeytype in your browser and click the settings icon (usually a gear symbol) in the top right or left corner. Scroll down to find the Fonts section. You will see a list of Monkeytype's built-in fonts with a button or link to add a custom font — this is often labeled "Add Custom Font" or shows a plus icon.
Click that button and select your font preview image file from your computer. Monkeytype will ask you to name the font — use a name you will recognize, like "Courier Custom" or "Serif Bold". Once you confirm, the site saves the image to your browser's local storage and adds it to your fonts list.
The upload happens when ready, but the font may not appear in your typing test until you refresh the page or restart your browser. If the font does not show up after a refresh, check that your image file is in PNG or JPG format and that your browser allows local storage (some privacy settings block this).
Selecting your custom font for typing tests
After uploading, your custom font appears in the Fonts list in Monkeytype's settings. Click on it to select it as your active font. The font preview image you uploaded will display in the typing test area, replacing the default Monkeytype font for that particular typeface slot.
You can switch between custom fonts and built-in fonts at any time by opening settings and clicking a different font name. Monkeytype remembers your choice, so if you close and reopen the site, your selected font stays active on that device.
Troubleshooting custom fonts that do not appear
If your custom font does not show up after uploading, first check that you are using the correct file format — Monkeytype only accepts PNG and JPG images. If your file is in a different format like SVG or WebP, convert it using an online image converter or image editor before uploading again.
Second, verify that your browser allows local storage. If you have privacy settings that block websites from storing data, Monkeytype cannot save your custom font. Check your browser's privacy or security settings and add Monkeytype to any allowlist if one exists. In Firefox, this is under Privacy & Security; in Chrome, it is under Privacy and Security.
Third, clear your browser cache and reload Monkeytype. Sometimes a cached version of the settings page prevents new fonts from loading. If the font still does not appear, try uploading the image again with a shorter filename (some browsers limit filename length in local storage).
Understanding what custom fonts can and cannot do
Custom fonts in Monkeytype change only how the text looks on your screen — they do not change how the typing test measures your speed, accuracy, or performance. The underlying font that Monkeytype uses to calculate your words per minute and error rate remains the same. This means a custom font is purely visual and does not affect your test results.
You also cannot add a font that Monkeytype does not already have in its code. For example, if Monkeytype does not include a "Roboto" font slot, you cannot create one by uploading an image. You can only replace the appearance of fonts that already exist in Monkeytype's settings menu. If you want to use a specific typeface, check whether Monkeytype already offers it before spending time creating a preview image.
Removing or replacing a custom font
To remove a custom font, open Monkeytype settings, find the font in the Fonts list, and look for a delete or remove button next to it — this is often an X icon or a trash can symbol. Click it to delete the font from your browser's local storage. The font disappears when ready and cannot be recovered unless you upload the image again.
To replace a custom font with a different image, delete the old one and upload a new image with the same font name, or upload the new image with a different name and select it from the list. Monkeytype does not limit how many custom fonts you can add, but each one takes up space in your browser's local storage — most browsers allow several hundred megabytes, so you can safely add dozens of custom fonts.
Frequently Asked Questions
Will my custom fonts appear on other devices or if I log into Monkeytype on a different browser?
No. Custom fonts are stored only in your current browser on your current device. If you use Monkeytype on your phone, laptop, or a different browser, you will need to upload the custom fonts again on each one. Monkeytype accounts do not sync custom fonts across devices.
Can I use a custom font image that is very small or very large?
Yes, but very small images may be hard to read during typing, and very large files may slow down your browser. Aim for an image between 100 and 500 KB in size and at least 400 pixels wide so the text remains readable when displayed in your typing test.
What happens to my custom fonts if I clear my browser data?
Clearing your browser's cache, cookies, and local storage will delete all custom fonts you have uploaded. If you want to keep them, do not clear local storage, or save your font image files so you can re-upload them later.
Can I upload a font file directly instead of an image preview?
No. Monkeytype only accepts image files (PNG and JPG) for custom fonts, not font files like TTF, OTF, or WOFF. You must create or read a preview image of the font and upload that instead.
Does using a custom font change my typing speed or accuracy results?
No. Custom fonts are visual only and do not affect how Monkeytype measures your performance. Your words per minute, accuracy, and all other statistics remain the same regardless of which font you use.