Explanation

Идти and ходить are not two random versions of “to go.” They show the basic Russian distinction between motion as a directed path and motion as a repeated, general, back-and-forth, or activity-like pattern.

Use идти when the sentence presents movement on foot as a current or narrative path:

  • Я иду в библиотеку. — I am going to the library.
  • Мы идём через парк. — We are walking through the park.
  • Куда вы идёте? — Where are you going?
  • Поезд идёт до станции “Киевская.” — The train goes to the “Kievskaya” station. Here идти is extended to scheduled movement; not every use is literally walking.

Use ходить when the movement is habitual, multidirectional, round-trip, or institutional:

  • Я хожу в библиотеку по вечерам. — I go to the library in the evenings.
  • Мы часто ходим через парк. — We often go through the park.
  • Вы ходите в спортзал? — Do you go to the gym?
  • Она ходила к врачу. — She went to the doctor.

For learners, the institutional use is especially important. Russian often uses ходить в/на to mean “attend” or “go to regularly”:

  • ходить в школу — attend school
  • ходить в университет — attend university
  • ходить на лекции — go to lectures
  • ходить на работу — go to work
  • ходить в церковь — go to church
  • ходить на занятия — attend classes

This is not merely physical walking. It is participation in a routine or institution.

Past tense: шёл vs ходил

The past-tense contrast is one of the best tests of whether the learner understands the pair.

Шёл / шла / шли describes a path in progress:

  • Я шёл домой и думал о разговоре. — I was walking home and thinking about the conversation.
  • Она шла по коридору. — She was walking down the corridor.
  • Мы шли к метро, когда начался снег. — We were walking to the metro when it started snowing.

Ходил / ходила / ходили often describes a completed round trip, repeated past behavior, or attendance:

  • Я ходил в магазин. — I went to the store and came back.
  • Она ходила к врачу. — She went to the doctor.
  • Мы ходили в эту школу в детстве. — We went to that school as children.
  • Ты когда-нибудь ходил на балет? — Have you ever gone to the ballet?

A useful English approximation is that шёл often answers “what was happening along the way?” while ходил often answers “where did you go / what did you attend / what trip did you make?”

Contrast sets

Current path vs routine

  • Сейчас я иду на работу. — I am going to work now.
  • Я хожу на работу пешком. — I go to work on foot.

Process inside a space

  • Он идёт к двери. — He is walking toward the door.
  • Он ходит по комнате. — He is walking around the room.

Past path vs visit

  • Я шёл к врачу, когда ты позвонил. — I was on my way to the doctor when you called.
  • Я ходил к врачу утром. — I went to the doctor in the morning.

Attendance

  • Она идёт в школу. — She is going to school now.
  • Она ходит в школу. — She attends school.

Ability

  • Ребёнок идёт к маме. — The child is walking toward mom.
  • Ребёнок уже ходит. — The child can already walk.

Nonliteral and extended uses

Russian uses идти in several nonliteral ways that learners should notice but not overgeneralize:

  • Дождь идёт. — It is raining.
  • Фильм идёт два часа. — The film runs for two hours.
  • Урок идёт. — The lesson is going on.
  • Тебе идёт этот цвет. — This color suits you.
  • Дела идут хорошо. — Things are going well.

Ходить also has extended meanings:

  • Эти слухи давно ходят. — These rumors have been circulating for a long time.
  • Часы ходят точно. — The clock keeps accurate time.
  • Он ходит в очках. — He wears glasses / goes around wearing glasses.
  • Она ходит грустная. — She goes around sad.

These uses are not random idioms. They grow from path, circulation, repeated presence, or visible state.

Common learner errors

The most common error is using идти for habitual attendance: Я иду в университет каждый день can be possible in a special schedule-like context, but ordinary “I go to university every day” is Я хожу в университет каждый день.

A second error is using ходить for immediate motion: Я хожу домой сейчас is not the normal way to say “I’m going home now.” Say Я иду домой.

A third error is forgetting that ходить к врачу and ходить в магазин often imply a completed visit. Learners translate too literally and think it means “was walking around the doctor” or “used to go to the store.” Context decides, but the round-trip reading is central.

A fourth error is mixing в and на mechanically. Russian says в школу, в университет, в магазин, but на работу, на лекцию, на концерт, на выставку. The motion verb does not solve the preposition problem; the destination phrase must be learned too.

Build all practice around pairs, not isolated forms.

For each destination, write four sentences:

  • Сейчас я иду в музей.
  • Я часто хожу в музей.
  • Вчера я ходил в музей.
  • Когда я шёл в музей, я встретил друга.

Then change the destination:

  • на работу
  • к врачу
  • в школу
  • на лекцию
  • в парк
  • к соседу

This drill teaches motion profile, preposition, case, and discourse together. It also prevents the common false rule “идти = present, ходить = past.” Both verbs occur in multiple tenses; the real contrast is motion profile.

Three distortions to avoid

The first distortion is over-literalizing идти as “walk” only. In many ordinary cases it does mean movement on foot, but Russian also extends it to processes and scheduled movement: идёт дождь, идёт фильм, поезд идёт до станции, урок идёт сорок пять минут. These are not random exceptions. They show that идти can present a process as moving forward.

The second distortion is treating ходить as a softer synonym of идти. It is not:

RussianTranslationLearner-safe reading
Я иду к врачу.I am going to the doctor.I am on my way now.
Я хожу к врачу.I go to the doctor.Repeated visits or treatment routine.
Я шёл к врачу.I was going to the doctor.Path in progress in a past narrative.
Я ходил к врачу.I went to the doctor.A visit occurred; return is normally implied.
Я пойду к врачу.I will go / I should go to the doctor.Future decision or departure; prefixed, not the base contrast.
Я схожу к врачу.I will go to the doctor and come back.Bounded round trip.

The third distortion is ignoring the institutional meaning of ходить. In ходить в школу, the verb is not a pedometer report. It means attendance or regular participation:

  • ходить в школу — attend school
  • ходить на занятия — attend classes
  • ходить на работу — go to work as a routine
  • ходить в церковь — go to church
  • ходить на терапию — go to therapy
  • ходить в бассейн — go to the pool regularly

A better past-tense diagnostic

In past tense, шёл does not just mean “went,” and ходил does not just mean “walked.” Ask what the sentence is trying to show. If the path is interrupted by another event, use шёл: Я шёл домой, когда начался снег. If the visit itself is the reported fact, use ходил: Я ходил домой за паспортом.

Four versions around one destination

This is still one of the best drills:

  1. Сейчас я иду в библиотеку. Current directed movement.
  2. Я часто хожу в библиотеку. Habit.
  3. Вчера я ходил в библиотеку. Visit or round trip.
  4. Я шёл в библиотеку, когда увидел друга. Narrative path.

The real rule is not “идти now, ходить always.” The real rule is that идти frames a directed path, while ходить frames habit, attendance, ability, wandering, or a completed there-and-back visit.

Forms and reusable phrase frames

Learners need the forms they actually hear:

  • иду́, идёшь, идёт, идём, идёте, иду́т
  • хожу́, хо́дишь, хо́дит, хо́дим, хо́дите, хо́дят
  • past: шёл, шла, шло, шли versus ходи́л, ходи́ла, ходи́ли

Reusable phrase frames help:

  • идти / ходить в + accusative: идти в школу, ходить в школу
  • идти / ходить на + accusative: идти на лекцию, ходить на лекции
  • идти / ходить к + dative: идти к врачу, ходить к врачу
  • идти / ходить по + dative: идти по улице, ходить по комнате

The contrast between на лекцию and на лекции is especially useful. Я иду на лекцию means I am going to a lecture. Я хожу на лекции means I attend lectures. The plural often supports the habitual institutional reading.

Final rule

Use идти for a directed path on foot and ходить for habit, attendance, ability, multidirectional movement, or a completed visit.