Visual OCPP Charge Point Emulator
A modern, open-source web UI for simulating one or more EV charge points against any CSMS (Central System) — built on the rock-solid foundation of ocpp-ws-io.
Building and testing an OCPP-compliant Charging Station Management System (CSMS) requires a reliable way to simulate realistic EV charge point behaviors. ocpp-ws-simulator provides a stunning visual interface to make debugging and testing effortless:
- 🏎️ Instant Visual Feedback — A responsive, modern web UI for simulating multi-connector charge points and real-time charging sessions.
- 🔌 Detailed Message Logging — Filter, search, and expand detailed TX/RX/System/Error logs with a built-in JSON viewer.
- 🎯 Full Protocol Support — Effortlessly switch between OCPP 1.6, 2.0.1, and 2.1 natively.
- 🔋 Mock Meter Values & Diagnostics — Manually trigger arbitrary energy readings to test billing, firmware statuses, and data transfers.
- 🔒 Local or Cloud Ready — Run entirely locally for isolated development, or deploy it with the built-in Auth gate for your team.
- 🧩 Built on
ocpp-ws-io— Inherits type-safe, rock-solid RPC framing using the underlying ocpp-ws-io core engine.
Warning
This project is currently under active testing and development. Features may be incomplete, APIs unstable, and breaking changes can occur without notice. Not recommended for production use yet.
Note
This simulator is maintained as a standalone repository — separate from the ocpp-ws-io monorepo — for easy cloning, self-hosting, and independent distribution.
This simulator is a critical part of the broader ocpp-ws-io ecosystem, designed to give developers the visual tools needed along with the programmatic libraries.
| Project | Description | Status |
|---|---|---|
ocpp-ws-io |
Core OCPP WebSocket RPC client & server | ✅ Published |
ocpp-ws-cli |
CLI for generation, simulation & testing | ✅ Published |
ocpp-ws-simulator |
Visual web UI emulator (This Repo) | ✅ Active |
- Node.js ≥ 18.0.0
- npm / bun
The easiest way to start the visual simulator is using the official CLI. It will automatically download, install, and start the simulator for you:
npx ocpp-ws-cli studioAlternatively, you can launch it using the interactive menu:
npx ocpp-ws-cli
# Select "Visual Simulator" from the menuThis repository is standalone — no monorepo setup required.
git clone https://github.com/rohittiwaridev/ocpp-ws-simulator.git
cd ocpp-ws-simulator
npm install
npm run devOpen http://localhost:3000.
Copy .env.example to .env and configure:
# Enable login screen (optional — set to "false" or remove to skip auth)
NEXT_PUBLIC_ALLOW_AUTH="true"
ALLOW_AUTH="true"
# Credentials (used when ALLOW_AUTH=true)
USERNAME="your_username"
PASSWORD="your_password"- Click Settings (⚙) or the endpoint chip in the header to configure your CSMS WebSocket URL and Charge Point Identity.
- Select your required OCPP version using the version picker.
- Click Connect to establish the WebSocket connection to your CSMS.
- Use the connector cards to visually simulate charging flows: authorizing, starting/stopping transactions, and sending meter readings to the cloud.
- Watch the OCPP Log panel for detailed message traces and payload inspection.
| Layer | Tech |
|---|---|
| Framework | Next.js 15 (App Router) |
| Engine | ocpp-ws-io |
| Styling | Tailwind CSS v4 |
| State | Zustand |
| UI primitives | shadcn/ui |
ocpp ev-charging simulator ocpp-simulator charge-point-emulator evse csms ocpp-1.6 ocpp-2.0.1 ocpp-2.1 websocket typescript open-source react nextjs
Contributions are welcome! This is a standalone repository so you can clone and work on it independently.
- Fork this repository
- Create your feature branch (
git checkout -b feat/my-feature) - Commit your changes following Conventional Commits
- Push to the branch (
git push origin feat/my-feature) - Open a Pull Request
To report a security vulnerability, please check if there is a SECURITY.md in the repository or contact the maintainer directly.
MIT © 2026 Rohit Tiwari