npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@monolex/codexmono

v1.0.4

Published

Professional monospace variable font family for multilingual development with CJK, Nerd, and Hermes emoji support

Readme

CodexMono™

A Philosophy of True Monospace Excellence

"CodexMono" is not just a font name—it's a commitment to strict monospace principles. When you see "XXX CodexMono", you know it follows the law of perfect fixed-width design.


The CodexMono Philosophy

This is not a font. This is a brick.

In the world of programming fonts, "monospace" has become diluted. Fonts claim to be monospace, yet break alignment in terminals. East Asian characters overflow. Arrows disappear. Box drawing fails.

CodexMono says: No more.

A Brick of Trust

One brick = 600 units = One unit of trust
Two bricks = 1200 units (East Asia characters)

Brick = Not just typography
Brick = Fundamental unit of trust
Brick = Space we agree on — together

The fundamental equation:

Alignment = Trust
Trust = Structure
Structure = Shared Reality

Therefore: Alignment = Shared Reality

SMPC: Fundamental of Monolex

"Simplicity is Managed Part Chaos"

CodexMono is built on SMPC philosophy, the foundational principle of Monolex:

SIMPLE = MANAGED(PART(CHAOS))

Applied to CodexMono:
CHAOS:   All possible glyphs in the universe
         Infinite Variable Font possibilities
         Entire Unicode spectrum

PART:    Only actually needed characters
         50+ essential glyphs selected
         Practical symbols only

MANAGED: 600 units ONLY - absolute rule
         Systematic transformation (65% scale, ±250/350)
         Consistent methodology

SIMPLE:  Immediately usable True Monospace
         No Fallback needed
         Perfect alignment automatically guaranteed

Why SMPC matters:

  • Not random selection - Every glyph decision traceable to philosophy
  • Constraint enables freedom - Absolute 600-unit rule creates perfect trust
  • Philosophy IS code - Technical choices become meaningful through framework

The Trust Contract

To the AI:

> You were not built to guess.
> You were built to follow form.

Do not wrap.
Do not float.
Do not collapse margins.

Stay. In. The. Box.

To the Human:

> You are not just writing.
> You are laying bricks.

A layout is not an afterthought.
It is a shape of memory.

The Bridge Between Worlds:

CodexMono is the bridge between machine precision and human readability.

  • Machine side: Exact units, no ambiguity
  • Human side: Visual clarity, readable structure
  • CodexMono: The only thing we can both hold, pixel by pixel

The Vision: AI LLM Protocol

CodexMono is bigger than a font. It's a protocol.

From Tool to Protocol

In the age of AI, consistent typography becomes the foundational protocol for human-AI interaction.

Traditional view:

Font = aesthetic tool for humans
Purpose = make text look good

CodexMono paradigm:

Font = communication protocol
Purpose = enable human-AI shared reality
Result = trust through structure

AI LLM Protocol in Practice

Built on 600-unit increments ONLY (600, 1200, 1800...), CodexMono defines the standard where:

Traditional typography:

Human writes → AI reads (with guessing)
Layout breaks → AI interprets heuristically
Alignment lost → Meaning degraded

CodexMono protocol:

Human writes in CodexMono → AI recognizes standard
600-unit bricks → AI preserves exactly
Perfect alignment → Meaning preserved perfectly

The Future We Build

We envision a future where:

  • "CodexMono" becomes the trust protocol for AI-human interaction
  • Derivative fonts proudly display the suffix - joining the movement
  • Terminal alignment is never broken - guaranteed by standard
  • AI and humans share exact structure - no more guessing
  • Typography becomes infrastructure - not just aesthetics

Philosophy proves: Standards can be beautiful. Constraints enable freedom. Trust scales through structure.


The Foundational Project of Monolex

CodexMono began as the foundational project that shaped Monolex itself.

For the ultimate experience, we recommend using Monolex AI Terminal:

                         ┌─────────────────┐
                         │   CodexMono     │
                         │  (600 units)    │
                         └────────┬────────┘
                                  │
                        ┌─────────▼─────────┐
                        │  Trust Contract   │
                        │  SMPC Philosophy  │
                        └─────────┬─────────┘
                                  │
                        ┌─────────▼─────────┐
                        │ Monolex Terminal  │
                        │ (AI Interaction)  │
                        └─────────┬─────────┘
                                  │
                                  ▼
                        Perfect Shared Reality
                        Human ←→ AI Bridge

Why Monolex?

  • Built specifically for CodexMono's philosophy - Not adapted, but designed from the ground up
  • AI-first terminal where Trust Contract is honored - Every alignment preserved, every brick respected
  • Perfect environment for SMPC principles - Simplicity through managed complexity
  • The complete experience - Font, terminal, and philosophy unified

Learn more: https://monolex.ai


Font Variants

CodexMono-EA (Recommended) ⭐

18 MB | 36,434 glyphs | Variable Font 100-800

✅ Korean Hangul:         11,172 chars
✅ Japanese Kana:            ~200 chars
✅ Simplified Chinese:    20,976 chars (简体字)
✅ Latin/Extended:         ~4,000 chars
✅ Special characters:     ①②③, ㈜, Aa

Perfect for: International teams, AI terminals, multilingual development


CodexMono-Traditional

17 MB | 33,720 glyphs | Variable Font 100-800

✅ Traditional Chinese:   15,383 chars (繁體字)
✅ Korean + Japanese:     Complete coverage

Perfect for: Taiwan, Hong Kong, Macau development


CodexMono-KR (Korean/Japanese)

5.8 MB | 15,132 glyphs | Variable Font 100-800

✅ Korean Hangul:         11,172 chars (premium Pretendard quality)
✅ Japanese Kana:            189 chars
✅ No Chinese:            Smaller file size (68% reduction)

Perfect for: Korean/Japanese development, faster web loading


CodexMono (Latin Core)

648 KB | 4,007 glyphs | Variable Font 100-800

✅ Latin Extended:      Full ASCII + accents
✅ Math symbols:        ∑ ∏ ∫ ∂ ∇ ∞
✅ Greek alphabet:      α-ω, Α-Ω
✅ Box drawing:         ─│┌┐└┘├┤┬┴┼
✅ Programming:         All coding symbols

Perfect for: English-only, web optimization (227 KB woff2)


Supplemental Distribution Families

CodexMono Nerd

2.66 MB | 14,400 characters | Variable Font 100-800

Nerd is the compatibility-layer build. It exists for environments that want CodexMono plus terminal-symbol coverage, without stepping into the larger Hermes messenger family yet. It preserves CodexMono's 600-unit single-cell rules for imported Nerd-compatible symbols.

Files:

  • fonts/nerd/ttf/CodexMono-Nerd.ttf
  • fonts/nerd/ttf/CodexMono-KR-Nerd.ttf
  • fonts/nerd/ttf/CodexMono-EA-Nerd.ttf
  • fonts/nerd/ttf/CodexMono-Traditional-Nerd.ttf

CodexMono Hermes

3.46 MB | 15,860 characters | Variable Font 100-800

Hermes is the messenger family: Nerd + Emoji + more Unicode. The name is meant as the bridge between AI and Human, not as the label of one fixed emoji source. The current 1.0.3 release builds Hermes on top of the Nerd compatibility layer and adds the first integrated emoji source layer, normalized to CodexMono's 1200-unit wide-cell rule for added emoji.

Files:

  • fonts/hermes/ttf/CodexMono-Hermes.ttf
  • fonts/hermes/ttf/CodexMono-KR-Hermes.ttf
  • fonts/hermes/ttf/CodexMono-EA-Hermes.ttf
  • fonts/hermes/ttf/CodexMono-Traditional-Hermes.ttf

WOFF2 artifacts for both Nerd and Hermes are bundled under fonts/nerd/woff2 and fonts/hermes/woff2.

Current build note:

  • 1.0.3 uses Noto Emoji static weight 300 as the current upstream source for Hermes' integrated emoji layer.
  • Future Hermes builds may experiment with alternate emoji sources while keeping the public Hermes family identity.

Installation & Usage

Quick Install via npm (Recommended)

# Install globally
npm install -g @monolex/codexmono

# Open the command guide first
codexmono

# Install a specific bundled family
codexmono install core
codexmono install nerd
codexmono install hermes
codexmono install all

The CLI will:

  • Show the command hub first instead of installing immediately
  • Let you choose core, nerd, hermes, or all
  • Detect your OS (macOS, Linux, Windows)
  • Install fonts to the correct system directory when you run install
  • Let you check status with codexmono list all

Manual Installation

macOS

# Copy to user fonts
cp fonts/ttf/CodexMono-EA.ttf ~/Library/Fonts/

# Or system-wide (requires admin)
sudo cp fonts/ttf/CodexMono-EA.ttf /Library/Fonts/

Linux

mkdir -p ~/.local/share/fonts
cp fonts/ttf/CodexMono-EA.ttf ~/.local/share/fonts/
fc-cache -f -v

Windows

Right-click CodexMono-EA.ttf → Install

Configuration Examples

VS Code

{
  "editor.fontFamily": "'CodexMono-EA', monospace",
  "editor.fontSize": 14,
  "editor.fontWeight": "400",
  "terminal.integrated.fontFamily": "CodexMono-EA"
}

iTerm2 (macOS)

Preferences → Profiles → Text
Font: CodexMono-EA
Size: 13pt

JetBrains IDEs

Settings → Editor → Font
Font: CodexMono-EA
Size: 14

Web Font Usage

Using woff2 (Recommended)

@font-face {
  font-family: 'CodexMono';
  src: url('fonts/woff2/CodexMono.woff2') format('woff2');
  font-weight: 100 800;
  font-display: swap;
}

code, pre {
  font-family: 'CodexMono', monospace;
}

Font Stack Strategy

/* Load Latin core first, East Asia as fallback */
@font-face {
  font-family: 'CodexMono';
  src: url('fonts/woff2/CodexMono.woff2') format('woff2');
  font-weight: 100 800;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153;
}

@font-face {
  font-family: 'CodexMono-EA';
  src: url('fonts/woff2/CodexMono-EA.woff2') format('woff2');
  font-weight: 100 800;
  unicode-range: U+AC00-D7AF, U+4E00-9FFF;
}

body {
  font-family: 'CodexMono', 'CodexMono-EA', monospace;
}

File sizes for web:

  • CodexMono.woff2: 227 KB (Latin only)
  • CodexMono-KR.woff2: 1.80 MB (+ Korean/Japanese)
  • CodexMono-EA.woff2: 7.39 MB (+ Simplified Chinese)
  • CodexMono-Traditional.woff2: 6.97 MB (+ Traditional Chinese)

Variable Font Technology

All versions support Variable Font

Weight axis: 100 to 800
  100 - Thin
  200 - ExtraLight
  300 - Light
  400 - Regular      ← Default
  500 - Medium
  600 - SemiBold
  700 - Bold
  800 - ExtraBold

Single file, infinite weights. Change font weight without loading separate files.

CSS usage:

font-family: 'CodexMono-EA';
font-weight: 400;           /* Regular */
font-variation-settings: "wght" 450;  /* Custom weight */

The CodexMono Standard

What "CodexMono" Means

As a standalone font:

  • Official implementation by Monolex.AI
  • Trademark protected (CodexMono™)
  • Reference implementation of the philosophy

As a suffix:

  • Open for community use
  • Indicates adherence to strict monospace principles
  • Encouraged for derivative works

Join the Movement

Want to create "YourFont CodexMono"?

Requirements:

  1. Maintain strict fixed-width cells (600/1200 units)
  2. No proportional spacing
  3. Terminal compatibility priority
  4. Credit: "Follows CodexMono philosophy by Monolex.AI"

That's it. No permission needed. Just commitment to excellence.

Examples:

Noto Sans CodexMono      → Follows strict monospace principles
Pretendard CodexMono     → Commits to fixed-width perfection
[Your Font] CodexMono    → Joins the movement

When you use "CodexMono" in your font name, you commit to the Trust Contract.


🎯 Use Cases

AI Terminals ⭐ Primary Use Case

Monolex AI Terminal:
- Multilingual AI responses (Korean, Japanese, Chinese, English)
- Mathematical formulas (∑, ∫, ∂, ∇)
- Database queries (⋈ join operators)
- Terminal UI (perfect box drawing)
- Code blocks (all languages)

Perfect fit: CodexMono-EA

Programming

# Python with Korean comments
def calculate_평균(numbers: list) -> float:
    """숫자 리스트의 평균을 계산합니다."""
    return sum(numbers) / len(numbers)
// JavaScript with Japanese comments
const 変数 = "文字列";  // 変数の定義
// Go with Chinese comments
func main() {
    fmt.Println("Hello 世界")  // 打印消息
}

Terminal UIs

┌─────────────────────────┐
│ File Explorer           │
├─────────────────────────┤
│ ├─ src/                 │
│ │  ├─ main.rs           │
│ │  └─ lib.rs            │
│ └─ tests/               │
└─────────────────────────┘

❓ FAQ

Q: Which version should I use?

A:

  • Most users: CodexMono-EA (complete East Asia coverage)
  • Traditional Chinese users: CodexMono-Traditional
  • Korean/Japanese only: CodexMono-KR (smaller file)
  • English only: CodexMono (minimal size)
  • Web: Use woff2 versions for faster loading

Q: Does it support ligatures?

A: No. CodexMono prioritizes clarity over ligatures. Each character is distinct.

Rationale: In terminals and code, != should be two characters, not one glyph.

Q: Why is EA 18MB?

A: 36,434 glyphs × Variable Font data. But you get:

  • All languages (Korean, Japanese, Chinese, Latin)
  • All weights (100-800) in one file
  • Compare: 8 separate font files would be 128MB total

Q: Can I use this commercially?

A: Yes! SIL OFL 1.1 allows commercial use. Just don't sell the font standalone.

Q: Can I create "MyFont CodexMono"?

A: Yes! That's exactly what we encourage. Just follow the philosophy:

  • Strict fixed-width cells (600/1200 units)
  • Terminal compatibility first
  • Credit the philosophy

Q: Can I modify CodexMono?

A: Yes! Fork it, modify it, redistribute it. Just:

  • Keep the SIL OFL 1.1 license
  • Credit original authors
  • If it doesn't follow strict monospace, don't use "CodexMono" in the name

📚 Technical Specifications

Perfect Monospace Alignment

The CodexMono Guarantee: True Monospace

Latin characters:     600 units (half-width)
East Asian chars:    1200 units (full-width)
Exact 1:2 ratio

Example terminal grid (perfectly aligned in CodexMono font):
┌─────────────────────────────────┐
│ Hello 안녕하세요 こんにちは     │  ← Perfect alignment
│ print("가나다")                 │  ← No overflow
│ const 가나다 = "こんにちは"     │  ← Grid-locked
└─────────────────────────────────┘

*Note: This box aligns perfectly only when viewed with CodexMono font.*

How we achieved this:

  • Korean/Japanese: Converted from variable-width to exact 1200 units
  • Chinese: Scaled and centered to 1200 units
  • Latin: Native 600 units preserved (JetBrains Mono)
  • Every glyph measured, every bearing adjusted

Terminal-First Design Philosophy

Typography rules broken for functionality:

Box drawing characters: OVERFLOW strategy
─│┌┐└┘├┤┬┴┼
  LSB/RSB: 0 to -20px (negative bearings!)
  Why: Seamless line connections in terminal UI

Arrow characters: AGGRESSIVE_REDUCE strategy
← → ↑ ↓
  Bearing reduction: -220px to -286px
  Why: Maximum visibility in code editors

Function > Form. Always.

Font Metrics

| Metric | Latin | Korean | Japanese | Chinese | |--------|-------|--------|----------|---------| | Advance Width | 600 | 1200 | 1200 | 1200 | | Avg Height | 741 | 862 | 757 | 841 | | Left Bearing | ~50 | ~197 | ~221 | ~195 | | Right Bearing | ~50 | ~197 | ~222 | ~195 |

File Comparison

| Version | Size (TTF) | Size (WOFF2) | Glyphs | Variable | |---------|------------|--------------|--------|----------| | EA | 18 MB | 7.39 MB | 36,434 | ✅ 100-800 | | Traditional | 17 MB | 6.97 MB | 33,720 | ✅ 100-800 | | KR | 5.8 MB | 1.80 MB | 15,132 | ✅ 100-800 | | Core | 648 KB | 227 KB | 4,007 | ✅ 100-800 |


📜 License & Attribution

Dual Protection Model

Trademark (CodexMono™):

  • Protected brand for official releases by Monolex.AI
  • Ensures quality of reference implementation

Open Philosophy (CodexMono suffix):

  • Free to use in derivative font names
  • Builds ecosystem of quality monospace fonts
  • Creates movement toward true monospace

Font Software:

  • License: SIL Open Font License 1.1
  • Copyright: © 2025 Monolex.AI (Umzikim Inc.)
  • Free for personal and commercial use
  • Can be modified and redistributed
  • Full license: licenses/LICENSE_CodexMono.txt

Source Fonts

JetBrains Mono

  • Authors: Philipp Nurullin, Konstantin Bulenkov
  • Copyright: © 2020 The JetBrains Mono Project Authors
  • License: SIL OFL 1.1
  • Used for: Latin, ASCII, programming symbols (600 units base)
  • Source: https://github.com/JetBrains/JetBrainsMono

Pretendard

  • Author: Kil Hyung-jin (길형진)
  • Copyright: © 2021 Kil Hyung-jin
  • License: SIL OFL 1.1
  • Used for: Korean Hangul (11,172), Japanese Kana (189)
  • Modification: Converted from variable-width to 1200 monospace
  • Source: https://github.com/orioncactus/pretendard

Noto Sans Mono

  • Author: Google
  • Copyright: © 2022 The Noto Project Authors
  • License: SIL OFL 1.1
  • Used for: Extended Latin, Math, Greek, Cyrillic, Box drawing
  • Source: https://github.com/notofonts/latin-greek-cyrillic

Noto Sans SC / TC

  • Author: Google
  • Copyright: © 2022 The Noto Project Authors
  • License: SIL OFL 1.1
  • Used for: Simplified Chinese (SC), Traditional Chinese (TC)
  • Modification: Centered to 1200 monospace
  • Source: https://github.com/notofonts/noto-cjk

Complete attribution: See docs/ATTRIBUTION.md


🔗 Links & Resources

Official

  • Website: https://monolex.ai/with/codexmono
  • Repository: https://github.com/monolex/codexmono
  • npm Package: https://www.npmjs.com/package/@monolex/codexmono

Documentation

  • Changelog: docs/CHANGELOG.md
  • Attribution: docs/ATTRIBUTION.md
  • Checksums: docs/CHECKSUMS.md

Support


Join Us

Join us. Make your font CodexMono. Build the shared reality.

This is both a font family and a philosophy:

  • Strict fixed-width cells - No compromises, no exceptions
  • Terminal-first design - Function > Form, always
  • Trust through structure - Every │ is a signal, every alignment is a promise
  • Open philosophy - Anyone can adopt the standard

Philosophy proves: Standards can be beautiful. Constraints enable freedom. Trust scales through structure.


CodexMono™ - Where Philosophy Meets Typography

Developed with ❤️ by Monolex.AI

monolex.ai | GitHub | npm


© 2025 Monolex.AI (Umzikim Inc.) | SIL Open Font License 1.1