Skip to main content

OpenVPN config validator

Paste or load a public .ovpn profile before importing it. The browser parses the text locally and produces stable error codes without uploading the profile, credentials, certificate bodies or keys.

Validate an .ovpn profile locally

Processed locally. The configuration was not sent from this browser.

Safety checklist

Ready. Maximum input size: 256 KB.

What the validator checks

Results cover every remote host, port and protocol, DNS directives, inline or external CA/client certificate/key declarations, cipher and data-ciphers, auth digest, tls-auth/tls-crypt, compression, external scripts, credential-file references, deprecated options and conflicting duplicates.

A warning means “review this option,” not necessarily “malicious.” A clean profile can still point to an unknown operator, require credentials, fail at runtime or change later.

Advertisement

Certificate expiry

The parser confirms certificate block presence without displaying certificate bodies. Browser-only expiry decoding varies across certificate encodings; when an expiry cannot be read reliably, the report leaves it unavailable instead of inventing a date. Use OpenSSL or your client certificate viewer for authoritative expiry validation.

Frequently asked questions

Is the uploaded .ovpn file sent to the server?
No. File reading and parsing happen locally in browser memory.
What are stable error codes for?
Codes such as OVPN_REMOTE_MISSING or OVPN_SCRIPT_DIRECTIVE make a redacted result easier to compare without sharing the profile.
Does a clean result mean the VPN is safe?
No. Structural validation cannot establish operator identity, logging policy, jurisdiction or future behavior.