A fast, beautiful terminal web browser written in Rust.
Runs on every Linux distro (and macOS/WSL too).
╭──────────────────────────────────────────────────────────────────────╮
│ ◀ ▶ ↻ │ Example Domain 100% │
│ 🔒 example.com/ kirim │
├──────────────────────────────────────────────────────────────────────┤
│ ▐│
│ Example Domain ▐│
│ ───────────── │
│ │
│ This domain is for use in illustrative examples in documents. │
│ [More information...] │
│ │
│ ~ │
│ ~ │
├──────────────────────────────────────────────────────────────────────┤
│ ✓ https://example.com [1 links] │
│ help │ go │ /find │ add │ vmarks │ list │ =info │ \src │ quit │
╰──────────────────────────────────────────────────────────────────────╯
- Rust 1.75+ (install via rustup)
git clone https://github.com/your-org/kirim
cd kirim
cargo build --release
# Binary at: ./target/release/kirim
# Optional: install globally
cargo install --path .cargo install --path .# Open a URL directly
kirim https://wikipedia.org
# Just launch (opens DuckDuckGo)
kirim| Key | Action |
|---|---|
g / o |
Open URL bar |
Enter (URL bar) |
Navigate to URL |
Esc |
Cancel input |
Tab |
Focus next link |
Shift+Tab |
Focus previous link |
Enter (on link) |
Follow focused link |
0-9 + Enter |
Jump to link by number |
↑ / k |
Scroll up |
↓ / j |
Scroll down |
Page Up / - |
Scroll page up |
Space / Page Down |
Scroll page down |
Home |
Go to top |
End |
Go to bottom |
← / [ |
Go back |
→ / ] |
Go forward |
r / F5 |
Reload |
/ |
Search in page |
n |
Next search match |
N |
Previous search match |
a |
Add bookmark |
v |
View bookmarks |
l |
View history |
= |
Page info |
\ |
Toggle HTML source view |
h / F1 |
Show help |
q / Ctrl-C |
Quit |
| Mouse hover | Highlight links |
| Mouse click | Follow link |
| Mouse scroll | Scroll page |
- Full HTTPS support (rustls, no OpenSSL dependency)
- HTML rendering: headings, paragraphs, links, lists, code, blockquotes, tables, forms
- Image alt-text placeholders (
🖼 [alt text]) - Definition lists (
<dl>/<dt>/<dd>) - Keyboard-driven link navigation with numbered links
- Back / Forward history
- In-page text search with match counter
- URL bar with auto-scheme detection
- DuckDuckGo search fallback (type a query instead of a URL)
- Form input support (search boxes, submit buttons)
- Bookmarks (persistent, stored in
~/.config/kirim/bookmarks) - Modern dark color theme with scrollbar
- HTTPS lock indicator in URL bar
- Loading spinner animation
- Mouse support (hover, click, scroll)
- HTML source view
- Page info overlay
- Single static binary — no runtime dependencies
src/
├── main.rs Entry point, CLI args
├── browser.rs Browser state, navigation, history, search, bookmarks
├── renderer.rs TUI rendering (ratatui + crossterm), modern dark theme
├── html_parser.rs HTML → RenderedLines (scraper + ego-tree)
├── network.rs HTTP client (reqwest + rustls)
├── bookmarks.rs Persistent bookmark storage
└── types.rs Shared types (RenderedLine, Segment, styles, etc.)