Explanation
English often says “I went to the doctor,” “I was at the doctor’s,” and “I have been to the doctor” with overlapping meanings. Russian forces a useful distinction between motion/visit and presence/experience.
Ходить means go on foot, attend, visit, or make a round trip. In the past, ходил / ходила / ходили often reports that someone went somewhere and came back:
- Я ходил в магазин. — I went to the store.
- Она ходила к врачу. — She went to the doctor.
- Мы ходили на концерт. — We went to a concert.
- Дети ходили в музей. — The children went to a museum.
Быть means to be. In the past, был / была / было / были reports presence, location, or experience:
- Я был в магазине. — I was in the store.
- Она была у врача. — She was at the doctor’s.
- Мы были на концерте. — We were at a concert.
- Дети были в музее. — The children were in a museum.
The difference is not always huge in practical meaning, but it matters for what the sentence is doing. Ходить emphasizes the trip, visit, attendance, or action of going. Быть emphasizes presence, location, or experience.
Doctor examples
The doctor domain shows the contrast clearly.
- Я ходил к врачу. — I went to the doctor.
- Я был у врача. — I was at the doctor’s.
- Мне надо сходить к врачу. — I need to go see a doctor.
- Ты уже был у врача? — Have you already been to the doctor?
The prepositions also matter. Russian often uses к врачу with motion toward the doctor as a person/professional, and у врача for being at the doctor’s place or in the doctor’s care.
- идти к врачу — go to the doctor
- ходить к врачу — go/visit the doctor
- быть у врача — be at the doctor’s
- сидеть у врача — be sitting at the doctor’s / in the doctor’s office
A learner who writes Я был к врачу has combined the motion preposition к with the non-motion verb быть. That is a structural error, not just a vocabulary slip.
Events, institutions, and travel
For events, ходить на often means attend:
- Мы ходили на лекцию. — We went to/attended a lecture.
- Мы были на лекции. — We were at the lecture.
- Ты ходил на концерт? — Did you go to the concert?
- Ты был на концерте? — Were you at the concert?
For institutions, ходить в often means attend regularly:
- Она ходит в школу. — She goes to school / attends school.
- Она была в школе. — She was at school.
- Он ходит в университет. — He attends university.
- Он был в университете. — He was at the university.
With cities and countries, Russian can contrast ездить and быть:
- Я ездил в Петербург. — I traveled/went to Petersburg.
- Я был в Петербурге. — I was/have been in Petersburg.
- Ты ездил в Японию? — Did you travel to Japan?
- Ты был в Японии? — Have you been to Japan?
Ездил emphasizes the trip. Был emphasizes experience or presence.
Contrast sets
Store
- Я ходил в магазин. — I went to the store.
- Я был в магазине. — I was in/at the store.
Doctor
- Она ходила к врачу. — She went to see the doctor.
- Она была у врача. — She was at the doctor’s.
Museum
- Мы ходили в музей. — We went to the museum.
- Мы были в музее. — We were in the museum / have been to the museum.
Concert
- Они ходили на концерт. — They went to a concert.
- Они были на концерте. — They were at the concert.
Travel
- Я ездил в Ригу. — I traveled to Riga.
- Я был в Риге. — I was/have been in Riga.
Common learner errors
The first error is translating English “I went” automatically with ходил even when the sentence is about presence. “I was at the lecture when he called” should be Я был на лекции, когда он позвонил, not Я ходил на лекцию, когда он позвонил.
The second error is using быть with motion prepositions: Я был к врачу, Я был в Москву. Correct forms are Я был у врача, Я был в Москве. For motion: Я ходил к врачу, Я ездил в Москву.
The third error is assuming ходил always means repeated past action. It can, but in many everyday contexts it means a completed trip or visit: Я ходил в аптеку — “I went to the pharmacy.”
The fourth error is ignoring transport. For distant places, ездил often fits better than ходил:
- Я ездил в Берлин. — I traveled to Berlin.
- Я был в Берлине. — I have been to Berlin.
Use a two-question diagnostic:
- Are you reporting a trip/visit/attendance action? Use ходить or ездить.
- Are you reporting presence, location, or life experience? Use быть.
Then pair the prepositions:
- ходить к врачу / быть у врача
- ходить в музей / быть в музее
- ходить на концерт / быть на концерте
- ездить в город / быть в городе
- ездить на море / быть на море
Practice with prompts:
- “Where were you yesterday?” → Я был в университете.
- “Where did you go yesterday?” → Я ходил в университет.
- “Have you been to Kazan?” → Ты был в Казани?
- “Did you travel to Kazan last year?” → Ты ездил в Казань в прошлом году?
What exactly is the sentence reporting?
The key question is whether Russian is reporting presence, experience, attendance, a trip, or a path in progress. English “I went” often blurs those distinctions.
| Russian | Best reading | What it reports |
|---|---|---|
| Я был в музее. | I was/have been at the museum. | Presence or experience. |
| Я ходил в музей. | I went to the museum. | Visit on foot or institution-like outing; return implied. |
| Я ездил в музей. | I went to the museum by transport. | Vehicle trip or visit; return implied. |
| Я шёл в музей. | I was walking to the museum. | Path in progress. |
| Я ехал в музей. | I was riding/driving to the museum. | Vehicle path in progress. |
Why у врача and к врачу matter
This contrast shows up constantly:
Я был у врача.I was at the doctor’s / I saw the doctor.Я ходил к врачу.I went to the doctor.Я шёл к врачу, когда ты позвонил.I was on my way to the doctor when you called.Мне надо к врачу.I need to go see a doctor.
The grammar matters as much as the vocabulary. К marks motion toward the doctor; у marks being there.
Cities and countries use the same logic
The distinction shifts slightly for larger destinations:
Я был в Париже.I have been to Paris / I was in Paris.Я ездил в Париж.I traveled to Paris and returned.Я ехал в Париж поездом.I was traveling to Paris by train.Я часто езжу в Париж по работе.I often travel to Paris for work.
Быть can still report a life experience that English phrases more dynamically. Ты когда-нибудь был в Сибири? is not asking whether you sat still in Siberia. It is asking about the experience of having been there.
A four-label diagnostic
For every English “went to X,” try forcing one of these labels:
- Presence or experience:
был в Москве - Visit or round trip:
ходил в музей/ездил в Москву - Path interrupted:
шёл в музей/ехал в Москву - Routine attendance or travel:
хожу на занятия/езжу в офис
That is the real rule. Быть confirms presence or experience, while ходить/ездить report the trip, visit, attendance, or route profile.
Questions reveal the intended frame
Questions are a good self-test because they force the distinction:
| Question | Likely answer type |
|---|---|
| Где ты был? | Я был в библиотеке. |
| Куда ты ходил? | Я ходил в библиотеку. |
| Куда ты ездил летом? | Я ездил в Казань. |
| Ты когда-нибудь был в Казани? | Да, был. |
| Ты часто ездишь в Казань? | Да, езжу по работе. |
| Ты сейчас куда идёшь? | Иду домой. |
| Ты сейчас куда едешь? | Еду на вокзал. |
A learner who can answer these accurately is no longer just translating word for word.
Final rule
Use ходить/ездить to report going, visiting, attending, or making a trip; use быть to report presence, location, or experience.