Skip to content

PFX Generator

Combine your SSL certificate, private key and intermediate certificates (CA bundle) into one password-protected PFX / PKCS#12 file for IIS, Exchange, Azure and Windows. The conversion runs entirely in your browser — nothing is sent to our server or stored anywhere.

Certificate

The whole certificate, including the BEGIN/END lines. Also accepts .crt, .cer, .pem, .der and .p7b files — or drop the file here.

The intermediate certificates your Certificate Authority sent you (ca-bundle, chain) — one or more. We put them in the right order for you.

Private key

The key (.key) created together with the CSR. RSA, ECDSA or Ed25519, in PKCS#8, RSA or EC format.

Only if the key is encrypted (ENCRYPTED). Otherwise leave it empty.

PFX password

This password opens the file (e.g. when importing into IIS). Leave it empty for a PFX without a password.

Advanced TripleDES-SHA1
Encryption

TripleDES-SHA1 opens everywhere, old systems included (Windows Server 2016 and earlier, Java 8, old Android). AES256-SHA256 is stronger, for Windows 10 / Server 2019 and later, OpenSSL 3 and Azure.

The name Windows and IIS show for the certificate (the alias in Java). Leave it empty to use the domain.

Or build it on your own server with OpenSSL

Same file, one command (OpenSSL 1.1.1 or later); it asks for the passwords when it runs. Updates as you type.

What is a PFX (PKCS#12) file?

A PFX (or P12 — the same standard, PKCS#12) is a "package" that holds the certificate, its private key and the chain of intermediate certificates together, protected by a password. Certificate Authorities usually send the certificate in PEM format (text starting with -----BEGIN CERTIFICATE-----), which is what Apache, nginx and cPanel want. Windows, however — IIS, Exchange, Remote Desktop, Azure App Service — expects a PFX file. This tool does the conversion.

Why it is safe: the file is built by your browser and downloaded straight to your computer. The page sends nothing — you can check it in the Network tab of the Developer Tools — and the fields are wiped as soon as you leave the page. If you would rather the key never left your server, the same conversion is available as an OpenSSL command under "Advanced".

Step by step

  1. Certificate: paste the certificate in PEM format (including the BEGIN/END lines) or open its file (.crt, .cer, .pem).
  2. CA Bundle: paste the intermediates your Certificate Authority sent (usually ca-bundle.crt or chain.pem). "Include CA Bundle / intermediate certificates" is already ticked; if you have no intermediates, leave the box empty or untick it.
  3. Private key: paste the key (.key) created together with the CSR.
  4. Key password: only if the key is encrypted (it says ENCRYPTED).
  5. PFX password: choose the password that will be asked for when the file is opened — recommended.
  6. Press "Create & download PFX": the file is downloaded under the domain name, e.g. example.com.pfx.

What we check before building the file

  • That the key matches the certificate — the most common mistake. A PFX with the wrong key works nowhere, so we stop there.
  • The chain order: the intermediates go in the right order however you paste them, and we tell you if the one that issued your certificate is missing or if one does not belong to the chain.
  • The dates: whether the certificate or an intermediate has expired.
  • Mixed-up fields: if you paste everything into one box (e.g. a fullchain.pem with the key), we sort it out. If you paste a CSR instead of the certificate, or an SSH key, we tell you.

We accept RSA, ECDSA (P-256, P-384, P-521) and Ed25519 keys, in PKCS#8 (BEGIN PRIVATE KEY), RSA (BEGIN RSA PRIVATE KEY) or EC (BEGIN EC PRIVATE KEY) format — encrypted ones too (BEGIN ENCRYPTED PRIVATE KEY or Proc-Type: 4,ENCRYPTED) with AES or 3DES. Certificates are also accepted in binary form (DER, .cer) and as .p7b.

TripleDES-SHA1 or AES256-SHA256?

These are the two encryption choices you also see in the Windows export wizard. If you change nothing, the tool uses TripleDES-SHA1, which opens on every system, old ones included: Windows Server 2016 and earlier, Java 8, older Android devices. AES256-SHA256 (the OpenSSL 3 default) is stronger, but only Windows 10 (1709) / Server 2019 and later understand it. On older Windows, an AES PFX gives the misleading message "The password you entered is incorrect", even when the password is right.

With OpenSSL on your own server

The same conversion in one command (under "Advanced" you see it with your own details):

openssl pkcs12 -export -out example.com.pfx -inkey example.com.key -in example.com.crt -certfile ca-bundle.crt

If you do not have a certificate yet, start with the CSR Generator. After installing, check the result with the SSL Checker.

Real-world scenarios

The site opens on your computer, but not on phones and apps

After installing on IIS, the office browser shows the padlock as usual, but some phones, apps or services that connect to the server report a trust error. Usually the PFX was built with the certificate only, without the intermediates: some browsers complete the chain on their own, other clients do not. If you leave the CA Bundle empty, the tool notes it and names the missing issuer; if you add the wrong bundle, it warns you that the intermediate that issued your certificate is not in it.

Fix: download the correct bundle from your Certificate Authority, build the PFX again with it, re-import it in IIS and confirm with the SSL Checker that the chain is complete.

Renewal: the old and the new certificate both ended up in the field

During a renewal it is easy to paste everything in the folder: the new certificate, last year's one and the intermediates. The tool keeps the one that matches the key as the main certificate and warns you about any certificate that is not part of its chain — usually the old one. If the validity in the summary shows the old expiry date, you have also pasted the old key.

Fix: remove the certificate that is not part of the chain from the field, so it does not end up in the PFX for no reason, and use the key that was created with the renewal CSR.

In IIS you cannot tell the new certificate from the old one

After importing the new PFX, the IIS Server Certificates list and the choice in Bindings show entries with the same name. Windows displays the file's friendly name, and if you do not set one, the tool uses the domain.

Fix: under "Advanced", enter a friendly name that stands out, e.g. example.com 2026, build the PFX again and import it. Pick it in Bindings and, once you are sure it works, remove the old one.

FAQ

Answers to common questions.

Is it safe to put my private key into a website?

Here, yes, because it never leaves your computer: the PFX is built in your browser and the page sends nothing (visible in the Network tab of the Developer Tools). For maximum isolation, run the OpenSSL command under “Advanced” on your own server.

It says the key does not match the certificate. What do I do?

The certificate was issued for a different key — usually for an older CSR. Look for the key created together with this certificate’s CSR. If it is lost, create a new CSR and key with the CSR Generator and ask your Certificate Authority for a free reissue.

Does a PFX need a password?

It is not mandatory, but recommended: the PFX contains your private key and anyone who has the file can use it. Also, several systems (e.g. Azure App Service) do not accept a PFX without a password.

Windows says “The password you entered is incorrect”, but the password is right.

This usually means the PFX is encrypted with AES256-SHA256 and the server runs Windows Server 2016 or earlier. Build the file again with TripleDES-SHA1 (the tool’s default).

What is the difference between PFX and P12?

None that matters: both extensions are the same standard, PKCS#12. Windows tends to use .pfx and macOS/Java .p12 — if you need .p12, just rename the file.

Standards & sources

How useful was this tool?

Your rating helps other users — one vote per visitor.

Be the first to rate it.
Report a bug