Italian flag

Bambino vs. ragazzo vs. figlio

The Italian words bambino, ragazzo, and figlio can all refer to a young male, but they are not interchangeable. The key difference lies in the person's age and their relationship to the speaker.

Bambino

A1
This word means child and is used for a young person from infancy up to early adolescence (roughly 0-12 years old). Its primary focus is on the age group, not the relationship. The feminine form is bambina.
C'è un bambino che piange.
(There is a child crying.)
Da bambino giocavo sempre fuori.
(As a child, I always played outside.)
Hanno adottato una bambina di cinque anni.
(They adopted a five-year-old girl (child).)
I bambini devono andare a letto presto.
(The children must go to bed early.)

Ragazzo

A1
This word means boy, teenager, or young man. It describes an age group older than bambino, typically from the teenage years to young adulthood (around 13-30). It can also specifically mean boyfriend. The feminine form is ragazza.
Quel ragazzo con la maglietta rossa è mio cugino.
(That boy in the red t-shirt is my cousin.)
Domani esco con il mio ragazzo.
(Tomorrow I am going out with my boyfriend.)
È un gruppo musicale di quattro ragazzi di Liverpool.
(It's a music band of four young men from Liverpool.)
Cerchiamo un ragazzo per aiutarci in negozio.
(We are looking for a young man to help us in the shop.)

Figlio

A1
This word means son and exclusively describes a family relationship. It is not tied to age; a person is a figlio for their entire life in relation to their parents. The plural figli means sons or children (both male and female). The feminine form is figlia (daughter).
Mio figlio frequenta l'università.
(My son attends the university.)
Quanti figli ha la signora Bianchi?
(How many children does Mrs. Bianchi have?)
Anche a sessant'anni, lui è sempre il figlio dei suoi genitori.
(Even at sixty, he is still his parents' son.)
Il loro figlio più piccolo si chiama Luca.
(Their youngest son is named Luca.)

Summary

In summary, use bambino for a young child based on their age. Use ragazzo for a teenager or young adult, also based on age, or to mean boyfriend. Use figlio strictly to indicate the relationship of a son to a parent, regardless of his age.