There is no decompiler to Solidity. This is in principle possible to
some degree, but for example variable names will be lost and great
effort will be necessary to make it look similar to the original
Bytecode can be decompiled to opcodes, a service that is provided by
several blockchain explorers.
Contracts on the blockchain should have their original source code
published if they are to be used by third parties.
Retrieved from: http://solidity.readthedocs.io/en/latest/frequently-asked-questions.html