README
ΒΆ
PrivUtil
[!NOTE] This project was "developed" with Antigravity AI. I am the owner of the project and I am using it to help me with my development tasks and to learn more about AI development while vive coding. This project was started from scratch and it took the length of TROLL and TROLL2 movies to build.
PrivUtil is a privacy-first, offline-capable developer utility suite. Built with Go and React, it provides 20+ tools for data manipulation, formatting, conversion, and generation β all running locally with zero server tracking.

β¨ Features
Core Utilities
| Tool | Description |
|---|---|
| Diff Utility | Compare text with visual highlighting |
| Base64 | Encode/Decode Base64 strings |
| Text Tools | Sort, dedupe, reverse, trim, inspect text |
| Similarity | Calculate Levenshtein distance |
Formatters & Converters
| Tool | Description |
|---|---|
| JSON | Format, minify, validate |
| Universal Converter | JSON β YAML β XML |
| SQL Formatter | Beautify SQL queries |
| Color Converter | HEX β RGB β HSL with live preview |
| Case Converter | camelCase, snake_case, PascalCase, kebab-case |
| Time Converter | Unix timestamps, timezone conversion |
| IP Calculator | IPv4/IPv6 subnet calculations |
| Markdown | Convert between Markdown and HTML |
Generators & Security
| Tool | Description |
|---|---|
| Generators | |
| - UUID (v4, v7, v8) | |
| - Hashes (MD5, SHA, bcrypt, blowfish, etc.) | |
| - Number Base Converter | |
| - RSA Key Pairs | |
| Lorem Ipsum | Configurable dummy text generation |
| Passwords | Secure password generation with custom policies |
| Encoders | URL, HTML entity encode/decode |
| JWT Debugger | Decode and inspect JWTs |
| Certificate Parser | Parse X.509 PEM certificates |
| Cron Tools | Explain cron expressions with next runs |
| Regex Tester | Test Go-compatible regex patterns |
| JSON to Go | Generate Go struct from JSON |
π Quick Start
[!IMPORTANT] PrivUtil should NOT be installed via
go install. This project uses an embedded web component that must be built separately. Standardgo installfails to bundle these assets correctly, resulting in an incomplete application. Please use the pre-compiled binaries from the Releases page or build from source using the providedMakefile.
Docker
Check out the project packages here
docker pull ghcr.io/odinnordico/privutil:latest
docker run --rm -p 8090:8090 ghcr.io/odinnordico/privutil:latest
Download from Releases
Download the latest binary for your platform from the Releases page.
Linux / macOS
# Example for Linux AMD64
tar -xzf privutil-linux-amd64.tar.gz
./privutil
Windows
- Right-click the
.zipfile and select Extract All... - Run
privutil.exe
Build from Source
# Clone the repository
git clone https://github.com/odinnordico/privutil.git
cd privutil
# Build everything
make build
# Run
./privutil
Access at http://localhost:8090
CLI Options
./privutil --help
Options:
-port string Port to listen on (default "8090")
-host string Host to bind to (default: all interfaces)
-log-level string Log level: debug, info, warn, error (default "info")
-version Print version and exit
Environment variables: PORT, HOST, LOG_LEVEL
π οΈ Development
Prerequisites
- Go 1.21+
- Node.js 18+
- Make
Makefile Commands
make build # Build frontend + backend
make run # Build and run
make clean # Clean build artifacts
make test # Run all tests
make test-backend # Go tests with coverage
make test-frontend # Vitest tests
make test-coverage # Generate coverage reports
make lint # Run linters
make proto # Regenerate protobuf code
Project Structure
privutil/
βββ cmd/privutil/ # Main application entry
βββ internal/
β βββ api/ # gRPC service implementation
β βββ server/ # HTTP/gRPC-Web server
βββ proto/ # Protocol Buffer definitions
βββ web/ # React frontend (Vite + Tailwind)
β βββ src/components/ # UI components
β βββ src/lib/ # Shared utilities
βββ Makefile
π¨ Theme
PrivUtil features a Kawasaki Lime theme with dark/light mode toggle:
- Primary Accent: #76FF03 (Neon Green)
- Default Mode: Dark
- Toggle in the top-right header
π§ͺ Testing
Backend (Go)
- Coverage: 82%+ on core business logic
- Tests for all 20+ gRPC methods
go test -tags=manual -cover ./...
Frontend (React/Vitest)
- 16 tests across 4 test files
- Dashboard, ThemeToggle, utilities coverage
cd web && npm test
π€ Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing - Make changes and add tests
- Run linters:
make lint - Run tests:
make test - Commit:
git commit -m "feat: Add amazing feature" - Push and open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
π License
MIT License β See LICENSE for details.