> Markdown version of [SwingBridge](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge). Section index: [llms.txt](https://vaadin.com/docs/v25/tools/llms.txt)

# SwingBridge (since V25.1)

<!-- vale Vaadin.ProductName = NO -->

> **Note: Commercial Feature**
>
> A commercial Vaadin subscription is required to use SwingBridge in your project.
>
> - [Start Free Trial](https://vaadin.com/trial)
>
> - [See Pricing](https://vaadin.com/pricing)

Your existing Swing application runs in a web browser without requiring you to rewrite any of your Swing code. Users interact with it through their browser while the actual Swing application runs on the server.

## <a id="when-to-use-swingbridge"></a>When to Use SwingBridge

SwingBridge fits when:

- The Swing application is feature-complete and tested, and a full rewrite is not justified.

- Users need access through a browser instead of installing a desktop client.

- A staged modernization is preferred over a one-shot port to a web stack.

For deeper refactoring of the Swing source itself, see the tools listed under [Modernization Toolkit](https://vaadin.com/docs/v25/tools/modernization-toolkit.md).

## <a id="topics"></a>Topics

- [Quick Start](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/quick-start-guide.md): Run a Swing application in the browser in minutes with the SwingBridge skeleton starter.
- [Installation from Scratch](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/installation-from-scratch.md): Install the SwingBridge license and set up a Maven project from scratch.
- [Adding Your Swing Application](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/adding-your-app.md): Wire your Swing application's JARs into SwingBridge and create a Vaadin view that hosts it.
- [Configuration](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/configuration.md): System properties and runtime knobs for tuning SwingBridge.
- [Display and Rendering](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/rendering.md): The virtual screen SwingBridge reports, HiDPI rendering, and the back-buffer format.
- [Logging & Identifying Logs per User](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/logging.md): Attribute server log output to the Swing application user who produced it, and integrate old and new logging frameworks.
- [Interoperability](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/interop.md): Type-safe API and tooling to call between Vaadin and an embedded Swing application.
- [NetBeans RCP](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/netbeans-rcp.md): Run a pre-built NetBeans Platform application in the browser with SwingBridge, with no changes to the RCP source.
- [Running and Debugging](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/running-and-debugging.md): Run SwingBridge applications from Maven and attach a remote debugger from IntelliJ IDEA or VS Code.
- [Troubleshooting](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/troubleshooting.md): Common SwingBridge launch failures and how to fix them.
- [Reference](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/reference.md): Public API summary, lifecycle hooks, and the recommended sample project.
- [Frequently Asked Questions](https://vaadin.com/docs/v25/tools/modernization-toolkit/swing-bridge/faq.md): Frequently Asked Questions for SwingBridge
