6 releases

0.2.4 Dec 26, 2022
0.2.3 Dec 26, 2022
0.2.0 Aug 14, 2022
0.1.3 Jun 19, 2022

#1972 in Command line utilities

25 downloads per month

MIT license

795 lines


An alternative to wudao-dict. With colorized output and optional speech.


Arch (-ish):

yay -S charcoal


brew install lighghteeloo/charcoal/charcoal

Build from source:

cargo install char-coal

Small Tips Ahead

Aliasing common command to chr, wd or anything shorter is recommended (cc if you don't mind?)

alias chr="char-coal query -s"

No manually designated dependencies are required. See Cargo.toml if you are interested in the crates charcoal is using.



char-coal query <QUERY>

where query can be shortened as q, search, or s.

With -s or --speak-as true one can force the happening of a speech.


You may want to edit the configuration file in an easy way. Charcoal gets you covered:

char-coal edit

And with --reset it will generate a brand new configuration in case anything gets wrong.

For more details on configuration file, see Configuration section.


Charcoal caches up your queries, both text and audio. While it's nice for repetitive queries, it takes up some space. If you want, you can clean them with:

char-coal clean

For more details on cache, see Caching Strategy section.


To see more options, run

char-coal help

for help on subcommands, or

char-coal query --help

for each subcommand, say, query.


Configurations are straight forward. Just change the booleans and they're yours.


Clone and build from source:

git clone git@github.com:LighghtEeloo/Charcoal.git
cd Charcoal
cargo build --all


cd Charcoal
cargo build --all
alias chr="RUST_LOG=info target/debug/char-coal query -s"

Caching Strategy

As a tiny cli tool, charcoal can't guarantee 100% cache consistency; however, its caching strategy is delicately designed such that inconsistency is rare and of little harm.

Only ascii with out space will be saved by name, under cache directory, to achieve better compatibility; the rest will be hashed and then saved under vault directory.

Both text and audio will be cached.


This repo uses MIT License.

Disclaimer and Promises

Though it's unlikely, this software may harm data. Use at your own risk.

No privacy collection will be performed.


@TomCC7 for kindly supporting, testing and making suggestions for charcoal.

@BinhaoQin for providing advice (and patience!) on PKGBUILD.


~1M SLoC