Hermit is a monospace font designed to be clear, pragmatic and very readable. Its creation has been focused on programming. Every glyph was carefully planned and calculated, according to defined principles and rules. For this reason, Hermit is coherent and regular.

Symbols stand out from common text. Dots and commas are easily seen, and operators are clear even when not surrounded by spaces. Similar characters have been designed to be very distinguishable from each other.



Hermit’s true habitat is a terminal or a text editor, not a website. You should just download it and watch it by yourself, in your very own environment!

However, here’s some code doing some things:

/* Process an incoming IP datagram fragment. */
int ip_defrag(struct net *net, struct sk_buff *skb, u32 user)
	struct net_device *dev = skb->dev ? : skb_dst(skb)->dev;
	int vif = l3mdev_master_ifindex_rcu(dev);
	struct ipq *qp;


	/* Lookup (or create) queue header */
	qp = ip_find(net, ip_hdr(skb), user, vif);
	if (qp) {
		int ret;


		ret = ip_frag_queue(qp, skb);

		return ret;

	return -ENOMEM;


Hermit is free, as in both “free beer” and “freedom”. However, if and only if you like my work and you think I deserve it, I accept donations. But, if you don’t want or you can’t make a donation, I’ll think you’re awesome anyway.


Download right now!

You can find the source files on this repo.

You can find a pack with other formats (UFO, WOFF, WOFF2) right here:

Download full package

Hermit is also available in Arch Linux, Gentoo (thanks, Patrick!), Fedora (thanks, Ryan!), and FreeBSD.

Improvements, issues, suggestions

If you have a good idea for an improvement in Hermit, or you have found an issue, or you have a great suggestion for a future version, you can send me an email. If you are trying to explain me something you don’t like, you should attach a screenshot.

I also like emails that just say you like Hermit!

ToDos and NotToDos

Hermit is not perfect. It was done under certain circumstances, trying to fill some needs. This, of course, could not be enough to fill somebody else’s needs.

Some of these needs may be covered in the future, such as:

However, I cannot take care of covering some other requests, for example: