← JLPT N5 home

しかし

EN'however' (formal contrast)

JA「しかし」は 「でも」と おなじいみで、もっと あらたまった、ぶんしょうで つかう ことばです。「がんばりました。しかし、まけました」。

Explanation

Formal/written form of でも. Same meaning, more formal register.

Examples

JAテストは むずかしかったです。しかし、できました。
ENThe test was hard. However, I did it.
JA雨が ふっていました。しかし、出かけました。
ENIt was raining. However, I went out.
JA日本語は むずかしいです。しかし、たのしいです。
ENJapanese is difficult. However, it is fun.
JAりょうりは おいしいです。しかし、すこし たかいです。
ENThe food is delicious. However, it's a little expensive.
JAむずかしかったです。しかし、おもしろかったです。
ENIt was difficult. However, it was interesting.
JAいそがしいです。しかし、たのしいです。
ENI'm busy. However, it's enjoyable.
JAやすかったです。しかし、よく ありません。
ENIt was cheap. However, the quality is not good.
JAにほんごは むずかしいです。しかし、 がんばります。
ENJapanese is difficult. However, I'll do my best.
JAたかいです。しかし、 ひつようです。
ENIt's expensive. However, it's necessary.
JAつかれました。しかし、 まだ しごとが あります。
ENI'm tired. However, I still have work.

Register variants — both forms are correct

These forms differ in register, formality, or pragmatic context — not in grammaticality. Pick by context.

formal (しかし in casual context) むずかしかったです。しかし、できました。 (in casual speech)
casual (でも) むずかしかったです。でも、できました。
しかし is formal/written; in casual conversation, でも is more natural.
casual (でも) テストは むずかしかったです。でも、できました。
formal (しかし) テストは むずかしかったです。しかし、できました。
しかし = FORMAL 'but/however' (written, presentation, business). でも = CASUAL 'but'. Both are correct semantically; しかし is the right register for formal contexts (news articles, essays). The example reads as more formal — しかし fits.
casual (でも in formal context) テストは むずかしかったです。でも、できました。 (in formal writing)
formal (しかし) テストは むずかしかったです。しかし、できました。
Formal writing prefers しかし over でも. でも is conversational; しかし is the news/essay register. Match the surrounding sentence's formality.

Wrong / corrected pairs

✗ たかいですしかし、おいしいです。
✓ たかいです。しかし、おいしいです。
しかし is sentence-initial; needs full stop before and comma after.
✗ しかしに、ちがいます。
✓ しかし、ちがいます。
しかし takes no particle.
✗ むずかしい でも しかし、たのしい です。
✓ むずかしい です。しかし、たのしい です。
でも and しかし have similar function (but/however); do not stack.