Choosing between OCPP 1.6 and OCPP 2.0.1 is one of the most important decisions for any EV charging platform. OCPP 1.6 is the industry workhorse with the widest adoption, while OCPP 2.0.1 brings modern security, ISO 15118 support, and a comprehensive device model.
This guide breaks down every major difference and provides a practical migration path.
Quick Comparison
| Feature | OCPP 1.6J | OCPP 2.0.1 |
|---|---|---|
| Release Year | 2015 | 2020 |
| Transport | WebSocket + SOAP | WebSocket only |
| Message Format | JSON or SOAP/XML | JSON only |
| Security | Basic (optional TLS) | Mandatory security profiles |
| ISO 15118 | Not supported | Full Plug & Charge support |
| Smart Charging | Basic charge profiles | Composite schedules, priorities |
| Device Model | Limited configuration keys | Comprehensive variable system |
| Firmware Updates | Basic upload | Signed firmware, secure boot |
| Transaction Handling | Start/Stop based | Event-driven with better recovery |
| Display Messages | Not available | Remote display control |
| Adoption | Vast majority of deployed chargers | Growing share of new deployments |
Security
OCPP 1.6
Security in OCPP 1.6 is largely optional. Many deployments run without TLS encryption, relying on network-level security. There is no built-in mechanism for signed firmware updates or certificate management.
OCPP 2.0.1
OCPP 2.0.1 defines three security profiles:
- Profile 1: HTTP Basic Authentication over unencrypted WebSocket (ws://)
- Profile 2: HTTP Basic Authentication over TLS with server-side certificate (wss://)
- Profile 3: TLS with client and server certificates — mutual authentication (wss://)
Additionally, 2.0.1 supports signed firmware updates and secure boot, preventing unauthorized firmware from running on charge points.
Smart Charging
OCPP 1.6
Supports SetChargingProfile with basic charge profiles containing schedule periods. Limited to simple power limits per connector.
OCPP 2.0.1
Introduces composite schedules that combine multiple charging profiles with priority levels. Supports:
- Charging station-level and EVSE-level profiles
- External constraints (grid operator limits)
- Relative and absolute schedules
- Cost-based charging optimization
When to Use Which Version
Choose OCPP 1.6 if:
- You need maximum charger compatibility today
- Your use case doesn't require ISO 15118
- You're building a basic charging network
- Budget constraints require faster time-to-market
Choose OCPP 2.0.1 if:
- Security is a top priority
- You need Plug & Charge (ISO 15118)
- You're building a new platform from scratch
- You need advanced smart charging for grid integration
- You want future-proof architecture
Best practice: Support both versions. Most modern CSMS platforms handle OCPP 1.6 and 2.0.1 simultaneously, since a mixed fleet of chargers is reality for most operators.
How to Test Both Versions
Validating OCPP implementations across versions requires comprehensive protocol testing. OCPPLab lets you:
- Run OCPP 1.6 and 2.0.1 chargers side by side
- Test backward compatibility between versions
- Simulate migration scenarios (upgrading charger firmware from 1.6 to 2.0.1)
- Validate all security profiles in 2.0.1
- Test smart charging composite schedules
Start your free simulation and test both OCPP versions in minutes.



