A lightweight, beautiful notepad for Windows — purple & gold.
⬇ Download · Features · Shortcuts · Build · Contributing
- Head to the latest release.
- Download
Jester.exe. - Double-click to run. That's it.
It's a single, portable file — no installer, and no .NET install required (the runtime is bundled). Works on Windows 10 and 11 (64-bit).
First launch may show a SmartScreen prompt because the build is unsigned — choose More info → Run anyway.
- Tabbed editing — work on many files at once, each with its own undo history and
encoding. Close with
Ctrl+Wor middle-click; switch withCtrl+Tab. - Line numbers — a gutter with the current line highlighted, plus a current-line highlight in the editor (toggle in View).
- Find in Files — search a whole folder (
Ctrl+Shift+F) with filters and subfolders; double-click a result to jump straight to it. - Files — New, Open (multiple at once), Save, Save As, Save All, Open Recent, drag-and-drop, and "Open with Jester" from Explorer.
- Session restore — reopens your window, tabs, and preferences next launch.
- Export to PDF — turn any note into a clean, paginated A4 PDF (
Ctrl+Shift+E). - Find & Replace — find, replace, replace all, match case, wrap-around, and direction.
- Go To Line, insert time/date, auto-indent, unlimited undo/redo.
- Format — word wrap, a font picker, and line-ending / encoding conversion.
- View — zoom (menu or
Ctrl+ mouse wheel) and a toggleable status bar. - Status bar — characters, lines, caret position, zoom, line ending, and encoding.
- Safe by default — prompts before discarding unsaved work (including on sign-out/shutdown) and saves atomically so a crash can't corrupt your file.
- Encoding aware — detects UTF-8/UTF-16 BOMs and preserves the file's original encoding and line endings.
| Action | Shortcut | Action | Shortcut |
|---|---|---|---|
| New Tab | Ctrl+N |
Find | Ctrl+F |
| Open | Ctrl+O |
Find Next / Previous | F3 / Shift+F3 |
| Save | Ctrl+S |
Replace | Ctrl+H |
| Save As | Ctrl+Shift+S |
Find in Files | Ctrl+Shift+F |
| Save All | Ctrl+Alt+S |
Go To Line | Ctrl+G |
| Close Tab | Ctrl+W |
Time/Date | F5 |
| Next / Prev Tab | Ctrl+Tab / Ctrl+Shift+Tab |
Zoom In / Out | Ctrl++ / Ctrl+- |
| Export to PDF | Ctrl+Shift+E |
Restore Zoom | Ctrl+0 |
| Exit | Ctrl+Q |
Undo / Redo | Ctrl+Z / Ctrl+Y |
| Select All | Ctrl+A |
Prerequisites: .NET 9 SDK on Windows.
git clone https://github.com/dominikkoenitzer/Jester.git
cd Jester
dotnet run -c ReleaseProduce the portable single-file build that ships in releases:
dotnet publish Jester.csproj -c Release -r win-x64 --self-contained true ^
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true ^
-p:EnableCompressionInSingleFile=trueThe executable lands in bin/Release/net9.0-windows/win-x64/publish/Jester.exe.
dotnet test Jester.sln57 xunit tests cover the parts that work without a window: find/replace, settings persistence, and the command table. The WPF views are verified by running the app. CI runs the same command.
| Path | Purpose |
|---|---|
App.xaml(.cs) |
Application entry point, session-end and crash handling. |
MainWindow.xaml(.cs) |
The main window: fields, command bindings, settings/session, shutdown. |
MainWindow.Tabs.cs |
Creating, switching and closing document tabs. |
MainWindow.Files.cs |
Open, save, PDF export and the recent-files list. |
MainWindow.Search.cs |
Find, replace, find-in-files and go-to-line. |
MainWindow.View.cs |
Word wrap, line numbers, font, encoding, line endings, zoom. |
MainWindow.Editing.cs |
Auto-indent, ctrl-wheel zoom, drag and drop. |
MainWindow.Status.cs |
Title bar and status bar updates. |
TextSearch.cs |
Find/replace arithmetic, with no editor attached. |
tests/Jester.Tests/ |
xunit suite. |
EditorView.cs |
One document's editor surface (text box + gutter + current-line highlight). |
LineNumberMargin.cs |
The line-number gutter drawn beside each editor. |
DocumentTab.cs |
Per-tab document state (path, encoding, dirty flag). |
AppSettings.cs |
Loads/saves preferences and the last session as JSON. |
ThemedWindow.cs |
Base window with the custom title bar / chrome. |
Theme.xaml |
The purple & gold theme — palette and control styles. |
JesterCommands.cs |
Custom routed commands and key gestures. |
PdfExporter.cs |
Renders the document to PDF (QuestPDF). |
FindReplaceWindow, FindInFilesWindow, GoToWindow, FontWindow |
Dialogs. |
Assets/jester.ico |
Application icon. |
Contributions are welcome! Please read CONTRIBUTING.md. Found a bug or have an idea? Open an issue.
Jester is free software licensed under the GNU GPL v3.0. Copyright © 2026 Dominik Könitzer.
Dominik Könitzer — software engineer in Zürich, Switzerland.
dominikkoenitzer.ch · CV · @dominikkoenitzer · dominik.koenitzer@gmail.com