How do I convert a Texture2d/PNG to a different format?

I want to be able to convert my texture into a format other than a PNG. Is there a way of converting either a texture2D to a different format or converting a Texture2D into a png then into a different format? I tried saving Color of the texture and converting into bytes but that didn’t work.

You can convert it into pretty much anything you want if you have the proper algorithm. Just use the GetPixels() method to retrieve the raw color data (a Color array):
Unity - Scripting API: Texture2D.GetPixels

Once you have the color array, and you know the block width and height (see the Texture2D documentation), you can write it to any file in any format you want.

If your question is more of “does Unity provide a helper method for other formats,” then no. It only has the PNG export. But check the following link for how to export a JPEG by writing your own encoder:

http://technology.blurst.com/unity-jpg-encoding-javascript/

Another option you might consider is, if your application will have web access, use an online service, send the PNG data to it, and it will convert and return the JPEG or other format to you. For instance, check out Amazon’s Elastic Transcoder (this may only do video, but I bet you can find an image transcoder out there):