<div align="center">
# Farben
### Markup for the Terminal
[](https://this-week-in-rust.org/blog/2026/04/22/this-week-in-rust-648/)
[](https://crates.io/crates/farben)
[](https://docs.rs/farben)
[](https://github.com/razkar-studio/farben/blob/main/LICENSE-APACHE)
[](https://crates.io/crates/farben)
[](https://github.com/razkar-studio/farben/stargazers)
[](https://github.com/razkar-studio/farben/issues)
[](https://doc.rust-lang.org/edition-guide/rust-2024/)
</div>
## What Is Farben
Farben is a terminal styling library for Rust that uses markup syntax. Color your terminal without typing whatever the heck `\x1b[31m` is.
```rust
use farben::prelude::*;
cprintln!("[bold red]Error:[/] something went wrong.");
```
## Features
- **Markup-like Syntax**: Easy to read, easy to write.
- **Zero Required Runtime Dependencies**: Only path dependencies.
- **Opt-in Compile-time Processing**: Validate and process markup at compile time via the `compile` feature.
- **8 Color Formats**: Named, ANSI256, RGB, HSL, HSV/HSB, HWB, Lab, LCH, OKLCh, hex.
- **11 Emphasis Styles**: Bold, dim, italic, underline, double-underline, blink, rapid-blink, reverse, invisible, strikethrough, overline.
- **Inline Syntax**: `*bold*`, `/italic/`, `` `code` ``, `~strikethrough~`, `_underline_` via the `inline` feature.
- **Bleed Variants**: Skip trailing reset for chained output.
- **User-defined Styles**: `style!()` and `prefix!()` for custom tags.
- **anstyle Interop**: Convert to/from `anstyle::Style`.
## Documentation
- **User Guide**: [https://razkar-studio.github.io/farben](https://razkar-studio.github.io/farben)
- **API Reference**: [https://docs.rs/farben](https://docs.rs/farben)
- **Changelog**: [CHANGELOG.md](https://github.com/razkar-studio/farben/blob/main/CHANGELOG.md) or [on the guide site](https://razkar-studio.github.io/farben/changelog)
## License
Licensed under either of [MIT License](../LICENSE-MIT) or [Apache License, Version 2.0](../LICENSE-APACHE) at your option.
Cheers, RazkarStudio.
(c) 2026 RazkarStudio.