📝 Ghost Notes

Hierarchical note manager – search below to find what you need
🔍
📝 Notes
New Note Ctrl+N
Adds a new note under the currently selected one. Prompts for a name; duplicate names within the same parent are rejected. Default name is "New Note".
📝 Notes
New Child Note (right-click)
Right-click any note → "New Child Note" adds a note *inside* the selected one, indented one level. Same behaviour as the toolbar's New button.
📝 Notes
Insert Note Before (right-click)
Adds a new note *above* the current one, at the same level. Useful for inserting an entry into the middle of a list.
📝 Notes
Add Note as Next (right-click)
Adds a new note *below* the current one, at the same level.
📝 Notes
Rename F2
Puts the selected note's name into inline edit mode. Press Enter to confirm or Esc to cancel. Blank names are rejected.
📝 Notes
Delete Del
Deletes the selected note and everything inside it. Shows a confirmation dialog first. The root ToDoList node is protected.
🧭 Navigation
Back / Forward Alt+ / Alt+
Walks through every note depth-first. Wraps around: Forward at the last note goes back to the first. Useful for quickly skimming every note in a long tree.
🧭 Navigation
Collapse All Alt+C / Expand All Alt+X
Collapse tucks every branch away so you only see top-level notes. Expand opens the entire tree at once.
🧭 Navigation
Sort A–Z / Sort Z–A NEW
Right-click any note → Sort A–Z orders its children alphabetically (case-insensitive). Sort Z–A reverses the order. Only the children of the selected note are sorted; the rest of the tree is untouched.
🧭 Navigation
Favorites Alt+F
Pin a frequently used note as your favorite. Pressing the shortcut again jumps straight back to it. If the favorite was deleted or renamed, the pin clears itself gracefully.
🧭 Navigation
Get Page Path Alt+O
Copies the full path of the current note to the clipboard, using / as separator — e.g. ToDoList/Work/Q4 Report. Shows the path in a dialog for confirmation.
🌳 Organize
Move Up / Move Down Alt+ / Alt+
Reorders the selected note among its siblings. Content and children travel with it.
🌳 Organize
To Parent Level / To Child Level
Ctrl+Alt+ promotes the note up one level of the tree — it becomes a sibling of its old parent. Ctrl+Alt+ demotes it under the sibling above it. Content and children travel intact.
🌳 Organize
Tree Right-Click Menu
Right-click any note in the tree to reveal the full toolkit: New Child Note, Insert Note Before, Add Note as Next, Delete, Rename, Insert Emoji, Move up/down, To Parent/Child level, Collapse/Expand all, Sort A–Z / Z–A, Get page path, Set as Favorites.
✏️ Editing
Rich Text Editing
The editor is a RichTextBox — you can use Ctrl+B, Ctrl+I, Ctrl+U, change font, colour, and highlight. Everything is stored as RTF inside the data file. Emoji are supported (monochrome silhouettes, tinted by the current text colour).
✏️ Editing
Plain-Text Paste Ctrl+V
Pasting from another app strips any font formatting and inserts plain text — so pasted content always adopts your editor's font and emoji display correctly.
✏️ Editing
Insert Date / Time / Date+Time NEW
Insert a timestamp at the cursor. All three formats use ISO-style sorting-friendly notation.
  • Insert DateCtrl+Shift+D2026-09-11
  • Insert TimeCtrl+Shift+T14:23
  • Insert Date + TimeCtrl+Shift+B2026-09-11 14:23
Also available in the Edit menu and the editor's right-click menu.
✏️ Editing
Find & Replace UPDATED Ctrl+F / Ctrl+H / Ctrl+Shift+F
All three shortcuts now open the same unified dialog — Find & Replace. It searches every note's title AND body, live, as you type. Results appear in a scrollable list with a snippet of context, each tagged 📑 for title matches or 📄 for body matches, and showing the note's full path.
  • Click any result (or press Enter) to jump straight to that note — the editor scrolls to the match and highlights it.
  • Match case and Whole word checkboxes
  • ◄ Previous / Next ► cycle through results without going back to the list
  • Find All re-runs the search on demand
  • The dialog stays open while you bounce between results, so you can review every hit
Also reachable from the Edit menu, the toolbar's Find All button, and the editor's right-click menu.
✏️ Editing
Replace / Replace All — Across All Notes
Inside the same Find & Replace dialog:
  • Replace — swaps the currently selected match. Requires a match to be selected in the editor first.
  • Replace All — replaces every occurrence across every note body and every title in a single pass. A confirmation prompt warns you before the bulk operation runs, since it can't be undone in one step.
A true notebook-wide find-and-replace — great for renaming a project, fixing a typo everywhere, or updating a recurring phrase across dozens of notes. After Replace All, the results list refreshes so you can see the updated state.
✏️ Editing
Word Wrap Ctrl+W
Toggles soft line wrapping. Off: long lines scroll horizontally. On: they wrap to the editor's width.
✏️ Editing
Select All Ctrl+A
Selects the entire content of the current note.
✏️ Editing
Insert Emoji NEW
Right-click in either the tree or the editor and choose Insert Emoji… to open a tabbed picker with 144 emoji grouped into twelve categories across four top-level tabs (Expressions, Food, Things, Office).
  • In the tree: the emoji is prepended to the note's title.
  • In the editor: it's inserted at the cursor.
All emoji are Unicode 11 or earlier, so they render identically on any modern Windows. The picker uses a 6×2 grid of 32×32 buttons per category.
✏️ Editing
Insert Menu (right-click)
Loads up to three text files for quick snippet insertion:
  • InsCtrl.txtCtrl-prefix snippets
  • InsShift.txtShift-prefix snippets
  • InsShiftCtrl.txtCtrl+Shift snippets
Each line is Label; text. The text supports tokens like $dddd (weekday), $dd, $mm, $yyyy, $hh, $ss, %hh:mm:ss, %h:mm tt, and ^ which becomes a newline.
✏️ Editing
Lookup Menu (right-click)
Loads Lookup.txt (lines of Name; url$query). Highlight a word in the editor, pick a lookup entry, and the app opens the URL in your browser with the word substituted. Great for dictionaries, wikis, and search engines.
✏️ Editing
Editor Right-Click Menu
Insert, Lookup, Insert Date/Time, Insert Emoji, Cut, Copy, Paste, Select All, Find and Replace, and Word Wrap — all in one menu.
💾 Saving
Save Ctrl+S
Writes every note and its formatting to the XML data file ghostnotes.ghn. A green "Saved" toast blinks on the toolbar for a moment to confirm.
💾 Saving
Save As
Saves the entire notebook to a different .ghn file — useful for backups, project splits, or sharing a subset of notes with someone.
💾 Saving
Auto-Save (View menu)
Automatic background saves at your chosen interval:
  • Off
  • 30 seconds
  • 1 minute
  • 4 minutes (default)
  • 10 minutes
  • 30 minutes
The currently active interval is shown with a radio dot. Setting is saved to ghostnotes.ini.
💾 Saving
"Saved" Toast
After a manual save, a small green "Saved" appears at the right end of the toolbar. It blinks three times, holds for a moment, then fades gently. No popup boxes interrupt your workflow.
💾 Saving
Auto-Backup NEW
Every save also writes a dated snapshot to a Backups\ folder next to the exe — e.g. Backups\ghostnotes_2026-09-11.ghn. Only one snapshot per day; the most recent 30 are kept, older ones are pruned automatically. If you ever need to roll back after an accidental deletion or corruption, your last month of versions is right there.
💾 Saving
Data File: ghostnotes.ghn
A single XML file sits next to the exe and holds everything: the tree structure, note names, RTF content, and each note's created / modified timestamps. Copy it to back up the entire notebook.
💾 Saving
Settings File: ghostnotes.ini
Stores your splitter width, dark mode state, auto-save choice, tray preference, and favorite note. Editable by hand if you ever need to reset something.
📥 Import
Import Text File NEW
File menu → Import Text File. Picks a .txt file and creates a new note under the current selection with that file's text as the body. If a note with the same name already exists in that parent, the import is auto-numbered ("My File (1)", "My File (2)", …) so nothing is overwritten. Great for pulling in quick notes from other apps.
📤 Export
Export as Text
Writes every note to a single .txt file, with the tree structure shown as indented headings and the note content beneath each one. RTF codes are stripped so the output is clean and readable.
📤 Export
Export as HTML
Produces a styled HTML document with each note in its own rounded card. Handy for sharing notes on the web or archiving them in a browser-readable format.
📤 Export
Export as RTF NEW
Merges every note into a single .rtf file with each note as a bold heading followed by its fully formatted body — bold, italics, colours, and font changes are preserved. Opens cleanly in Word, WordPad, LibreOffice, and most rich-text editors. Ideal when you want to print or share a formatted copy of the whole notebook.
🚀 Launcher
Launcher Menu
The toolbar's "⚡ Launcher" button opens a dropdown built from Launcher.txt (lines of Label; command). Each entry runs the command when clicked — perfect for opening your browser, favourite apps, or scripts without leaving Ghost Notes.
🚀 Launcher
Environment Variables
Launcher commands can include environment variables like %USERPROFILE% or %SystemRoot%. They're expanded before running, so shortcuts stay portable across machines.
📊 Status
Status Bar NEW
The bottom strip shows live information: the current note's name, the cursor position (Ln 5, Col 12), the word and character count (updates every keystroke), and an unsaved-changes indicator (*).
👁️ View
Dark Mode Ctrl+D
Switches the whole window to a dark theme — editor, tree, toolbar, status bar. A checkmark appears next to the menu item when active, and the setting is remembered between sessions.
👁️ View
Status Bar Toggle
Shows or hides the bottom strip that displays the current note, cursor position, word count, and modification indicator. Checkmark syncs with the actual state.
👁️ View
Toolbar Toggle
Shows or hides the icon strip below the menu (New, Save, Delete, Back, Forward, Favorites, Launcher, Lookup, Find All, and the "Saved" toast).
👁️ View
Adjustable Splitter
Drag the divider between the tree and the editor to resize the two panes. The position is saved to ghostnotes.ini so it reappears exactly where you left it.
🖥️ Tray
System Tray Mode
When enabled, minimizing or clicking the X hides the app to the tray instead of closing it. Double-click the tray icon to restore. Right-click for Open / Exit.
🖥️ Tray
Exit
Truly closes the app, saving everything first. Available from the File menu, the tray menu, or by clicking the X when tray mode is disabled.
⌨️ Shortcuts
Keyboard Reference
  • Ctrl+N – New Note
  • Ctrl+S – Save
  • Ctrl+F / Ctrl+H / Ctrl+Shift+F – Find & Replace (across all notes)
  • Ctrl+Shift+D – Insert Date
  • Ctrl+Shift+T – Insert Time
  • Ctrl+Shift+B – Insert Date + Time
  • Ctrl+A – Select all
  • Ctrl+D / Ctrl+W – Dark mode / Word wrap
  • F2 / Del – Rename / Delete note
  • Alt+ / Alt+ – Back / Forward
  • Alt+ / Alt+ – Move up / down
  • Ctrl+Alt+ / Ctrl+Alt+ – To parent / child
  • Alt+C / Alt+X – Collapse / Expand all
  • Alt+O – Copy page path
  • Alt+F – Favorites
⚙️ Advanced
Single Instance
Only one copy of Ghost Notes can run at a time. Double-clicking the shortcut while it's already running simply brings the existing window to the front, so your notes never end up in two conflicting edit sessions.
⚙️ Advanced
Unsaved Changes Indicator
Whenever the current note has unsaved edits, an asterisk * appears in the title bar and next to the cursor position in the status bar. Close the app and you'll be prompted to save first.
⚙️ Advanced
Manual Reset
If the layout ever looks wrong or a setting misbehaves, close the app and delete ghostnotes.ini. On next launch Ghost Notes recreates it with defaults. Your notes in ghostnotes.ghn are never touched.
🔧 Hidden
The Invisible Root
Every note lives under an internal root node called ToDoList. You'll see it in the tree but can't rename or delete it — it holds the entire notebook together. You can still add children to it just like any note.
🔧 Hidden
Note Timestamps
Every note silently stores its creation and last-modified time in the data file, even though nothing in the UI shows them yet. This is groundwork — future versions may use it for "sort by date" and journal-style views.
🔧 Hidden
Single-Instance Log
Every second-launch event is recorded in Logs\single_instance.log next to the exe, along with any mutex or event errors. Useful if you ever need to trace why the app behaved oddly on launch.
👻 Bundle
The Ghost Bundle Family
Ghost Notes is one of six small utilities under the Ghost Bundle umbrella:
  • Ghost Reader — distraction-free reader
  • Ghost Stamp — file timestamping & signing
  • Ghost Cast — multi-voice script studio
  • Ghost Notes — hierarchical notebook (you are here)
  • Ghost Phrases — text expander
  • Ghost Calc — standalone calculator with insert-into-app
Six utilities. One family. Each does one thing well and stays out of your way. 💚
✨ No features match your search.

📝 About Ghost Notes

Ghost Notes is a small hierarchical notebook inspired by the classic MemPad by Horst Schaeffer — the sort of tool that quietly does one thing well and then stays out of your way. It keeps every note in a single XML file, so backing up your entire notebook means copying one file to a USB stick or a cloud folder. Rich text, dark mode, favourites, back/forward navigation, auto-backup, cross-note find & replace, and a handful of keyboard-driven niceties are all baked in. There are no accounts, no cloud sync, no telemetry, and no ads. Ghost Notes is free, and it always will be. 💚