If you are building or testing a CSMS, you need an OCPP simulator. The right choice depends on your protocol requirements, team size, and how much infrastructure you want to manage. This article compares the main options available in 2026.

What to look for in an OCPP simulator

Before comparing tools, it helps to agree on criteria. A simulator that works for a solo developer validating BootNotification behaviour is very different from one that needs to run 500 concurrent stations in a CI pipeline. Evaluate on:

Open-source options

OCTT (OCPP Compliance Testing Tool)

OCTT is the official test tool from the Open Charge Alliance. It runs predefined test cases against a target CSMS or charger and reports pass/fail. It is the most authoritative tool for protocol compliance verification — if your CSMS passes OCTT, it passes the OCA's own test suite.

Strengths: authoritative compliance coverage, official OCA support, free to use.

Limitations: designed for compliance testing, not load testing or custom scenario scripting. You run its test cases; you cannot freely script your own transactions. OCPP 2.0.1 test cases are still maturing. No REST API or programmatic control.

Best for: final compliance verification before a CSMS goes to certification. Not a day-to-day development tool.

SteVe

SteVe is an open-source CSMS (not a simulator) built at RWTH Aachen University. It runs a real OCPP 1.6 back-end, and some teams use it as a reference CSMS to test their chargers against. It is not a charging station simulator — it is the other side of the connection.

Strengths: battle-tested CSMS reference implementation, good for validating charger-side behaviour.

Limitations: requires self-hosting (Docker or Java), not maintained for OCPP 2.0.1, not a station simulator — you cannot create virtual charging stations with SteVe.

Best for: teams who want a self-hosted CSMS reference to test physical chargers against.

EVerest

EVerest is an open-source EV charging software stack developed by the Linux Foundation Energy project. It includes a full OCPP 1.6 and 2.0.1 implementation and can simulate hardware modules. It is primarily designed for firmware developers building charger-side software.

Strengths: deep hardware emulation, active Linux Foundation community, covers the full charging station software stack.

Limitations: substantial setup complexity (C++ build, Docker compose with many services). Designed for firmware engineers, not CSMS backend developers. Scripting concurrent station scenarios requires significant effort.

Best for: firmware teams building charger-side OCPP stacks who need a realistic hardware emulation environment.

ocpp Python library (mobilityhouse)

The ocpp library by mobilityhouse is a Python library for building OCPP clients and servers. It is not a simulator itself — it is a building block. You write your own simulator using it, which gives you full control but requires writing and maintaining the simulation logic.

Strengths: clean API, actively maintained, supports OCPP 1.6, 2.0.1, and 2.1. Good for teams who want to build a custom simulator exactly matching their use case.

Limitations: not a ready-to-use simulator. You write the behaviour, manage the event loop, implement reconnect logic, meter values, transaction state — all of it.

Best for: teams with Python expertise who need behaviour the existing simulators do not cover, and are willing to maintain their own simulator codebase.

SaaS option: SimIt

SimIt is a managed OCPP simulator available as a cloud service. You create virtual charging stations via a REST API — no installation, no infrastructure. Each station connects to your CSMS WebSocket URL and behaves as a real charger: it sends BootNotification, periodic Heartbeats, MeterValues, and responds to RemoteStart/Stop, ChangeAvailability, SetChargingProfile, and all other OCPP 1.6 commands. OCPP 2.0.1 is also fully supported.

Strengths: zero setup — sign up and get an API key, start simulating in minutes. REST API makes it trivial to drive from CI scripts. Supports hundreds of concurrent stations. Full OCPP 1.6 and 2.0.1 coverage. Network fault injection, error simulation, smart charging profile testing built in.

Limitations: cloud service — your CSMS must be reachable over the internet (or via a tunnel like ngrok or Cloudflare Tunnel for local dev). Not open-source.

Best for: CSMS backend developers who want to test their system quickly without infrastructure overhead, or teams running OCPP regression tests in CI.

Comparison table

Tool Type OCPP 1.6 OCPP 2.0.1 Concurrent stations REST API Setup effort
OCTT Compliance tester Yes Partial 1 (scripted) No Medium
SteVe Reference CSMS Yes No N/A No Medium
EVerest Firmware stack Yes Yes Limited No High
ocpp library Library (DIY) Yes Yes Custom Custom High
SimIt Managed SaaS Yes Yes Hundreds Yes None

Which should you use?

For compliance certification: use OCTT. It is the OCA's official tool and the only way to get an authoritative pass/fail verdict against the OCPP specification.

For firmware development: EVerest gives you the hardware emulation layer you need.

For CSMS backend development and CI testing: SimIt is the fastest path. You can be running transactions against your CSMS in under five minutes.

For fully custom scenarios: if your test requirements are unusual enough that no existing tool covers them, the ocpp Python library gives you the building blocks to write exactly what you need.

Many teams use more than one. A common combination: SimIt for daily development and CI, OCTT for pre-certification validation.

Create a free SimIt account and get your API key instantly — no credit card needed.