Almost like a less offensive Urban Dictionary, IdiomDictionary is for those phrases that everyone seems to understand except you — instead of getting them to explain it, you can look it up in their giant database of over 5000 idioms.
IdiomDictionary is pretty simple to use; you just type a phrase in the search box and it will explain to you the idiom's meaning. It does have quite a few, including a large number that I had never even heard of before. You can browse by letter if you'd like to just learn a bunch of new idioms you can rattle off, but the search is its most useful function.
Unfortunately, it doesn't go the other way — if you're looking for a clever way to say something, you can't look up an idiom for that idea. I can't search "relax", for example, and come up with "hang loose". You can only search for idioms themselves. It's kind of a bummer (that would be such a useful feature), but it's still incredibly handy for those situations when you hear a phrase you just aren't familiar with. Hit the link to check it out.