OpenSSL does it all when it comes to anything certs. It is included in many linux installs and there is an open source installer for windows if need be that has been around for years.
You can convert the pfx to PEM format (still PKCS #12):
OpenSSL pkcs12 -in FILENAME.pfx -out FILENAME.pem
You can separate the private key and cert from a pfx file:
openssl pkcs12 -in filename.pfx -nocerts -out filename_key.pem
openssl pkcs12 -in filename.pfx -nokeys -out filename_cert.pem
Depending on how it was issued, you may need to add these to each, in the appropriate 'in' area and 'out' area of the commands, if the certs were created in DER format instead of base64/PEM. These will add the conversion from one method to the other.
-inform DER -outform PEM