Learn English – Difference between “could do” and “could have done”

meaning-in-contextmodal-verbs

I tried to find the difference between following two sentences:

I could do it.

I could have done it.

I am still confused between these two sentences. Please let me know what is the difference between them in context.

Best Answer

John: We are having a party tomorrow. I need someone to cook the fish.

Alice: I could do it.

That is, in the future, Alice can cook the fish.


John: The party was a disaster. No-one knew how to cook the fish.

Alice: I could have done it.

That is, in the past, Alice could have cooked the fish.


Compare to:

John: We are hungry. We need someone to cook the fish.

Alice: I can do it.

That is, in the present, Alice can cook the fish.