JQTools is an open-source development toolbox based on Qt/QML/C++, integrating common features such as text processing, cryptographic computing, image optimization, QR codes, and Qt utilities, with both desktop and online WASM builds for quickly handling high-frequency development tasks.
- GitHub: https://github.com/188080501/JQTools
- Latest release: https://github.com/188080501/JQTools/releases/latest
- Online WASM build: https://web.jasonserver.com:10035/JQTools/JQTools.html
- Issues & feature requests: https://github.com/188080501/JQTools/issues
-
UTF16 Converter
Convert between plain strings and UTF-16 escaped strings, for example"中文"and"\u4E2D\u6587". -
RGB to Hex
Convert between RGB values and HEX color strings (for example"#112233"). -
Case Converter
Convert text to uppercase or lowercase. -
Random Password Generator
Generate random password strings, for example"Hau-eqS-5EC-". -
Random UUID Generator
Generate random UUID strings, for example"bff98ea4-b861-422a-8627-6eb6cbca8716". -
URL Encode/Decode
Convert between plain text and URL-encoded text, for example"中文"and"%E4%B8%AD%E6%96%87". -
JSON Formatter
Format JSON content, with optional minified or pretty-printed output. -
String Sorter
Sort lines in text content in ascending or descending order. -
Text Dedup Sorter
Deduplicate and sort text at the character level, supporting ascending or descending output after deduplication for quick text cleanup.
-
Hash Calculator
Calculate common hash values such as SHA1 and MD5. -
File Hash Calculator
Select a single file and calculate MD5, SHA1, and SHA256 hashes. -
Unix Timestamp Converter
Convert between Unix timestamps and date/time. -
Binary Search Assistant
Use binary search to find a value in a sorted array. -
RSA Key Generator
Generate RSA public/private keys (PEM format), with selectable common key sizes. -
RSA Encrypt/Decrypt
Support RSA public-key encryption (Base64 output) and private-key decryption (Base64 input). -
AES Encrypt/Decrypt & HMAC
Support AES-CBC encryption/decryption (Base64 I/O, PKCS#7 padding) and HMAC-SHA256 calculation.
-
Icon Generator
Generate app icon images in target resolutions from PNG/JPG/JPEG/BMP input, for exampleicon_128x128@2x.pngfor macOS. -
Icon Font to PNG
Convert built-in TTF icon fonts to PNG. Currently includes 8763 available icons. -
PNG Warning Remover
Fix PNG files that may trigger Qt runtime loading warnings. Converted PNG files can avoid those warnings. -
WebP Maker
Convert and export images in WebP format. -
PNG Optimizer
PNG lossless compression based on Zopfli. -
JPG Optimizer
JPG lossy compression based on Guetzli.
-
Line Counter
Count code lines in files (based on'\n'count). -
Batch Replacement
Batch replace specific keywords in file names or file contents. -
Screen Color Picker
Pick colors from any point on the screen.
-
QR Code Generator
Generate QR code images from text and save as PNG. -
Barcode Generator
Generate EAN-13 barcodes (requires 13 digits and starts with 6) and save as PNG. -
QR Code Reader
Decode QR code content into text.
-
Q_PROPERTY Code Generator
Generate code from Q_PROPERTY definitions. -
CPP File Generator
Generate the basic structure of C++ source/header files.
- Open the
Releasespage and download the latest executable package. - Extract and run directly.
Verified environment:
- Qt 5.15.2 + MSVC2019
- Qt 6.5.3 + MSVC2019
- Qt 5.15.2 + Clang/x86
- Qt 6.8.3 + WASM
Compatibility notes:
- Currently supported and verified on the 4 environments above.
This project is a standard qmake project, with no extra generation scripts or preprocessing steps.
Build entry:
- Project file:
JQTools.pro(top-levelsubdirsentry) - App subproject:
apps/JQToolsApp/JQToolsApp.pro
- Open Qt Creator and choose
File -> Open File or Project.... - Select
JQTools.proin the repository root. - Choose kit.
- Click "Configure Project", then build and run directly.
mkdir build
cd build
qmake ..\JQTools.pro -spec win32-msvc "CONFIG+=release"
nmakeAfter build, the executable is usually located in build\release\ (actual path depends on your build directory settings).
The main application (UI, interaction, and feature orchestration) is implemented with Qt/QML/C++.
Only a few third-party source libraries are used for specific features. The unified import entry is JQTools.pro -> library/JQLibraryImport.pri.
| Module | Third-Party Source | Primary Usage | Import Entry |
|---|---|---|---|
| JQQRCodeReader | ZXing | QR/Barcode decoding | library/JQLibrary/JQQRCodeReader.pri |
| JQQRCodeWriter | qrencode | QR code generation | library/JQLibrary/JQQRCodeWriter.pri |
| JQZopfli | Zopfli + LodePNG | PNG lossless compression and related image processing | library/JQLibrary/JQZopfli.pri |
| JQGuetzli | Guetzli + Butteraugli | JPG lossy compression | library/JQLibrary/JQGuetzli.pri |
| JQMbedTLS | Mbed TLS | RSA key generation/encryption/decryption, AES and HMAC | library/JQLibrary/JQMbedTLS.pri |
Additional notes:
- These third-party libraries are vendored in the repository as source code, so no extra installation is required.
- Generic capabilities (for example hash calculation) prefer Qt built-in APIs (for example
QCryptographicHash).
JQTools
├─ apps/JQToolsApp/ # App subproject
│ ├─ JQToolsApp.pro
│ └─ cpp/ # App entry and core logic
├─ qml/ # Main UI and QML resources
├─ components/ # Feature modules (text, image, QR code, etc.)
├─ library/ # Third-party libraries and base wrappers
├─ doc/ # Documents and preview images
└─ icon/ # Icon assets
Contributions are welcome via:
- Submit an Issue for bugs or feature requests.
- Submit PRs to the
developbranch for improvements. - Star the project to support maintenance.
See the LICENSE file for license rights and limitations (MIT).
