KiCAD Prism is a modern, high-performance web-based platform designed for visualizing, reviewing, and managing KiCAD projects. It bridges the gap between desktop EDA and collaborative web-native engineering by providing real-time design exploration, threaded design reviews, and automated manufacturing workflows.
Manage all your KiCAD repositories in a unified dashboard. Import projects directly from GitHub or GitLab via async jobs with real-time status tracking and detailed logs. Analysis is optimized using blobless, no-checkout clones for near-instant repository scanning. Supports both GitHub Tokens and SSH keys for private repository access.
Unified dashboard with repository management and GitHub import flow.
A comprehensive design explorer that renders schematics and PCBs natively in the browser. Powered by ecad-viewer and KiCanvas, KiCAD Prism provides high-fidelity, interactive exploration of your electronics design files.
- Schematic & PCB: Native rendering with cross-probing.
- 3D Visualization: Real-time 3D model viewing with adjustable Scene Brightness and Directionality.
- Interactive BOM: Integrated Interactive HTML BOM suite for assembly and review.
High-fidelity schematic exploration.
Move away from disjointed feedback. Add contextual comments directly on design elements. Comments can be replied to, resolved, and are visualised as pins in the design overlay.
After a comment is added by the user, the comment is stored in a JSON file at ./comments/comments.json inside the repository and a pin is placed on the schematic at the location where the comment was added. The pin is visible in the schematic viewer and can be clicked to view the comment.
In the Comments Panel, the user can view all the comments and replies in a threaded manner. The user can also reply to a comment and the reply will be stored in the JSON file and can be viewed in the schematic viewer. Clicking on an entry in the comments panel will zoom into the schematic/PCB at the location where the comment was added.
Pressing the Push Comments button will push the latest files in the backend to the remote repository with a commit message.
Native parsing of comments.json and display of comments in KiCAD is currently NOT available Please upvote this feature request on Gitlab for a comments panel in KiCAD!
Threaded design reviews with spatial context.
Track design changes across commits with native support for Schematics, PCBs, and Bill of Materials. Powered by kicad-cli, KiCAD Prism generates visual and structural diffs that highlight exactly what was added, removed, or modified.
- Visual Comparison: Toggle between schematic sheets or PCB layers with an opacity-controlled overlay to spot subtle layout shifts.
- Asymmetric BoM Diff: Compare component lists across commits with status-based filtering (Added/Removed/Changed) and support for custom project-level fields via
.prism.json.
Visual and structural diffing of design and manufacturing data.
Explore design and manufacturing outputs through a specialized assets portal. View project specifications and logs with native markdown support and embedded image handling.
Native documentation browsing and asset management.
Trigger kicad-cli powered jobs directly from the browser to generate the latest PDFs, Interactive BOMs, and Ray-Traced renders.
Customizable Workflows: Users can add or modify whatever workflows they want by defining new scripts or modifying the existing ones in this project. Results are automatically committed and pushed back to the remote repository if configured.
- Frontend: React, Vite, Tailwind CSS, ShadCN UI, Lucide Icons.
- Backend: FastAPI (Python 3.10+), GitPython.
- Tools:
kicad-cli(v9.0+). - Visualization Core:
For detailed installation and server setup, see DEPLOYMENT.md.
For the expected structure of imported KiCAD projects, see KICAD-PRJ-REPO-STRUCTURE.md.
The easiest way to run KiCAD Prism is with Docker. This works on any machine with Docker installed.
# Clone the repository
git clone https://github.com/krishna-swaroop/KiCAD-Prism.git
cd KiCAD-Prism
# Start the application (no authentication)
AUTH_ENABLED=false docker compose up -d --build
# OR: Start with Google OAuth
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com docker compose up -d
# Access the UI at http://localhostBy default, the Docker setup creates a ./data folder in the project root:
./data/projects: This is where your KiCAD projects are stored and managed.- Files here will persist across
docker compose downor container updates.
Authentication is enabled by default in the Docker image but requires a GOOGLE_CLIENT_ID.
- To Disable: Set
AUTH_ENABLED=falsein your.env. - To Enable: Set
GOOGLE_CLIENT_ID=...and ensureAUTH_ENABLED=true(the default).
To stop: docker compose down
- Go to Google Cloud Console
- Create or select a project
- Create an OAuth 2.0 Client ID (Web application type)
- Add these Authorized JavaScript Origins:
http://localhosthttp://localhost:80http://127.0.0.1
- Copy the Client ID and pass it to Docker:
# Create a .env file for convenience
echo "GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com" > .env
echo "AUTH_ENABLED=true" >> .env
# Docker Compose automatically reads .env
docker compose up -d# 1. Backend Setup
cd backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# 2. Frontend Setup (Separate Terminal)
cd frontend
npm install
npm run devKiCAD Prism supports Google Sign-in with domain-level restrictions for enterprise security.
| Mode | Behavior |
|---|---|
| Public Gallery | No login required, projects are read-only. |
| Development | Login shown with Dev Bypass button for local testing. |
| Production | Full Google OAuth required with domain verification. |
See DEPLOYMENT.md for configuration details.
KiCAD-Prism/
├── backend/ # FastAPI backend
│ ├── app/ # API & Service Layer
│ └── requirements.txt
├── frontend/ # React frontend
│ ├── src/ # Components, Hooks, Views
│ └── package.json
└── assets/ # Branding & Showcase media
- High-performance Schematic & PCB Viewers
- Collaborative Threaded Design Review
- Automated Workflow Generation
- Visual Git Diff (Native kicad-cli integration)
- Fix page transition logic completely
- Refine Workspace UI and handle non-GitHub Imports better
- Fix ecad-viewer bugs for small projects
- KiCAD Plugin/source code edits to overlay comments on the schematic and PCB editors
- User Permissions & Role-Based Access
- Real-time Collaboration (WebSockets)
Built with care for the open-source hardware community. Special thanks to the teams behind:
- ecad-viewer for the core visualization engine.
- KiCanvas for native schematic rendering.
- Interactive HTML BOM for the assembly suite.
- Three.js for the 3D model viewer.
- FastAPI for the high-performance backend.
This project is licensed under the Apache-2.0 License.
Most of the components have been vibe-coded to prove that the project is capable of being developed and is useful for teams working on KiCAD projects. I would love to see actual Typescript devs contribute to this project and make it production ready.














