Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
██╗   ██╗██████╗ ██╗ ██████╗████████╗
╚██╗ ██╔╝██╔══██╗██║██╔════╝╚══██╔══╝
 ╚████╔╝ ██║  ██║██║██║        ██║   
  ╚██╔╝  ██║  ██║██║██║        ██║   
   ██║   ██████╔╝██║╚██████╗   ██║   
   ╚═╝   ╚═════╝ ╚═╝ ╚═════╝   ╚═╝   

Release MIT licensed Build Status Go Report Card

Ydict, another command-line youdao dictionary for geeks!



  • Chinese -> English
  • English -> Chinese
  • Show hints if word is not found
  • Speech
  • Show example sentences
  • Vim support



brew tap timothyye/tap
brew install timothyye/tap/ydict

Using Go

go install

Manual Installation

Download it from releases, and extract it to /usr/bin.

Integrate with Vim

To query words from Vim, you need another Vim plugin: vim-ydict


Starting from V0.9, speech feature is available. You need to install mpg123 to enable this feature.

Windows x64

Speech Adaptation by ycrao under Windows OS.

  • Just copy bass.dll and mpg123.exe (can also with ydict.exe) file to Windows system path (such as C:\Windows\ or C:\Windows\System32 ) .
  • Or copy bass.dll and mpg123.exe (can also with ydict.exe) file to somewhere in the same directory, and setting that directory in PATH System Environment Variables .

Mac OS

brew install mpg123


sudo apt-get install mpg123


yum install -y mpg123


ydict [flags]

  -c, --cache       Query with local cache, and save the query word(s) into the cache.
  -d, --delete      Remove word(s) from the cache.
  -h, --help        help for ydict
  -l, --list        List all the words from the local cache.
  -m, --more        Query with more example sentences.
  -p, --play int    Scan and display all the words in local cache.
  -q, --quiet       Query with quiet mode, don't show spinner.
  -r, --reset       Clear all the words from the local cache.
  -s, --sentence    Translation of sentences.
  -v, --voice int   Query with voice speech, the default voice play count is 0.
  1. Query
ydict <word(s) to query>
  1. Query with speech
ydict -v 1 <word(s) to query>
  1. Query and show more example sentences
ydict -m <word(s) to query>
  1. Query and add this word into local cache, next time when you query the same word, it will be feched from the local cache and be much more faster.
ydict -c <word(s) to query>
  1. Query sentence
ydict -s "你觉得咋样?"

SOCKS5 proxy

Starting from V0.5, you can use SOCKS5 proxy. At the same directory of ydict, just create a .env file:


Now all the queries will go through the specified SOCKS5 proxy.

New words notebook

Starting from ydict V2.0, new words notebook is supported. You can use is to add/delete your new words and play it.

  • Add a new word to the notebook
ydict -c hello
  • Remove a word from the notebook
ydict -d hello
  • List all the words from the notebook
ydict -l
  • Display a random word from the notebook for every 10 seconds
ydict -p 10


Just type "ydict" to get help.


MIT License