Spanish Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the Spanish language. It's 100% free, no registration required.

'Claro' is used more in conversation, such as, when someone is telling you a story, the listener often peppers his responses with 'claro' and 'claro que si', in order to express the listener's affirmation and understanding of the story. But 'por su puesto' is used more in declaring something true or obvious, such as, "you are of course the idiot in this situation," or "this is of course the way of doing it."

Claro can be exactly translated to clear, so its used to point out something supposed to be obvious.

Por supuesto is more complex, it does the same job but by a different approach.
The "supuesto" is something implicit in the content. Something that was indirectly pointed out, or, of what it consists or depends. How its "supposed". To translate it into english you could give this answer; Of course, its to be taken as a supposition. This is why we can also say: se supone, witch means: its supposed. The word supuesto literally means putted under, to refer to something (Concepts or ideas).

Claro is pretty passive, but the word itself suggests something to be clear and concrete.

Claro, to me, sounds like the equivalent of Yeah sure, Alright., Ok, Gotcha and so on.

Por supuesto translates to something synonymous with this awful sentence ...It is supposed. ... or better said, Of course.. <- That phrase carries just as much respect with it as the Spanish translation