狗 (gǒu) and 犬 (quǎn) both mean "dog" and both seem relatively common, but is there any difference between them? When should I use one and when should I use the other?
Huang's answer is great, some addition information here.
犬 usually can be used to say categories of dogs.
警(jǐng)犬(quǎn) -- dogs serve in police forces
导(dǎo)盲(máng)犬(quǎn) -- dogs to assist people with eyesight problems.
狗 usually can be used to refer a specific dog or dogs.
The little black dog of mine.
Both of them refer to the same thing, "dog". “狗” is used much more in oral speaking, and “犬” is a formal word that you would see in books.
For words expressed in a classical (formal) way, you won't see "狗" but "犬".
An idiom: 一人得道，鸡犬升天
When a man becomes an Immortal(God), even his pets like chickens and dogs go to heaven. An analogy that when someone becomes powerful, his associates would somehow become powerful too. We use it in a critical and negative way.
犬子(literally: dog's son)
It's a word you will use to refer to your son in a humble way. In a few cases, you will hear this word nowadays. You would say "犬子今年20岁" (my son is 20 years old this year), to show your respect to the listener. (Of course, this expression is old-fashioned.)
鹰犬 (literally: hawk and dog)
When you hunt in the field, you would take advantage of a hawk (falcon) or a dog (hound) to chase the game for you, so this word is an analogy to say "hired thugs", somone that implements your order [to commit crimes]. We use it in a negative way too.
Usually, you will see it in the newspaper or the bulletins and announcements from the government.
小犬座 (Canis Minor, a small constellation) Here we don't use 小狗座
狗 is a vulgar (informal) word (in Chinese culture, a dog is not a good thing), so you will see it more in ordinary life, in oral speaking.
狗腿子 (literally: dog's feet). With the same meaning as “鹰犬". 狗崽子 (literally: a puppy). A curse word to refer to someone that you hate. you would ask your neighbour:"how old is your dog?" "你的狗多大了？" here, you wouldn't say "犬".
Note: There are few idioms with "狗" instead of "犬". For example, “狗尾续貂", but this word came from a popular oral proverb in its times, so this doesn't violate the viewpoint that “犬" is used formally.
When would you use "狗" or "犬"? Well, these words are fixed, so you have to memorize them. It's good to enlarge your vocabulary to avoid misuse. In most cases, you would use "狗".
gǒu is the common word for "dog", found in spoken language almost everywhere in China.
quǎn is now a learnèd word; but it is the main word found in the meaning "dog" in old texts, and some people have theorized that it could be cognate to English hound and its Indo-European relatives. Quǎn is used in just a few dialects, most notably Fúzhōu, as the word for "dog". And in Mandarin quǎn appears mainly in educated compounds, while gǒu is the ordinary word for "dog" in everyday speech.
In modern day usage, 狗 is used in more oral and casual context, while 犬 is used in more literal and formal context.
Contrary to typical Chinese language trend, it is not true that 犬 is from classical Chinese text, while 狗 is a modern word.
Here are five common idioms involving the word 狗 or 犬, and their original literary sources:
- 雞鳴狗盜 - 乃夜為"狗"，以入秦宮臧中，取所獻狐白裘至 ... 客之居下坐者有能為雞鳴 (Han Dynasty) or 皆藉王公之势，竞为游侠，鸡鸣"狗"盗，无不宾礼 (Han Dynasty)
- 雞犬不寧 - 譁然而駭者，雖雞"狗"不得寧焉 (Tang Dynasty)
- 狡兔死 走狗烹 - 飛鳥盡，良弓藏；狡兔死，走"狗"烹 (Han Dynasty)
- 畫虎類犬 - 效季良不得，陷为天下轻薄子，所谓画虎不成反类"狗"也 (Han Dynasty) (some argue 狗 means tiger cub here)
- 虎父無犬子 - 先主视之，叹曰：虎父无"犬"子也！ (Yuan Dynasty, Romance of the Three Kingdoms, may not be the origin of the phrase)
Four of the five classical texts use the word 狗, while the more casual Romanced of the Three Kingdoms used the word 犬. It's likely that 狗 was commonly used in formal classical Chinese text, perhaps more so than 犬.
In ancient Chinese, 狗 is baby or young dog, while 犬 is grown-up dog. In today's Chinese, they are almost the same. But 狗 is more for oral or informal expression, while 犬 is formal.
And, please be more aware to some fixed phrases, like those mentioned by other guys here, for example 狂犬病 (hydrophobia) is a medical term, and you should not use 狂狗病 (some people also use 疯狗病 for hydrophobia in oral, but this is just for informal usage)