Is it appropriate to call a British person a "Brit"?

Solution 1:

According to the NOAD it's informal. But it doesn't explicitly specify about the adjective being informal.

The OALD agrees on it being informal and there is a good note on it. I'll paste the second part:

The noun Briton is used mainly in newspapers: The survivors of the avalanche included 12 Britons. It also describes the early inhabitants of Britain: the ancient Britons. Brit is informal and can sound negative. Britisher is now very old-fashioned.

Solution 2:

I am British, live in Britain and can state I have never heard the British use the term "Brit" about themselves. Nor have I heard any other country use it other than the Americans. We tend to say "I am British" rather than "I am a Brit". Newspapers refer to British people as "British" or "Britons" (as in "ten Britons died in the fire"). We would say "were there any British people there?" or "were there any British there?" — never "were there any Brits there?".

Offensive? Not really — more disrespectful because it suggests the Americans can't be bothered to use our terminology and have to invent their own.

Solution 3:

It's what I would use informally about myself and is becoming more common with phrases like "Brit-pop".
Briton is a bit more formal but in speech it's hard to distinguish from Britain.

It's definitely not offensive in the same way as Jap or Paki would be.