I’m excited to announce the release of QRStudio.jl, Cross-platform desktop application for Barcode and QR code processing, providing a unified interface for detection, visualization, and generation workflows.
Features
- Simultaneous analysis of multiple image files via a drag-and-drop and file upload interfaces.
- Support for over 20+ formats including QRCode, Aztec, DataMatrix, Code39 and Code128.
- Real-time polygon overlays that precisely map detected barcodes within their original image context.
- On-hover tooltips for quick data previews and a side-drawer for inspection of detected content.
- Integrated clipboard feature for copy detected data.
- User-selectable Material Design accents and dedicated Dark/Light modes to match system preferences.
Setup
Run following from Julia REPL
using Pkg
Pkg.Apps.add("QRStudio")
Launch application via terminal
QRStudio
Why I Built This: Exploring Julia + QML
I noticed there aren’t many general-purpose desktop apps written in Julia yet, so I wanted to see what was possible. I chose QML/Qt because it is a very mature framework, and I wanted to test how well it integrates with Julia.
Even as a beginner to QML, I found it surprisingly easy and fun to work with. However, the experience highlighted a common trade-off: I often felt like I was writing “modern JavaScript/QML” rather than staying within the “Julia lane.”
I’m really looking forward to seeing native Julia GUI projects like Makie.jl and Fugl.jl continue to grow. My hope is that they eventually become as feature-rich and polished as QML, allowing us to build these types of applications with a more “Julia-native” feel.
What’s Next
I am planning to use AppBundler.jl to create proper installers for Windows, macOS, and Linux. The goal is to make QRStudio.jl feel like a real, standalone app that anyone can just download and run without needing to touch the Julia REPL or worry about setup.
Acknowledgments
Special thanks to @barche for creating and maintaining QML.jl. This project wouldn’t be possible without his incredible work on the Julia-Qml bridge.