I am trying to say the simple sentence below in Spanish.

I have already done my homework

Google translate gives me the translation below.

Ya hice mi tarea

My attempt is below which after putting into Google translate gives "I have already done my homework".

Ya he hecho mi tarea

Is either sentence "better" than the other? How would a native speaker say this?

  • 1
    In Spain, at least in the region where I live, we use the expression "los deberes" instead of "la tarea" to translate "homework". In fact, lots of my students would frown if I ask them "¿Has hecho tu tarea?".
    – Charo
    Mar 23, 2018 at 17:50
  • 2
    So, using the Spanish of my region, I would translate the sentence as "Ya he hecho los deberes".
    – Charo
    Mar 23, 2018 at 17:53
  • @Charo Interesting. I've never heard of "deberes" used as homework in México, and would think of chores on hearing it.
    – JoL
    Mar 24, 2018 at 16:26

6 Answers 6


Both are correct and no one is better than the other.

As a first impression I'd say that "Ya hice mi tarea" sounds more like we would say it in Colombia and the other more like they would say it in Spain.

  • I see. I think I read that in Spain they tend to use haber + past particple whereas in south / central america they don't. So seems like that is true. My teacher is Colombian so think I will use ya hice in this case! thanks
    – mHelpMe
    Mar 23, 2018 at 16:03
  • 1
    @mHelpMe can confirm that from Mexico.
    – DonQuiKong
    Mar 23, 2018 at 20:16

As a translation, I cannot agree that both of the answers are correct.

"I have already done my homework" is in the present perfect tense, so the correct approach would be to translate it to the same tense in Spanish:

[Yo] ya he hecho mi tarea (omit the pronoun to make it sound more natural)

While the translation Ya hice mi tarea represents the same idea, it is in the past tense, and the translation to English would be:

I already did my homework

in any case:

The present perfect is used for more formal/educated speech, while the simple past tense is used for more informal language (or depending on the region).

  • 3
    This is the grammatically correct answer. My answer and guifa's are not literal but regional translations of the sentence meaning. +1
    – DGaleano
    Mar 23, 2018 at 18:30
  • 4
    While he hecho is a direct calc of I have done, that doesn't necessarily mean that they actually express the same concept. It's like saying that the correct translation of What are you doing? is necessarily ¿Qué estás haciendo? when actually the vast majority of the time, given the difference in the aspectual systems, the most accurate and correct translation is simply ¿Qué haces?. The reverse is true as well. If someone texts me ¿Qué haces?, while What do you do? is perfectly grammatical English and a calc of the structures, it is not a correct translation. Mar 23, 2018 at 19:43

Both are perfectly fine. Depending on the context, there might be a stronger preference for one or the other form.

Speaking generally, the former (with hice) will be more used in Latin America and the latter (he hecho) will be preferred in Spain.

  • 2
    jajaja...we are in sync.
    – DGaleano
    Mar 23, 2018 at 15:58
  • @guifa thanks for your answer. I can only mark one answer as correct and purely based on the fact the DGaleano has less points that you I have awarded his answer as correct, hopefully you understand
    – mHelpMe
    Mar 23, 2018 at 16:04

It is exactly the same as in English.

Ya he hecho mis deberes means "I've already done my homework."

Ya hice mis deberes means "I already did my homework."

The first is obviously grammatically correct. In both languages, the colloquial speech of the Americas tends to eliminate the perfect in favour of the preterite.


How would a native speaker say this?

I can only answer with confidence for Mexico.

First of all, "I have already done my homework" is a bit unusual in English. I have to set the scene a little bit carefully to get my imaginary preteen in the U.S. to say this sentence. Here goes.

Malcolm's grandmother, who speaks English as a second language, is in town for a visit and has been left in charge of Malcolm for the afternoon. She intercepts him on his way outside carrying a basketball: "Malcolm, please do your homework first!" Malcolm indignantly responds, "I have already done my homework!" (With his parents, he would have used a contraction -- "I've already done my homework" -- but he instinctively avoids using contractions with his grandmother.)

In Mexico at least, it is more usual in this situation to use the simple past tense than the present perfect:

¡Ya hice la tarea!

(But there are other situations where the present perfect would come in handy.)

Notice that I have not used the possessive pronoun mi. I think this must be similar to the use of the definite article in place of the possessive pronoun, as for body parts. Example: "Levanta la mano, por favor | Raise your hand, please."


The question is actually "when to use he hecho and when hice?".

For sure there are many posts with the same question here, so I'll make a summary.

In Spain (except the north part), we use he hecho if the time when it happened is not over yet: today, THIS week, THIS month, THIS year... (and anything that happened today still uses this one)

While hice would be used if the time when it happened is already over: yesterday, last week, two weeks ago, last year, last century, and so on...

So, in short, if you've just done your homework, then it's still today → "he hecho".

If you're talking about the homework of this week, you'd also say "he hecho".

However, if you did them yesterday, you'd use "hice".

BUT, in the northern Spain AND practically all American Spanish uses always "hice". In fact, they're very unlikely to use compound forms.

Personally I don't like this because for me it implies a loss of information, but that's how it is. So... if your teacher is Colombian, then you have to choose. Neither of them can be incorrect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.