A lightweight Windows tray utility for storing and instantly copying frequently used text snippets — emails, addresses, IDs, templates, and anything you paste often.
Русская версия / Russian version
- One-click copy — click any entry to copy its value to the clipboard
- CRUD management — create, edit, delete entries
- Instant search — filter entries by label or value as you type
- System tray integration — lives in the notification area, slide-up/down animation on toggle
- Auto-hide on focus loss — click outside and the window quietly slides away
- Light & dark theme — follows system or manual override (Win11-inspired palette)
- Localization — English and Russian, auto-detected from system language
- Import / Export — backup all entries and settings to a single JSON file, restore with merge (deduplication by label+value)
- Autorun — optional start at Windows login (via Registry)
- Single instance — launching again brings the existing window to front
- Adaptive tray icon — auto-switches light/dark on theme change; pulse animation during startup
- Silent startup — no visible window or taskbar icon during WebView2 initialization
- Portable — single
.exe, no installation required - Lightweight — ~7 MB binary, ~40 MB RAM in idle
- Windows 10 (1809+) or Windows 11
- WebView2 Runtime — pre-installed on Windows 11 and most up-to-date Windows 10 machines. If missing, download the Evergreen Bootstrapper.
Download the latest copynote.exe from Releases and run it. That's it — no installer, no dependencies beyond WebView2.
The app starts minimized to the system tray. Left-click the tray icon to open.
| Tool | Version |
|---|---|
| Go | 1.23+ |
| Node.js | 18+ (only for building the frontend) |
# 1. Clone
git clone https://github.com/DiHard/CopyNote.git
cd CopyNote
# 2. Build the frontend (Svelte + Tailwind → single inlined HTML)
cd web
npm install
npm run build
cd ..
# 3. Build the Go binary
go build -ldflags="-H=windowsgui -s -w" -o copynote.exe .The resulting copynote.exe is fully self-contained (the frontend is embedded via //go:embed).
The tray/exe icon is generated from code (Lucide "copy" outline):
go run tools/genicon/main.go # writes assets/icon-dark.ico + icon-light.ico
./bin/rsrc.exe -ico "assets/icon-dark.ico,assets/icon-light.ico" -arch amd64 -o resource_windows_amd64.syso| What | Where |
|---|---|
| Entries | %APPDATA%\CopyNote\data.json |
| Settings | %APPDATA%\CopyNote\settings.json |
| WebView2 cache | %LOCALAPPDATA%\CopyNote\WebView2\ |
No data is stored next to the executable — safe to put it anywhere.
| Layer | Technology |
|---|---|
| Backend | Go (stdlib + go-webview2) |
| Frontend | Svelte 5, TypeScript, Tailwind CSS 4 |
| Bundler | Vite + vite-plugin-singlefile |
| UI host | Microsoft Edge WebView2 |
| System integration | Win32 API via golang.org/x/sys/windows (no cgo) |
| Key | Context | Action |
|---|---|---|
Escape |
Main window | Hide to tray |
Escape |
Settings | Back to main view |
Escape |
Any modal | Close modal |
Enter |
Create/Edit form | Save |
Enter |
Delete confirmation | Confirm |
Tab |
Entry list | Navigate between entries |