可是 vs. 但是
kě shì vs. dàn shì
Both of them have the meaning of ‘but’. However, there are some subtle differences.
可是 has the meanings like ‘but, yet, however’
但是 has the meanings like ‘ but, yet; still, nevertheless’
可是 is more often used in spoken Chinese, while 但是 is used in both spoken and written Chinese. 但是 has a bit more stronger tone than 可是. Most of the time, they are interchangeable.
他喜欢我，[可是/ 但是] 我不喜欢他。
He likes me, but I don’t like him.
我喜欢这条牛仔裤，[可是/ 但是] 太贵了。
I like this jeans, but it is too expensive.
Sometime 虽然 is in the first clause, and [可是/ 但是] is used in the second clause to express the turning of the tone.
虽然 means ‘although, even though’
他虽然很聪明，[可是/ 但是] 没努力，所以失败了。
Although he is smart, but he did work hard. So he failed.
Here 虽然 can also be placed at the beginning of the sentence.
虽然他很聪明，[可是/ 但是] 没努力，所以失败了。
可是 can also be used for emphasis. It has the meanings like ‘really, truly, indeed’ . 但是 does not have this function.
He is truly my idol.
他但是我的偶像。 ( This is not correct. )