Document your patches, plan your racks, and explore a free modular database β all in one place.
patcher.xyz Β Β·Β Discord Β Β·Β Changelog
Patcher v5.1.0 is live β the patch editor is now everything it was meant to be, with auto-save, instance-aware patching, a redesigned connection flow, and the deepest UX overhaul we've ever shipped.
See the full CHANGELOG for details.
Have an idea or found something broken? Come talk to us on Discord β it's the fastest way to reach the team and the right place for feature discussions.
Technical bug reports can also be opened as GitHub issues.
- Introduction
- Why Patcher?
- User Guide
- Setting Up the Project Locally
- Project Dependencies
- DB Model Details
- Pull Requests
- License
Patcher is a free, open-source web application for Eurorack modular synthesizer artists. It brings together everything you need to work with modular equipment: a patch editor, a rack planner, a personal module collection, and a curated public database of hardware β all in a single, fast interface.
The database is publicly accessible and will always remain free. No paywalls, no account required to browse.
Contributions are welcome β whether that's code, module data, or feedback.
Most tools in this space stop at rack planning or image exports. Patcher is a living patch document β it understands your modules, tracks every connection, and keeps everything in sync as your setup evolves.
A few things that make it different:
Everything is optimised for speed. Adding a module, wiring a connection, or jotting down a note takes seconds β not a sequence of modals and confirmations. The interface gets out of your way so you can focus on the music.
Patcher runs in the browser, on desktop and mobile alike. Sketch a patch idea on your phone between sessions, then open the same document on your computer and pick up exactly where you left off.
When you use the same module more than once in a patch, Patcher keeps each copy distinct β connections are anchored to the right physical unit, labels are automatic, and nothing gets mixed up. Reopen the patch days later and the wiring is exactly as you left it.
Instance-aware patching β shipped in v5.1.0.
Changes persist automatically. Notes, connection updates, patch state β all saved without ever touching a save button. Close the tab, lose power, come back: everything is there.
Auto-save β shipped in v5.1.0.
Adding a connection is a two-step interaction: pick an output, pick an input, confirm. A floating panel stays visible while you work and clears itself the moment a connection lands. No modals, no page navigation.
Redesigned connection flow β shipped in v5.1.0.
Patcher surfaces connection statistics automatically β total cables, outputs driving multiple inputs, modules in use. Complexity becomes readable at a glance.
Patch statistics panel β shipped in v5.1.0.
Patches and racks can each be kept private or made public independently. Public content is discoverable by the community; everything else stays yours.
Every module in the database is curated for correctness β HP, manufacturer, CV specs. The data is free, publicly accessible, and never behind a paywall. If something is missing, you can submit it directly from the interface.
New to Patcher? Looking for help on how to use the application?
π Read the User Guide for a comprehensive introduction to all features, including:
- How to browse and discover Eurorack modules
- Creating and managing your patches
- Planning and visualizing your racks
- Managing your personal collection
- Tips, best practices, and community resources
The User Guide is designed for users of the application. For technical setup and development information, continue reading below.
To set up the project locally, follow the steps below:
- Clone the repository to your local machine using
git clone <repository_url>. - Navigate to the project directory using
cd Patcher. - Install the necessary dependencies using
yarn install.
Note: We use Yarn as our package manager. Please do not generate apackage-lock.jsonfile. - Run
ng servefor a dev server. Navigate tohttp://localhost:4200/. The app will automatically reload if you change any of the source files.
Branches:
developis where active work happens.productionis deployed automatically β do not push to it directly.
The project uses the following tools and libraries:
| Tool/Library | What |
|---|---|
| Angular | Web framework. Using v18 |
| Angular Material | UI components |
| Supabase | Database, authentication, and storage |
| Vercel | Deployment, hosting |
| GitHub | Version control, issue tracking, project management, test automation |
| Database | PostgreSQL hosted on Supabase |
| Sentry | Technical analytics and error tracking |
| Other Dependencies | Check the package.json file |
The database model for the project is as follows:
If you have forked on GitHub, then the best way to submit your patches is to push your changes back to GitHub and then send a "pull request" on GitHub.
If your pull request is small, for example, one or two commits each containing only a few lines of code, then it is easy for the maintainers to review.
If you are creating a larger pull request, then please help the maintainers by making the reviews as straightforward as possible:
- The smaller the PR, the easier it is to review. In particular, if a PR is too large to review in one sitting, or if changes are requested, then the maintainer needs to repeatedly re-read code that has already been considered.
- If you are creating a large pull request, then please consider splitting your pull request into multiple PRs. If part of your work can be considered standalone, or is a foundation for the rest of your work, please submit it separately first.
This project is licensed under the GNU Affero General Public License v3.0. For more information, see the LICENSE file.


