qgn / features / open source
Open source, and small enough to actually read.
QGN is MIT licensed. The whole app is one main.js and a handful of HTML files. No framework, no transpiler. You can read what it does with your screen in an afternoon.
A screenshot tool sees everything on your screen. Passwords, private messages, the customer record you have open. "Trust us" is a weak answer for software in that position. Source you can read is a better one.
So here it is: github.com/Mopra/qgn.app. MIT licensed. Every release is built by GitHub Actions from that repo and published on its releases page, with the notes taken straight from CHANGELOG.md.
what it talks to
One server: GitHub, to check for a new version every few hours and when the machine wakes up. No analytics, no crash reporting service, no account, no upload feature. Captures go to your clipboard and, if you turn on auto-save, to a folder you choose.
the stack
| what | |
|---|---|
| shell | Electron |
| ui | vanilla HTML, CSS and JavaScript. each window is one self contained HTML file |
| main process | one main.js, plus small pure modules in lib/ that are unit tested |
| images | Sharp |
| video | WebCodecs, muxed by two vendored container writers for MP4 and WebM |
| window edges | a small PowerShell helper for snap to window |
| installer | electron-builder, NSIS |
| updates | electron-updater, from GitHub releases |
Yes, it is Electron, so the installer is about 85 MB. That is the honest cost. In return there is no build step for the UI and nothing between you and the code but a text editor.
build it yourself
git clone https://github.com/Mopra/qgn.app.git cd qgn.app npm install npm start # run it npm run build # make the Windows installer in dist/
You need Node.js 18 or later, and Windows to build the installer.
tests
npm run check: syntax, inline scripts in the HTML, unit tests for lib/, and a boot of the main process. Needs no display, runs on every push.npm run smoke: boots a hidden Studio window and drives it end to end, including a real encoded export.npm run smoke:overlay: boots the capture overlay and drives a real selection with synthetic mouse and key events.
contributing
Fixes, performance work, new annotation tools and documentation are all welcome. Read CONTRIBUTING.md first. The short version: vanilla JavaScript, keep it simple, run the checks, and add a line to the changelog if the change is visible.
compared
ShareX and Greenshot are open source too, and both are good. QGN is the smaller one with an opinion: clipboard first, one hotkey, a modern editor. Lightshot and Snagit are closed source.
questions
What license is QGN under?
MIT. Use it, change it, ship it in something else. Keep the copyright notice.
Does the app phone home?
It checks GitHub for updates. That is the only network request it makes. There are no analytics in the app.
Why Electron?
Because it let one person ship a capture overlay, an editor and a video encoder in plain JavaScript and HTML. The cost is size: the installer is about 85 MB.
Can I build QGN myself?
Yes. Clone the repo, run npm install and npm start. npm run build produces the Windows installer.