Volver al blog
Open SourceFuentesHerramientas

Iosevka: la fuente monoespaciada que tú compilas

02 de noviembre de 2026·7 min de lectura·Diego Horvatti

Abres dos archivos lado a lado, y el editor empieza a cortar todo lo que pasa de 100 caracteres. Antes de comprar un monitor más grande, vale la pena probar una solución gratis: Iosevka, una fuente monoespaciada open source, estrecha y tan configurable que puedes compilar tu propia versión. Tiene variantes sans y slab, y el sitio oficial incluye hasta un configurador para generar una build personalizada.

Iosevka no es ninguna novedad. El proyecto existe desde hace cerca de una década, lo mantiene Belleve Invis y usa la licencia SIL Open Font License. Reaparece de vez en cuando en discusiones de desarrolladores porque resuelve un problema que la mayoría de las fuentes ignora: cada persona quiere un detalle distinto, e Iosevka te deja elegir.

¿Qué tiene de diferente la fuente Iosevka?

La primera diferencia es el ancho. Cada carácter de Iosevka ocupa 0,5 em, mientras que JetBrains Mono y Fira Code ocupan 0,6 em. Parece poco, pero la cuenta cambia bastante:

  • A 14px, cada carácter de Iosevka mide 7px de ancho.
  • En JetBrains Mono, mide 8,4px.
  • En un panel de 960px, eso da 137 columnas contra 114.

Son 23 columnas más en el mismo espacio, sin reducir el tamaño de la letra. En un split de editor con la terminal al lado, se nota.

La segunda diferencia es cómo está hecha. La mayoría de las fuentes sale lista de un editor tipográfico. Iosevka se genera con código: los glifos se describen de forma paramétrica, y un build monta las familias. Por eso puede ofrecer tantas combinaciones de peso, ancho, serifa y forma de cada letra.

La tercera es el catálogo de estilos listos. Los stylistic sets imitan la sensación de otras fuentes conocidas. El ss14 recuerda a JetBrains Mono, el ss05 a Fira Mono y el ss09 a Source Code Pro. Puedes cambiar la personalidad de la fuente sin cambiar de fuente.

Una fuente de código es una herramienta. Si pasas ocho horas al día mirándola, puedes ajustarla como ajustas el linter.

Iosevka, Term o Fixed: ¿qué variante usar?

Esta es la duda que más frena a quien llega ahora. La diferencia está en cómo cada variante maneja el ancho y las ligaduras:

  • Iosevka: la versión estándar. Tiene ligaduras, y algunos símbolos, como las flechas, ocupan más espacio.
  • Iosevka Term: los símbolos y las flechas quedan dentro de una celda. Es la opción más segura para la terminal y, en mi opinión, también para el editor.
  • Iosevka Fixed: sin ligaduras. Sirve para terminales y programas que rompen la alineación cuando encuentran una ligadura.

Existen además dos familias casi proporcionales, Aile (sans) y Etoile (slab). No sirven para código, pero funcionan bien en documentación, notas e interfaces. Si tu blog usa Iosevka en los bloques de código, Aile puede acompañar en el texto sin crear un contraste raro.

Si te da pereza decidir, instala Term. Evita la mayoría de las sorpresas.

Cómo instalarla y probarla en VS Code

En macOS, Homebrew lo resuelve:

brew install --cask font-iosevka

En Linux, revisa el repositorio de tu distro o descarga el paquete en la página de releases de GitHub. Yo prefiero descargar solo la familia que voy a usar. El paquete con todo es grande, y no vas a necesitar todas las variaciones.

Después, ajusta el editor. Aquí va un ejemplo para VS Code con Term y el estilo inspirado en JetBrains Mono:

{
  "editor.fontFamily": "Iosevka Term",
  "editor.fontSize": 15,
  "editor.lineHeight": 1.5,
  "editor.fontLigatures": "'calt', 'ss14'"
}

Fíjate en el fontSize 15. Como Iosevka es estrecha, parece más pequeña que la fuente anterior al mismo tamaño. Subir un punto suele compensar, y aun así terminas con más columnas de las que tenías. Un lineHeight más generoso también ayuda, porque la letra estrecha con líneas apretadas cansa rápido.

En la terminal, la lógica es la misma. Si la tuya usa un archivo de configuración, como Kitty, basta con apuntar a la familia:

font_family Iosevka Term
font_size 12.0

¿Compensa compilar tu propia Iosevka?

En la mayoría de los casos, no. Pero aquí es donde la fuente se vuelve divertida.

Puedes describir tu versión en un archivo private-build-plans.toml. Define el espaciado, la serifa, el estilo base y detalles de glifos específicos. Por ejemplo:

[buildPlans.IosevkaDiego]
family = "Iosevka Diego"
spacing = "term"
serifs = "sans"
noCvSs = true
exportGlyphNames = false

[buildPlans.IosevkaDiego.variants]
inherits = "ss14"

[buildPlans.IosevkaDiego.variants.design]
zero = "dotted"

[buildPlans.IosevkaDiego.weights.Regular]
shape = 400
menuName = "Regular"
css = 400

[buildPlans.IosevkaDiego.weights.Bold]
shape = 700
menuName = "Bold"
css = 700

Después, con Node y ttfautohint instalados, clona el repositorio y ejecuta el build:

npm install
npm run build -- ttf::IosevkaDiego

Los nombres de las opciones cambian con el tiempo. En lugar de confiar en mi ejemplo, genera el TOML en el configurador oficial y pégalo en el proyecto. Es más rápido y ves el resultado antes de compilar.

Un aviso: el build usa bastante CPU. Si pides muchos pesos y anchos, el portátil se convierte en una estufa durante un buen rato. Limita el plan a los pesos que realmente usas, como en el ejemplo de arriba. Quien quiera evitarlo puede ejecutar la build en GitHub Actions y descargar el artefacto listo.

Vale la pena cuando tienes una manía concreta: no te gusta el 0, quieres otra l, o trabajas con un conjunto pequeño de pesos y quieres archivos más ligeros. Si la fuente estándar ya te convence, compilar es solo un hobby. Un hobby inofensivo, pero hobby al fin. Nadie entregó nunca una feature más rápido porque el asterisco quedó tres píxeles más alto.

¿Se puede usar Iosevka en la web?

Se puede, pero con cuidado. La cobertura de caracteres es enorme, y cargar el archivo entero en un sitio es un desperdicio. Si solo muestras código en español e inglés, haz un subset con pyftsubset, de fontTools:

pyftsubset Iosevka-Regular.ttf \
  --unicodes="U+0020-007E,U+00A0-00FF" \
  --layout-features='*' \
  --flavor=woff2

Este comando mantiene los caracteres latinos básicos y los acentos, y conserva las funciones OpenType, incluidas las ligaduras. Para que --flavor=woff2 funcione, debes tener instalado el paquete brotli de Python.

En Next.js, después de eso, el camino es next/font/local, que aloja la fuente junto con el sitio:

import localFont from 'next/font/local'

export const iosevka = localFont({
  src: './Iosevka-Regular.subset.woff2',
  variable: '--font-mono',
  display: 'swap',
})

En un sitio de producto, lo pensaría dos veces antes de usar una fuente tan estrecha en texto corrido. En bloques de código y tablas densas, funciona bien. En párrafos, Aile o una sans común cansan menos la vista.

Qué cambia en tu día a día

Seamos honestos: cambiar de fuente no va a hacer que programes mejor. La ganancia es pequeña, física y diaria. Ves más columnas, haces menos scroll horizontal y puedes mantener dos archivos abiertos en una pantalla más pequeña.

También hay un costo real. Una fuente estrecha exige algunos días de adaptación, y no todo el mundo se acostumbra. Si te cuesta leer texto denso, o usas una fuente pequeña, quizá JetBrains Mono siga siendo la mejor opción. Tiene más aire, y el aire también es productividad.

Lo que admiro de Iosevka es el proyecto en sí. Una fuente generada con código, con licencia abierta y un sistema de build que cualquier desarrollador entiende, trata la tipografía como software. Abres un archivo de configuración, cambias una línea y compilas.

Mi recomendación es simple: instala Iosevka Term, úsala durante una semana con un tamaño un punto por encima del actual y luego decide. Si no te gusta, desinstalarla cuesta un comando. Si te gusta, cuidado: en poco tiempo estarás comparando variantes del número cero a las dos de la mañana. Si te va este tipo de obsesión por el detalle, echa un vistazo a los proyectos que he estado haciendo por aquí.

Resumen para LinkedIn

Cambié la fuente del editor y gané 23 columnas sin comprar un monitor ni reducir la letra.

Iosevka es open source y más estrecha: 137 columnas contra 114 de JetBrains Mono, en el mismo panel de 960px.

Lo que más me atrapó fue otra cosa: se genera con código. Editas un archivo de configuración, cambias una línea y compilas tu propia fuente.

No va a hacer que nadie programe mejor. La ganancia es pequeña, física y diaria.

Si quieres probarla, instala Iosevka Term y úsala durante una semana, con la fuente un punto por encima de la actual.

Escribí el paso a paso completo en el blog. Solo ten cuidado de no acabar comparando variantes del número cero a las dos de la mañana.

#Iosevka #CodigoAbierto #DesarrolloDeSoftware #VSCode #Productividad