Volver al blog
Open SourceHerramientasProductividad

Iosevka: la fuente monospace open source que mete más código

25 de octubre de 2026·6 min de lectura·Diego Horvatti

Abres dos archivos lado a lado en el editor y la línea 47 se corta en medio de un useCallback. Monitor de 24 pulgadas, fuente a 14px, y aun así falta espacio. Iosevka, una fuente monospace open source mantenida desde hace más de diez años, existe por este problema. Es estrecha a propósito. Y es una de las pocas fuentes que puedes armar desde cero, glifo por glifo, como quien escribe un archivo de configuración.

El proyecto está en typeof.net/Iosevka, con código en GitHub y licencia SIL Open Font License. No hubo un lanzamiento espectacular ni un anuncio esta semana. La fuente simplemente sigue ahí, sacando release tras release, mientras muchas fuentes de programación de pago cobran caro por bastante menos.

¿Qué es Iosevka, al final?

Iosevka es una familia de fuentes para código y terminal. Viene en versiones sans-serif y slab-serif, las dos monoespaciadas. La idea central es simple: cada carácter ocupa medio cuadratín. En la práctica, es bastante más estrecha que Fira Code, JetBrains Mono o Consolas.

Su creador es Belleve Invis, y el detalle que más me llamó la atención es cómo está hecha. No se dibuja a mano en un editor de fuentes tradicional. Se genera con código. Los glifos se describen de forma paramétrica y un build system en JavaScript arma los archivos finales. Es una fuente que se compila.

Eso explica por qué tiene tantas variantes:

  • Iosevka e Iosevka Slab: las versiones principales, sin serifa y con serifa.
  • Iosevka Term: sin los glifos anchos, ideal para terminal.
  • Iosevka Fixed: sin ligaduras, monospace estricta.
  • Iosevka Aile e Iosevka Etoile: casi proporcionales, pensadas para texto corrido y documentación.

O sea, puedes usar la misma familia en el editor, en la terminal y en el README. Todo queda con la misma cara.

Por qué una fuente estrecha cambia tu día

Vamos a los números de forma práctica. En una pantalla donde JetBrains Mono muestra unos 100 caracteres por línea, Iosevka al mismo tamaño muestra cerca de 120. Es un 20% más de ancho útil. Parece poco hasta que trabajas con split view.

Con dos paneles de código y una terminal, cada columna respira. El eslint con max-len: 100 deja de ser una pelea. El diff de Git lado a lado ya no corta la línea. Y el panel de tests de Bun cabe sin esconder el nombre del archivo.

Tiene un costo, claro. La fuente estrecha se siente apretada los primeros días. La altura de la x es generosa, lo que ayuda a la lectura, pero al ojo le cuesta. Yo tardé unos tres días en dejar de pensar que el código estaba "aplastado". Después de eso, volver a una fuente ancha me pareció un desperdicio de píxeles.

La mejor fuente de programación es la que desaparece después de una semana.

Cómo instalar y configurar Iosevka en tu editor

El camino más corto es bajar los archivos listos desde la página de releases de GitHub. En macOS puedes usar Homebrew:

brew install --cask font-iosevka
brew install --cask font-iosevka-term

En Linux, la mayoría de las distros tiene paquete. Si no lo hay, descarga el .zip de la release y copia los archivos a ~/.local/share/fonts, luego ejecuta fc-cache -f.

En VS Code (o Cursor, que usa el mismo formato), el settings.json queda así:

{
  "editor.fontFamily": "'Iosevka', monospace",
  "editor.fontSize": 15,
  "editor.lineHeight": 1.5,
  "editor.fontLigatures": true,
  "terminal.integrated.fontFamily": "'Iosevka Term'"
}

Un consejo: sube el tamaño 1px respecto a la fuente que usabas antes. Como es estrecha, 15px en Iosevka ocupa más o menos el mismo ancho que 13px en otras fuentes, y se lee mucho mejor.

En la terminal, la lógica es la misma. En Ghostty, por ejemplo:

font-family = Iosevka Term
font-size = 14

Si usas íconos en el prompt (Starship, oh-my-zsh con un tema bonito), busca la versión parcheada en el proyecto Nerd Fonts. Iosevka también está ahí.

Puedes armar tu propia versión de la fuente

Aquí está la razón por la que Iosevka tiene fans casi religiosos. ¿No te gusta la forma del 0? La cambias. ¿Quieres la l con cola para no confundirla con el 1? La cambias. ¿Prefieres la @ más redonda, el * más alto, la { con otro diseño? Todo eso se puede configurar.

Hay stylistic sets listos que imitan el aspecto de otras fuentes conocidas. Así que puedes tener algo parecido a Pragmata Pro o Fira Mono, manteniendo la métrica estrecha de Iosevka. Y si quieres ir más allá, escribes un build plan en TOML:

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

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

[buildPlans.IosevkaDiego.variants.design]
zero = "slashed"
asterisk = "hex-high"

[buildPlans.IosevkaDiego.ligations]
inherits = "dlig"

Después solo tienes que clonar el repositorio, instalar las dependencias y lanzar el build:

npm install
npm run build -- ttf::IosevkaDiego

Un aviso honesto: este build es pesado. Genera cientos de glifos en varios pesos y puede dejar la CPU al máximo durante un buen rato. Si tu máquina se calienta fácil como la mía, limita el build a uno o dos pesos en el TOML, o córrelo en una máquina de CI. Otra opción es usar el personalizador del propio sitio, que genera el archivo de configuración haciendo clic en las opciones. Ves el preview antes de compilar nada.

Es la parte que más me gusta como dev. La fuente se trata como software: tiene config versionada, build reproducible y releases. Puedes guardar tu private-build-plans.toml en el repositorio de dotfiles y tener exactamente la misma fuente en cualquier máquina.

Ligaduras: ¿activarlas o no?

Iosevka soporta ligaduras, esas que convierten => en una flecha y !== en un solo símbolo. Hay gente que las ama. Hay gente que las considera un crimen contra la programación.

Mi opinión: en TypeScript, las ligaduras ayudan poco y a veces estorban. Cuando estás revisando un !== frente a un !=, quieres ver exactamente cuántos caracteres hay. En un code review en vivo, explicándole código a alguien, la flecha bonita puede confundir a quien recién llega.

Lo bueno es que Iosevka te deja elegir conjuntos de ligaduras por lenguaje, en lugar del "todo o nada". Puedes mantener las flechas y apagar el resto. Y si no quieres ninguna ligadura, Iosevka Fixed lo resuelve sin tocar la config.

¿Vale la pena cambiar tu fuente por esto?

Si programas en un portátil o trabajas mucho con paneles lado a lado, yo diría que sí, vale la pena probarla una semana. La diferencia en densidad es real y se puede medir. Si usas un monitor ultrawide con una sola ventana, la ganancia es menor y quizás tu fuente actual ya te sirva.

Lo que de verdad me convence es el proyecto en sí. Una fuente libre, mantenida durante una década, con calidad de producto de pago y un modelo de personalización que ninguna fuente comercial ofrece. Pagar cientos de dólares por una fuente de programación tiene cada vez menos sentido cuando existe esto gratis. Y, sinceramente, pocas cosas son tan nerds como compilar tu propia fuente. Es el tipo de hobby que tu familia nunca va a entender.

Me cambié hace un tiempo y no volví atrás. Hoy todo el código que ves en mis proyectos lo escribí mirando una Iosevka con cero tachado y asterisco alto. Es un detalle pequeño, pero es la herramienta que tengo delante ocho horas al día.

Resumen para LinkedIn

Mi línea 47 se cortaba en medio de un `useCallback` en un monitor de 24 pulgadas. El problema no era la pantalla, era la fuente.

Me cambié a Iosevka, una fuente monospace open source mantenida desde hace más de diez años. Es estrecha a propósito y mete un 20% más de código por línea.

Los primeros tres días todo me pareció apretado. Después, volver a una fuente ancha me pareció un desperdicio de píxeles.

Lo que más me conquistó: se genera con código. Escribes un TOML, eliges el cero tachado y el asterisco alto y compilas tu propia versión.

Una fuente con config versionada, build reproducible y calidad de producto de pago, gratis.

Si vives con split view, pruébala una semana y cuéntame si te arrepientes.

#Programación #OpenSource #DevTools #Productividad #VSCode