Identical in meaning — both refer to an unspecified person, and both take a singular verb. Someone is marginally more formal and commoner in writing; somebody is more conversational. Pick whichever suits the tone; no rule prefers one.
The core difference
None in meaning. Someone and somebody are a matched pair, exactly like everyone and everybody, and the split between them is tone rather than sense.
Register, not rule
Someone dominates edited prose. Somebody is commoner in speech and in writing with a spoken texture. Compare "Someone must have told him" with "Somebody must have told him" — the second sounds like a person talking, the first like a person writing.
There is a mild idiomatic pull in fixed phrases: "somebody else's problem" and "he thinks he's somebody" both resist swapping, because somebody there carries a note of dismissiveness or importance that someone lacks.
The grammar
- Someone is waiting. — singular verb
- Somebody has left a coat. — singular verb
- Someone left their coat. — singular they, standard
Some one, two words
As with every one, the spaced form is a different construction: some one means a particular unnamed member of a set, and it is rare in modern writing. If you mean an unspecified person, close it up.
Frequently asked questions
Is there any difference between someone and somebody?
Not in meaning. Someone is slightly more formal and commoner in writing; somebody is more conversational. Both are singular.
Which is correct in formal writing?
Both are correct, but someone is the more usual choice in edited and formal prose.
Is "someone left their coat" grammatical?
Yes. Singular they is standard English and long predates the modern debate about it.