More grammatically correct: "anything but" or "anything except"?

Could you tell me which of these phrases is grammatically correct — "anything but" or "anything except"?

If the use depends on context, what are the instances when each must be preferred?


Anything but can be a phrase used to emphasise that something is not what was expected

Example from the dictionaries:

She's meant to be really nice but she was anything but nice when I met her.

In sentences where such meaning is not intended, except (as mentioned by Kris) is preferred since it does not interfere with the above meaning.

"I can't give you anything but love" would be more correctly written "I can't give you anything, except love".


but = except

Both are grammatical. Except should preferably be preceded by a word with a comma. In short and very clear sentences, the comma may be dropped, though.

However, anything but is a kind of set phrase -- use it for effect; anything, except is more clear and preferred in serious writing, use it in general.