Laid comes from lay, a verb that needs an object — you lay something down: "she laid the book on the table." Lain comes from lie, which takes no object — you simply lie somewhere: "he has lain in bed all day." If there is a thing being put down, you want laid.
The core difference
The split follows the two verbs, and the two verbs differ by whether they take an object.
- lay (needs an object) — lay, laid, laid: I lay the book down. I laid it down. I have laid it down.
- lie (no object) — lie, lay, lain: I lie down. Yesterday I lay down. I have lain down.
Why this one is genuinely hard
Because the past tense of lie is lay — the same string as the present tense of the other verb. "I lay down for an hour" is correct as a past tense of lie, and identical in spelling to the present of lay. English has set a trap here and there is no way round it but to learn the two rows.
The test
Ask what is being put down. If you can answer, use lay/laid/laid. If nothing is being put down — the subject is just reclining — use lie/lay/lain.
Frequently asked questions
Is "I have laid in bed" correct?
No. It should be "I have lain in bed". Laid needs an object — something you put down.
Why is lay both a present and a past tense?
Because it belongs to two verbs. Lay is the present of the transitive verb, and also the past tense of the intransitive lie.
What about a chicken laying eggs?
That is the transitive verb with an object — the egg. So: the hen lays an egg, the hen laid an egg, the hen has laid an egg.