A beautiful way to read Markdown

villar re-renders AI-generated Markdown into a card-based reading experience. Focus on content, not clutter.

Free & open source Local-only. No network requests Read-only. Files never modified
Files
architecture.md
api-design.md
deployment.md
changelog.md
Outline
Overview
Authentication
Rate Limiting
Error Handling
Focus mode
TL;DR

RESTful API with JSON responses. Versioned via URL path. Rate limited to 1000 req/min per key.

Overview

This document describes the API design for the backend services. All endpoints follow REST conventions and return JSON responses with consistent error formats.

  • Base URL: /api/v1
  • Format: JSON
  • Authentication: Bearer token
  • Versioning: URL path
TL;DR

OAuth 2.0 with PKCE flow. Tokens stored in secure HTTP-only cookies. Refresh tokens rotate on each use.

Authentication

The API uses OAuth 2.0 with the PKCE extension for public clients. All endpoints require a valid Bearer token in the Authorization header.

const response = await fetch('/api/auth/token', {
  method: 'POST',
  body: JSON.stringify({ code, verifier })
});
TL;DR

Sliding window algorithm. 1000 requests/min for standard, 5000 for premium. Retry-After header on 429.

Rate Limiting

Rate limiting uses a sliding window algorithm. Limits are applied per API key and tracked via Redis. When exceeded, the API returns 429 with a Retry-After header.

// Response headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1609459200
TL;DR

Consistent error shape: code, message, details. Machine-readable codes. Human-readable messages.

Error Handling

All errors follow a consistent JSON structure with machine-readable error codes and human-readable messages. Validation errors include field-level details.

{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Too many requests"
  }
}

Everything you need to read comfortably

villar transforms long Markdown documents into focused, navigable cards with smart summaries and syntax highlighting.

Card-based reading

Documents split by H2 headings into navigable cards. Arrow keys to move between sections.

Auto TL;DR

Each section gets a rule-based summary. Keywords, key points, and conclusions at a glance.

Focus mode

Dim inactive cards to concentrate on what you're reading. Adjustable opacity in settings.

Syntax highlighting

Code blocks with syntax highlighting and one-click copy. Supports all major languages.

Mermaid diagrams

Flowcharts rendered as step UI or diagrams. Sequence and class diagrams supported.

Live reload

File watcher detects external changes and reloads content instantly. Changed sections highlighted.

Multi-tab & search

Open multiple files in tabs. Full-text search across all files with Cmd+K.

Fully customizable

46 color themes, 15+ fonts, adjustable font scale, line height, and content width.

10 languages

English, Japanese, Chinese (Traditional & Simplified), Korean, Arabic, Spanish, German, Malay, and Vietnamese.

Speed Read

Bold the first part of each word to guide your eyes faster. Research-backed scanning optimization.

Reading Ruler

A highlight bar follows your cursor to keep your place. Reduces line-skipping and improves focus.

📄

PDF Export

Export any document as a clean, print-ready PDF with one click. Dark themes automatically convert to white.

46 themes. Your reading, your colors.

From dark favorites like Dracula and Nord to light themes like GitHub Light and Solarized. Every element adapts.

Dracula
Nord
Tokyo Night
Catppuccin
Gruvbox
Monokai Pro
GitHub Light
Solarized
One Dark
Rosé Pine
+36 more

Built with intention

Read-only

Your source files are never modified. villar only reads and renders.

Local-only

Zero network requests. Your documents stay on your machine, always.

Fallback-first

When rendering fails, content is always shown. No blank screens, ever.

Try villar

Free and open source. Download for your platform.

Or build from source on GitHub

macOS: Run xattr -cr /Applications/villar.app in Terminal if you see "app is damaged".

What's New

villar v0.4.0

April 3, 2026
Raw Markdown view — Toggle source view with one-click copy
Speed Read — Bold word prefixes for faster scanning
Reading Ruler — Cursor-following highlight bar
PDF Export — Clean white output from any theme
Auto-update — In-app download and relaunch
View all releases on GitHub →

Like villar?

villar is free and always will be. If it helps your workflow, consider supporting development.