English | íęľě´
đ A lightweight, fast stickyânote app for Windows â instant capture, rich text, tags, and wikiâstyle links, all stored locally.
StickyPad lives in your system tray and puts a note on your desktop in a single keystroke. Notes are colorful, resizable, alwaysâonâtopâcapable, and searchable. Everything is saved locally in an embedded database â no account, no cloud, no telemetry.
Built with .NET 8 ¡ WPF ¡ MVVM. Windows 10/11, x64.
- Highlights
- Screenshots
- Features
- Keyboard shortcuts
- Getting started
- Usage guide
- Where your data lives
- Architecture
- Privacy
- Roadmap
- License
- Acknowledgements
- ⥠Instant capture â
Ctrl+Shift+Ndrops a new note anywhere, even when no window is focused. - đ¨ Six color themes â Yellow, Pink, Blue, Green, Purple, and a dark Gray.
- âď¸ Rich text â bold, italic, underline, strikethrough, lists, task checkboxes, inline code, code blocks, alignment, and perâselection font sizes.
- đ§Š Renders Markdown & HTML â flip a note to Markdown or HTML mode and it renders live (via WebView2).
- đˇď¸ Tags & search â type
#taginside a note; filter and fullâtext search from the All notes window with match highlighting. - đ Wiki links â write
[[Note title]]to link notes together; click to jump. - đ Open & link
.mdfiles â open a Markdown/text file from disk (doubleâclick, dragâdrop, orCtrl+O) and StickyPad renders it in a note. Edits save straight back to the file, and external changes reload automatically â a twoâway link, not a copy. - đď¸ Safe deletes â a Recycle Bin keeps deleted notes for 30 days before autoâpurging.
- đĽď¸ Stays out of the way â tray icon, perânote opacity, alwaysâonâtop pin, multiâmonitor aware.
- đž Localâfirst â an embedded LiteDB file on your machine, with oneâclick JSON backup export/import.
- đ Bilingual UI â English & Korean; auto-detects your Windows language and switchable in Settings.
- đď¸ Vault mode â store your notes as humanâreadable
.mdfiles in a folder you choose (Obsidianâcompatible). Put it in a cloud folder for multiâdevice sync. Opt in under Settings â Storage; the builtâin database stays the default. External edits (cloud sync, Obsidian) are picked up live while the app is running. - â Unified to-do view â every checkbox from every note, gathered in one tab; check it off right there and the source note updates. Plus a fuzzy quick switcher (Ctrl+P) to jump to any note.
Switch a note between Text / Markdown / HTML and it renders on the spot:
| Desktop notes | All notes (search ⢠tags ⢠trash) | Inânote editor |
|---|---|---|
![]() |
![]() |
![]() |
Screenshots live in
docs/images/. Replace the placeholders with your own captures anytime.
Toggle â on a Markdown note for liveâpreview editing â headings, bold, italic, code, quotes and lists render inline as you type, and the markdown markers hide on lines you're not editing (Obsidianâstyle). Your note is still saved as plain Markdown source, so it roundâtrips cleanly with Vault .md files. Turn â off anytime for raw source editing. Checkboxes are clickable, fenced code blocks are syntaxâhighlighted (editor and preview/export), and lists autoâcontinue on Enter.
- Richâtext editor (WPF
RichTextBox) with a toolbar that appears on hover/focus and hides in preview mode. - Text / Markdown / HTML modes â pick a mode per note from the header (T / M / </>). Markdown (rendered with Markdig) and raw HTML render in a themed WebView2 preview;
Ctrl+Etoggles source â rendered, and links open in your browser. - WYSIWYG Markdown editing â liveâpreview editing that hides markers as you type; saved as plain Markdown (offline).
- Formatting: bold, italic, underline, strikethrough, bulleted & numbered lists, left/center/right alignment, inline code and code blocks, and a perâselection fontâsize picker.
- Task checkboxes â insert inline
âitems you can tick right inside the note. - Preview / Edit toggle (
Ctrl+E) locks a note readâonly so you can't fumble the text while reading it. - Auto title â the first nonâempty line becomes the note's title (used for the list and for
[[links]]). - Autosave â edits are debounced and persisted automatically; no save button.
- Templates â start a new note from a builtâin template (Daily log ¡ Meeting notes ¡ Toâdo list) from a note's ⯠menu or the tray.
- Bulk actions â tick multiple notes in the Allânotes window, then delete them or change their color in one go.
#tagsare parsed live from the note body; the All notes window shows a tag sidebar with counts and oneâclick filtering.- Search across title, tags, and body with scored ranking and inline highlighting of matches.
[[Wiki links]]resolve by note title â clicking opens (or focuses) the target note; missing targets are reported.- Autoâlinked URLs â
http(s)://âŚaddresses become clickable and open in your browser.
- Open a Markdown/text file three ways: doubleâclick it (once StickyPad is set as its Open with app), dragâdrop it onto any note, or press
Ctrl+Oâ it opens as a rendered note. - Twoâway sync â the note is the file: your edits are written back to the original
.md, and if the file changes in another editor the note reloads automatically (with a conflict prompt if you had unsaved edits). - Nonâdestructive â deleting/trashing a linked note only removes the note; the original file is never deleted. Reâopening the same file reuses the existing note instead of duplicating it.
- Safe by design â reading detects the file's encoding (BOMâaware); writing is UTFâ8. The file path shows on the header hover tooltip.
- Move, resize (grip), and recolor each note; position/size/color/opacity persist per note.
- Perânote opacity (50â100%) and an alwaysâonâtop pin.
- Multiâmonitor safe â notes that would open offâscreen are nudged back into view on startup.
- Closing a note with content hides it (kept alive in the tray); closing an empty note discards it.
- Systemâtray icon: leftâclick toggles show/hideâall, doubleâclick makes a new note, rightâclick opens the menu.
- Settings window â toggle autoâstart, enable/disable global hotkeys, and rebind the hotkeys with a clickâandâpress capture field.
- Global hotkeys: new note and Allânotes list from anywhere, fully configurable (or disabled).
- Start with Windows â optional autoâstart via the currentâuser
Runregistry key. - Automatic updates â on launch (and from the tray's Check for updatesâŚ) StickyPad checks GitHub Releases and, with your OK, downloads the new build and selfâreplaces on restart. Toggle it in Settings.
- Verified updates â downloaded updates are checked against a published SHAâ256 checksum before they're applied.
- Single instance â launching again just surfaces the running app (and forwards any file passed on the command line to it, so doubleâclicking an
.mdopens it in the running instance). .mdfile association â StickyPad registers itself (perâuser, no admin) in the Windows Open with list for.md/.markdown, without hijacking your default editor.- Language â English or Korean UI; follows Windows by default, change it in Settings (takes effect after restart).
- Backup export/import to a portable JSON file (tray menu).
- Export notes as text â dump all active notes to a readable Markdown/
.txtfile (tray menu). - Export from the Allânotes window â the ë´ëł´ë´ę¸° âž button exports the selected notes (or the current filtered list, if nothing is selected) as a single styled HTML document, a single PDF (rendered via an offscreen WebView2), or one Markdown file per note (with YAML front matter) into a folder you choose.
- Export/print a single note â from a note's header ⤠menu, save the current note as PDF, HTML, or Markdown, or send it to the printer.
- Vault (folder of .md) â export all notes to / import from a folder of roundâtrippable Markdown files (tray â Vault).
- Recycle Bin â deleted notes are softâdeleted, restorable, and permanently purged after 30 days (a cleanup also runs at startup).
- Rolling logs kept for 7 days for troubleshooting.
Global (systemâwide) â defaults; rebind them in Settings:
| Shortcut | Action |
|---|---|
Ctrl + Shift + N |
New note |
Ctrl + Shift + L |
Open the All notes window |
Inside a note:
| Shortcut | Action |
|---|---|
Ctrl + B / I / U |
Bold / Italic / Underline |
Ctrl + Shift + X |
Strikethrough |
Ctrl + ` |
Inline code |
Ctrl + E |
Toggle Preview / Edit (readâonly lock) |
Ctrl + O |
Open a Markdown/text file from disk (linked, twoâway) |
Alignment, lists, task items, code blocks, font size, color, opacity, and pin are available from the onâhover toolbar.
Grab the latest build from the Releases page, unzip, and run StickyPad.exe.
â ď¸ Windows may show a SmartScreen "unknown publisher" warning (the app isn't codeâsigned). It's safe â see Install & verify for why and how to check the SHAâ256 checksum.
Requires the .NET 8 Desktop Runtime (x64) unless you use a selfâcontained build (see below). The Markdown/HTML preview uses the WebView2 runtime â preinstalled on Windows 11 (and most Windows 10).
Prerequisites
- .NET 8 SDK
- Windows 10/11 (WPF is Windowsâonly)
Clone & run
git clone https://github.com/BaeTab/stickypad_windows.git
cd stickypad_windows
dotnet run --project stickypadPublish a distributable exe
# Framework-dependent single file (small; needs the .NET 8 Desktop Runtime)
dotnet publish stickypad -c Release -r win-x64 -p:PublishSingleFile=true --self-contained false -o publish/win-x64
# Or fully self-contained (larger; no runtime needed on the target PC)
dotnet publish stickypad -c Release -r win-x64 -p:PublishSingleFile=true --self-contained true -o publish/win-x64-selfcontainedOpen stickypad.sln in Visual Studio 2022 (17.8+) if you prefer the IDE.
- Make a note: press
Ctrl+Shift+N, or doubleâclick the tray icon. - Tag it: type
#idea,#todo,#workanywhere in the body â tags appear in the Allânotes sidebar. - Link notes: write
[[Project ideas]]; it becomes a clickable link that opens the note titled "Project ideas". - Find anything: press
Ctrl+Shift+L, type in the search box â title, tags, and body are searched with highlights. - Export a batch of notes: in the Allânotes window, tick the checkbox on each note card you want (selection persists across search/filter, with a "Nę° ě íë¨" count and ě 체 ě í/ě í í´ě ), then ë´ëł´ë´ę¸° âž â HTML 돸ěëĄâŚ, PDFëĄâŚ, or ë ¸í¸ëł Markdown íěźëĄâŚ. With nothing ticked, it exports the currently filtered list instead.
- Recolor / pin / fade: use the note's hover toolbar to switch color, pin it on top, or adjust opacity.
- Delete safely: deleting moves a note to the Trash tab; restore it there, or empty the bin. Anything left 30 days is purged automatically.
- Back up: tray menu â Export backup⌠writes a JSON file; Import backup⌠restores it (notes with the same id are overwritten).
Each note can be plain Text, Markdown, or HTML. Pick the mode from the buttons in the note's header:
T= Text (rich) ¡M= Markdown ¡</>= HTML ¡đ= Preview / Edit toggle
Steps to render:
- Click
M(Markdown) or</>(HTML) to switch the note's mode. - The note becomes a live split â source on top, rendered preview below â and the preview updates as you type. Drag the divider to resize.
- Press
đ(Eye) orCtrl+Eto expand to a fullâscreen rendered view, and again to return to the split.
When you reopen a Markdown/HTML note later, it opens in the same live split.
- Links in a rendered note open in your default browser.
- The preview is themed to match the note's color.
- Rendering uses the WebView2 runtime (built into Windows 11 and most Windows 10).
Pasting: in Markdown/HTML mode, pasted content is inserted as plain text automatically, so your tags and markup are kept exactly as copied (even from a browser or Word).
Point StickyPad at a Markdown/text file on your machine and it opens as a rendered, liveâlinked note:
- Dragâdrop the
.mdonto any note, pressCtrl+O/ the đ header button, or use the tray menu â Open markdown file⌠- Doubleâclick from Explorer/desktop: rightâclick the file â Open with â StickyPad (StickyPad registers itself in that list on first run; choose Always to make doubleâclick open it).
Once open:
- The note shows the rendered Markdown first; press
Ctrl+E/ the đ button to edit the source. - Your edits are saved back to the original file automatically (debounced) â the note and the file stay in sync.
- If the file is changed by another program, the note reloads it. If you had unsaved edits, StickyPad asks whether to keep yours or take the disk version.
- Deleting the note keeps the file. It only unlinks; your
.mdon disk is untouched.
The header's hover tooltip shows the linked file's full path. Supported:
.md,.markdown,.txt, and similar text files.
Everything is stored under your local profile:
%LocalAppData%\StickyPad\
ââ notes.db # LiteDB embedded database (all notes + trash)
ââ settings.json # preferences (hotkeys, auto-start, etc.)
ââ logs\
ââ app-YYYYMMDD.log # rolling logs, 7-day retention
To move StickyPad to a new machine, copy notes.db (or use Export backupâŚ).
A small, layered WPF application using the MVVM pattern and dependency injection.
Tech stack
- UI: WPF (.NET 8) + WPFâUI
- MVVM: CommunityToolkit.Mvvm
- Host & DI:
Microsoft.Extensions.Hosting/DependencyInjection - Storage: LiteDB (embedded NoSQL)
- Rendering: Markdig (Markdown) + WebView2 (HTML preview)
- Logging: Serilog (file + debug sinks)
- Tray: H.NotifyIcon.Wpf
- Hotkeys: NHotkey.Wpf
Project layout
stickypad/
ââ App.xaml(.cs) # startup, DI host, single-instance, global hotkeys
ââ Models/ # Note, AppSettings, NoteColor/Theme, content format
ââ ViewModels/ # NoteViewModel, NotesListViewModel (+ summaries)
ââ Views/ # NoteWindow, NotesListWindow (XAML + code-behind)
ââ Services/ # repository, settings, tray, window manager,
â # hotkeys, auto-start, backup (interface + impl)
ââ Utils/ # text extraction, search matcher, converters, icons
Notable design points
- Debounced autosave in
NoteViewModelcoalesces rapid edits before hitting the DB. SaveContentAsyncdeliberately preserves trash state so a closing window's stale copy can't "undelete" a note (a subtle bug this codebase guards against explicitly).- The
WindowManagerowns noteâwindow lifetime, offâscreen correction, and rebuildâfromâDB on import/restore. - The tray icon is created synchronously (
ForceCreate) to avoid an async icon path that could leave the tray empty.
StickyPad is localâfirst and offline. There is no account, no network calls, and no analytics. Your notes never leave your machine unless you export a backup file.
Ideas under consideration (contributions welcome):
- Live split preview (edit + rendered side by side)
- Image paste / attachments
- Note grouping and reminders
- Cloud sync (optional)
Released under the MIT License Š 2026 BaeTab. You're free to use, modify, and distribute it â see the LICENSE file for details.
Thanks to the maintainers of WPFâUI, CommunityToolkit.Mvvm, LiteDB, Serilog, H.NotifyIcon, and NHotkey â StickyPad stands on their shoulders.




