# Known Countries
[](https://unlicense.org)
[](https://blog.rust-lang.org/2025/02/20/Rust-1.85.0/)
[](https://crates.io/crates/known-countries)
[](https://docs.rs/known-countries)
**Well-known countries for Rust.**
<sub>
[[Features](#-features)] |
[[Prerequisites](#%EF%B8%8F-prerequisites)] |
[[Installation](#%EF%B8%8F-installation)] |
[[Examples](#-examples)] |
[[Reference](#-reference)] |
[[Development](#%E2%80%8D-development)]
</sub>
## ✨ Features
- Provides an enum of well-known countries (ISO 3166-1).
- 100% pure and safe Rust with zero dependencies and no bloat.
- Supports `no_std` environments from the get-go.
- Plays nice with others: interoperates with [Borsh], [BSON], and [Serde].
- Supports opting out of any feature using comprehensive [feature flags].
- Adheres to the Rust API Guidelines in its [naming conventions].
- Cuts red tape: 100% free and unencumbered public domain software.
- Polyglot software also available for Dart, Python, and Ruby.
## 🛠️ Prerequisites
- [Rust] 1.85+ (2024 edition)
## ⬇️ Installation
### Installation via Cargo
```bash
cargo add known-countries
```
### Installation in `Cargo.toml`
Enable all default features:
```toml
[dependencies]
known-countries = "0"
```
Enable only specific features:
```toml
[dependencies]
known-countries = { version = "0", default-features = false, features = ["serde"] }
```
## 👉 Examples
### Importing the Library
```rust
use known_countries::Country;
```
## 📚 Reference
[docs.rs/known-countries](https://docs.rs/known-countries)
### Feature Flags
#### Interoperability
| `borsh` | 1.6 | Derives `borsh::{BorshSerialize, BorshDeserialize}`
| `bson` | 3.1 | Implements `From<T> for bson::Bson`
| `serde` | 1.0 | Derives `serde::{Serialize, Deserialize}`
### See Also
| [known-countries](https://github.com/it-is-known/known-countries) | [](https://crates.io/crates/known-countries) | [](https://docs.rs/known-countries)
| [known-errors](https://github.com/it-is-known/known-errors) | [](https://crates.io/crates/known-errors) | [](https://docs.rs/known-errors)
| [known-languages](https://github.com/it-is-known/known-languages) | [](https://crates.io/crates/known-languages) | [](https://docs.rs/known-languages)
| [known-paths](https://github.com/it-is-known/known-paths) | [](https://crates.io/crates/known-paths) | [](https://docs.rs/known-paths)
| [known-schemes](https://github.com/it-is-known/known-schemes) | [](https://crates.io/crates/known-schemes) | [](https://docs.rs/known-schemes)
| [known-types](https://github.com/it-is-known/known-types) | [](https://crates.io/crates/known-types) | [](https://docs.rs/known-types)
## 👨💻 Development
```bash
git clone https://github.com/it-is-known/known-countries.git
```
---
[](https://x.com/intent/post?url=https://github.com/it-is-known/known-countries&text=Known%20Countries)
[](https://reddit.com/submit?url=https://github.com/it-is-known/known-countries&title=Known%20Countries)
[](https://news.ycombinator.com/submitlink?u=https://github.com/it-is-known/known-countries&t=Known%20Countries)
[](https://www.facebook.com/sharer/sharer.php?u=https://github.com/it-is-known/known-countries)
[](https://www.linkedin.com/sharing/share-offsite/?url=https://github.com/it-is-known/known-countries)
[Borsh]: https://crates.io/crates/borsh
[BSON]: https://crates.io/crates/bson
[Clap]: https://crates.io/crates/clap
[Rust]: https://rust-lang.org
[Serde]: https://crates.io/crates/serde
[feature flags]: https://github.com/it-is-known/known-countries/blob/master/rust/Cargo.toml
[naming conventions]: https://rust-lang.github.io/api-guidelines/naming.html