If you ever get the urge to eat something specific, like a piece of cheesecake, or a steak, or whatever, then you've had an antojo, a craving.
To say you have a craving for something, you use the verb antojarse. Actually, you may want to think of it as a desire, or an urge to eat or do something, because you can use it to say you have an urge to do something besides eat. But in this post we're talking about cravings for food.
Se me antoja un helado de vainilla
I have a craving for vanilla ice cream
This is a really easy piece of Spanish you can add to your toolbox. Simply say "Se me antoja de" and add whatever it is you're craving at the end.
You can also say:
Tengo el antojo de una torta de pesacado
I have a craving for a fish torta
You can also "ando de antojo", which means you feel like eating just about everything you see. I often find myself feeling like this.
A person can also be an antojadizo/antojadiza which means that you pretty much "ando de antojo" all the time (todo el tiempo).
Here are some examples:
Soy muy antojadizo
I always have a craving to eat
That's it. Now you can have cravings in both English and Spanish.