Been means the person went and has already returned; gone means they went and are still there. "Marco has been to the shops" — he's back, with the shopping. "Marco has gone to the shops" — don't look for him, he's out. Both follow have/has/had.
The round trip test
Ask a single question: is the person back?
- Back → been: I've been to the dentist. (I'm here, telling you about it.)
- Still away → gone: She's gone to the dentist. (She's not here.)
This is why "I've gone to the shops" is almost never something you can say out loud — if you're there to say it, you've come back. It works only in a note left on the table.
Been for life experience
When you're talking about whether something has ever happened, been is the form:
- Have you ever been to Japan?
- We've been to that restaurant three times.
- He's never been abroad.
A dialect note worth knowing: British English uses been for this experience sense almost without exception, while American speakers sometimes use gone — "Have you ever gone skiing?" is unremarkable in the US. In British writing, stick with been.
Been is also the past participle of "be"
Half of been's work has nothing to do with travel at all. It's what be turns into after have:
- She has been ill all week.
- It's been a long day.
- They had been friends for years.
Gone can never fill these slots, because gone comes from go.
Gone as a plain adjective
Gone often behaves like an adjective meaning absent or used up: The milk's gone. All the tickets were gone by lunchtime. He's been gone for hours. That last example uses both words at once, and it's correct — been from be, gone describing his state.
The mistake to avoid
Don't put been or gone on their own without an auxiliary. "I been there" and "She gone home" are non-standard in writing; you need have, has or had in front. And for a simple past with no auxiliary, the word is went: I went there last year.
Quick reference
- Where have you been? — you're back now, so: what did you get up to?
- Where has he gone? — he's still away: which place is he at?
Frequently Asked Questions
Is it "I have been to London" or "I have gone to London"?
"I have been to London" — you visited and returned. "I have gone to London" would mean you're in London right now, which you can't be if you're saying it to someone in front of you.
Can I say "He's been gone a long time"?
Yes, and it's correct. "Been" is the participle of be, and "gone" here is an adjective meaning absent, so the sentence means he has been away for a long time.
What's the difference between "has been" and "has gone" for a delivery?
"The courier has been" means he came and left again — check your doorstep. "The courier has gone" means he has departed, often implying you missed him.