Goal or reason?
You probably already know four set phrases: por la mañana, por favor, para ti, para comer. Here is the system behind them.
The same sentence, two meanings
Lo hice por ti.
I did it because of you.
You were the reason.
Lo hice para ti.
I made it for you.
You get the result.
The difficulty for English speakers: for covers both. Thanks for your help is a reason (por), a present for your mother a recipient (para), away for three days a duration (por), ready for Tuesday a deadline (para). So never ask which English word you would use, ask whether you are naming a reason or a goal.
Por - reason and circumstance
Cerraron la carretera por la nieve.
They closed the road because of the snow.
Cause: why?
Te lo mando por correo.
I'll send it to you by post.
Means: how? through what?
Pasamos por Toledo.
We pass through Toledo.
Route: through where? around where?
Pagué diez euros por el libro.
I paid ten euros for the book.
Exchange, price: for what?
Vivió en Lima por tres años.
He lived in Lima for three years.
Duration: for how long?
Para - the goal
Ahorro para el viaje.
I'm saving for the trip.
Purpose: what for?
Cociné para toda la familia.
I cooked for the whole family.
Recipient: for whom?
Salgo para Bilbao.
I'm setting off for Bilbao.
Direction: where to?
Lo necesito para el jueves.
I need it by Thursday.
Deadline: by when?
Para mí, está claro.
To me, it's clear.
Opinion: from whose view?
Para ser alemán, habla muy bien español.
For a German, he speaks Spanish very well.
Yardstick: measured against what?
Two easy mix-ups
Duration or deadline
Me voy por tres días.
I'm going away for three days.
For how long?
Lo termino para el martes.
I'll have it finished by Tuesday.
By when?
Route or direction
Vamos por la costa.
We're driving along the coast.
Through where?
Vamos para la costa.
We're driving towards the coast.
Where to?
Estar por and estar para
With estar, both prepositions take on a fixed meaning. estar por + infinitive: something is still to be done, or someone is inclined to do it. estar para + infinitive: something is about to happen, or someone is in the mood for it (mostly negative). For "about to", everyday Spanish more often says estar a punto de.
La cocina está por limpiar.
The kitchen still has to be cleaned.
estar por: still to be done
Estoy por quedarme en casa.
I'm tempted to stay at home.
estar por: inclined
El tren está para salir.
The train is about to leave.
estar para: about to
No estoy para bromas hoy.
I'm not in the mood for jokes today.
estar para: in the mood
Set phrases
Learn these as whole phrases; the preposition cannot be worked out.
Llévate el paraguas, por si acaso.
Take the umbrella, just in case.
Perdí el tren y, para colmo, empezó a llover.
I missed the train and, to top it all off, it started to rain.
Por lo visto, no viene nadie.
Apparently nobody is coming.
Por cierto, ¿has visto a Laura?
By the way, have you seen Laura?