What’s the difference between Ich habe dich lieb and Ich liebe dich?
Both are defined as “I love you” in many dictionaries, as I’ve checked.
“Ich liebe dich” is stronger and more profound than “Ich habe dich lieb”. The difference is hard, if not impossible, to translate to English, or only with some extra language acrobatics; but in German, there is indeed a difference.
“Ich habe dich lieb” is commonly used among somewhat close and beloved family members, such as towards aunts/uncles/nieces/nephews, grandparents/grandchildren, parents/children etc., or as a more light-hearted, not quite as “binding” declaration of love for the significant other. Saying it to mere friends or acquaintances would be inappropriate usually.
(Edit: It can be used outside the family circle, among friends in a very affectionate way, but only towards someone who knows exactly how you mean it, unless you want to risk misunderstandings.)
“Ich liebe dich” is reserved for the significant other such as boy/girlfriend, wife/husband, or your closest family such as parents/children. It is the unambiguous declaration of love.
As far as I know, in English you have these gradations, ordered from weak to strong (I’m a German native speaker, so I’m not absolutely sure if there are more):
I like you.
I love you.
In German you can say it these ways (again ordered from weak to strong):
Ich mag dich.
Ich hab dich gern.
Ich hab dich lieb.
Ich liebe dich.
I would translate the first three as “I like you”. Only “Ich liebe dich” is “I love you”.
If you are creative, you will find even more shades (in both languages).
“Ich habe Dich lieb” is commonly used as a sign of strong feeling of friendship, of being prepared to go the extra mile to make the other person happy, to care for him/her and not to wish anything ill. Even close relatives would nearly never say “Ich liebe Dich”, but “Ich habe Dich lieb” (EDIT: with the noteable exception of children and their parents). The phrase gets more common when the age difference becomes bigger. Caring is a strong motive of that phrase.
“Ich liebe Dich” on the other hand suggests a closeness and desire including (but not restricted to) sexual meanings. That’s one reason why relatives often shy away from that phrase. If you say “Ich liebe Dich” you usually imply you want to move together with that person and share rooms (and more) with him/her. It is a much stronger phrase with the emphasis on being and staying together.
Ich habe dich lieb is something a little girl would say to her mommy.
Ich liebe dich is the ultimate expression of emotion a person can make towards another and is used sparingly, as it easily comes across as pointlessly melodramatic. A little girl would only use that towards her mother if she had watched too many cheezy, badly translated Hollywood rom coms.
Also, in German, no-one would ever say something like I love you, but I’m not in love with you as they do so often in Hollywood movies (errrmm, or so I heard …); in German, I love you is the ultimate, nothing will ever top that.
I have never used “Ich liebe dich” with anybody but my significant other. Maybe it’s more common in other parts of Germany, but “Ich hab dich lieb” can be used for both family and spouse.
Additionally, you’ll find “Ich liebe dich” in real literature, but “Ich hab dich lieb” seems more casual and novel style to me.
Ich habe dich lieb sounds like it can be translated to I hold you (very) dear, or You are (very) dear to me. It expresses deep affection/endearment, something that you don’t feel for everybody.
Ich liebe dich. can easily contain romantic meaning, and is probably most likely used in such contexts.
Disclaimer: I’m learning German still, but my maternal language, Romanian, seems to have many unexpected semantic similarities with German (they’re also the source of an uncanny feeling while learning it). But that’s the subjective opinion of a beginner.
From my experience, “Ich liebe dich” does translate as “I love you”, and is typically used between intimates, e.g.: “I love you, Darling.” It is used more sparingly than the American/English counterpart. It is also used less seriously in friendships, cravings, and advertising, e.g.: “I love you, luscious chocolate.”
“Ich hab dich lieb” translates as “I have love for you” (awkward phrasing), but would be roughly the equivalent of “I cherish/care for/am glad I am related to you.” It has two principle uses: between family members, e.g., “I love you, Grampa”, and as a precursor to “Ich liebe dich”, e.g.: “I really like you, Sweetheart.” My daughter uses this phrase as a closing in many of her emails back home.
As already mentioned Ich habe dich lieb is a not so strong version of love. It’s meaning is most of the time the same as Ich liebe dich but put into a non-sexual/non-relationship context, like the feelings you have for your sister/brother.
But I’ve also seen it used very easily/watered down between teenagers (especially while communicating via text messages, (especially the shortened hdl, hab dich lieb)) to imply a simple friendship.
The best translation/explanation in English I can think of is “I like you [very much] and I care for you”. Though, that one might be off, too, because I’m not a native English speaker.
The reason that the google ngram shows a higher usage of "ich liebe dich" vs. "i hab(e) dich lieb" is because there are so many translation books that teach non-natives to say "ich liebe dich". It's overly commonly taught. I have never once seen a translation book teach "ich hab(e) dich lieb" (but they should). This heavily skews the results. This is why "results" do nothing to combat native speakers experience.
Although this question has been answered well enough, I’d like to add a little story, which is exactly about the topic:
Some 14 years ago, a girl which I was very interested in, wrote me Ich hab dich lieb! in a text message. I interpreted that as the confession, that she loves me and I wrote back some happy answer, which resulted in confusion, since she only wanted to express, that she likes me very much, but was not intending to say Ich lieb dich!.
So you see, not only non-Germans have trouble in understanding the difference … at least, it turned out well, since she is my wife now for many years!
Interesting debate. If anyone ever saw the movie die Ehe von Maria Braun, there was this same confusion during her trial. When asked about her feelings for her husband, she said “Ich liebe ihn”. But when asked her feelings about an American sergeant she had been having an affair with, she said, “Ich habe ihn lieb”. Since it was a trial being conducted by Americans in postwar Germany, the judge was completely confused about the relationships because the interpreter translated both phrases as “I love him”.
Unless you are German and understand its subtle usages, a simple translation isn’t going to work here! There is formal/informal, there are extra pronouns, there are many differences from German to English. It is not straightforward. A dictionary or translation page isn’t going to teach you the subtleties of the language. To those on this page that are making it all black and white … sorry German doesn’t work that way. There are even differences in usage from High German to Low German … (North and South) the different dialects place emphasis on words and combinations differently. It is not simply a literal translation …
Ich liebe dich (I love you) is not something someone there says flippantly, it’s not spoken on a day to day basis in public, like it’s thrown around in the states … period.
It’s similar to the English not hugging in public — or at all in some cases … it’s a behavior thing, rather than a language thing. And it’s taken seriously.
I was born there … learned German first and then learned English.
English doesn't share this concept linguistically, but philosophically it's easy: Big L versus little l. "Ich liebe dich" is ONLY for lovers. "Ich habe dich lieb" is the love you share with family.
If you use this say ("Ich liebe dich") on your mother, you'd be insinuating you want to make love to your mother.