Is there a way to parse raw transactions offline?
You can run bitcoind or bitcoinqt in offline mode (disconnected from the Internet). The client does not need to be synced. Then you can use the console to view transactions using the command. 

decoderawtransaction &lt;hex string&gt;

To check if the signatures are correct, you need to do a 

signrawtransaction &lt;hex string&gt; without any other arguments. It will output a {complete:true} result if the signature verifies. 

Edit: I should mention that the signatures cannot be verified if the inputs are not known to bitcoind. In that case you will have to supply the inputs as discussed here.