Download installers for Windows, Linux, and macOS here.
[!IMPORTANT] Project Maintenance and Community Update
Dear fellow PCB designers and makers,
I have been maintaining Freerouting since January 2020, and first and foremost, a heartfelt thank you to the active members of the community—your passion, contributions, and discussions are truly what keep me motivated.
To be completely candid about my time and the project's funding: in the last 28 days alone, Freerouting had over 332,000 active users, but currently only 4 financial supporters, bringing in just $40 in donations. That is not enough to cover my monthly bills for the AI coding agents that power development, and I will continue paying the difference out of my own pocket.
Because of this, I need to set healthy boundaries and limit my time on the project to around 4 hours per week. Fortunately, Freerouting has matured to a point where it is already good enough for the vast majority of everyday PCB designs. With my limited hours, I will be focusing my energy where it counts most:
- Pull Requests over Issues: Reviewing PRs will always take precedence over investigating open issues. Within the codebase, the core routing engine and DRC take priority over integrations and GUI adjustments.
- Sponsors and Support: Silver and Gold sponsors are welcome to contact me directly; I will gladly prioritize their issues and pull requests. Beyond that, I simply do not have the bandwidth for individual technical support or troubleshooting queries.
- API Keys: New API key requests will be reviewed and approved once a week after I manually check the applicants.
- Releases: Official releases will be spaced further apart, likely once every 2 to 3 months.
On the bright side, the foundation is solid, and active community involvement can make a huge difference. If you would like to help keep open-source autorouting moving forward, the best ways to get involved are submitting pull requests, sharing reproducible bug reports with sample design files, or backing the project financially. I am always excited to review good code and collaborate with fellow engineers.
Warm regards and happy routing,
Andras
Freerouting is a versatile PCB autorouter that works with any PCB design software supporting the standard Specctra or Electra DSN interface. It imports .dsn files generated by your CAD software and exports routed .ses session files.
You can interact with Freerouting using the Graphical User Interface (GUI), the Command Line Interface (CLI), or the Freerouting API. All interfaces support command-line arguments to set input/output files or modify settings.
Integrations are available with:
1) Launch Freerouting: Upon launching, you'll see the main interface.
2) Open Your Design: Go to File > Open... and select your .dsn input file.
3) Start Autorouting: Click the Magic Wand icon to begin the autorouting process.
4) Monitor Progress: Watch the routing progress visually in the board editor and numerically in the footer.
5) Completion: Wait for the autorouter to finish all passes. This may take from a few minutes to several hours.
6) Save Your Routed Board: Go to File > Save as... to save your routed board as a .ses file.
When using the CLI, you'll work with an input file (e.g., Specctra .dsn) exported from your EDA tool. Freerouting will autoroute unconnected nets and save the results for re-import into your EDA (e.g., as a Specctra .ses file).
Common command-line arguments:
-de [design input file]: Load a Specctra design file (.dsn) at startup.-do [design output file]: Save a Specctra session file (.ses) after routing.-l [language]: Set the language (e.g., en for English, de for German).-inc [net class names]: Ignore specified net classes during routing.-help: Display help information.Example Command:
java -jar path/to/freerouting.jar -de MyBoard.dsn -do MyBoard.ses -inc GND,VCC
Download the latest freerouting-<version>.jar from the Releases page and substitute its path above.
This command routes MyBoard.dsn, ignores the GND and VCC net classes, and outputs MyBoard.ses.
For more details (including headless mode), see the CLI documentation.
Freerouting offers public API endpoints for PCB routing. The API root is https://api.freerouting.app/v1. Check the service status at /system/status.
To access full functionality, request access on the Freerouting website.
Please note that the Freerouting API and its documentation are in beta and may change.
The official Freerouting client SDK currently supports Python (maintained in the separate freerouting-python-client repository; install the latest release with pip install freerouting-client). This repository also provides OpenAPI-based SDK generation scripts in scripts/sdk/ for JavaScript, C#, and C++ scaffolding, including scripts/sdk/regenerate-all.ps1 for one-command scaffold refreshes.
You can also self-host the Freerouting API on your own machine or server. See the Self-Hosting Guide for step-by-step instructions using Docker or a plain Java JRE.
Freerouting supports the Model Context Protocol (MCP) to integrate directly with AI coding assistants (like Cursor, Cline, or Claude Desktop), allowing the AI to query system status and auto-route boards on your behalf.
- Online Quick Start (Public API): Runs instantly via npx -y @freerouting/freerouting-mcp-server (always fetches the latest release) without requiring a local Java installation.
- Offline Mode (Local Executable): Runs the entire routing engine locally on your machine for complete privacy.
See the MCP Guide for detailed configuration steps.
Installers are available for Windows x64, Linux x64, and macOS. For other systems, you can run the platform-independent .jar file if you have Java JRE installed.
Steps:
Download the JAR File: Get the latest .jar from the Releases page.
Install Java JRE: Download and install Java JRE.
JRE as the package type.25.bash
java -jar path/to/freerouting.jar
Use the latest freerouting-<version>.jar from the Releases page.
Note for macOS Users: Launch Freerouting from the Terminal; starting from Finder is not supported.
Freerouting Docker images for stable releases (latest and version tags) and development (nightly) builds are available from ghcr.io/freerouting/freerouting. Prefer the latest tag unless you need a pinned version for reproducibility. The image is a multi-platform manifest supporting:
linux/amd64 — x86-64 servers, PCs, most cloud VMslinux/arm64 — Apple Silicon, AWS Graviton, Raspberry Pi 4/5 with 64-bit OSlinux/arm/v7 — Raspberry Pi 2/3/4 with 32-bit OS, Umbrel, CasaOS, and other ARMv7 home-server stacksDocker automatically selects the correct variant for your hardware. For full setup instructions — including Docker Compose examples, network configuration, and running without Docker — see the Self-Hosting Guide.
I ❤️ all contributors — this project wouldn't be possible without you!
I'd love to stay connected! You can reach out, follow updates, or join discussions through any of these channels:
If you'd like to support the project financially, please consider sponsoring the project.
Every contribution, no matter how small, is greatly appreciated!
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|