npad

npad 📝

Build Status Release Latest Release License: MIT

A lightweight, cross-platform text editor inspired by the simplicity and speed of classic Windows Notepad. Built with native APIs for maximum performance and minimal resource usage.

npad in dark mode showing the Preferences panel on the first tab with auto-save and crash recovery options

Versioning: This project follows Semantic Versioning (SemVer) for predictable and reliable version management.

Table of Contents

Philosophy 💭

npad aims to recreate the beloved simplicity of original Windows Notepad while adding essential quality-of-life improvements. No AI integration, no spell check - just fast, reliable text editing. It’s like notepad, but quicker and easier. (And yes, the name is npad, always lowercase.)

Core principle: out of the box, npad behaves as close to Windows 10 notepad.exe as possible. Enhancements are judged by one rule:

Features ✨

Current features (Windows build):

Planned (see the Roadmap):

Note: Windows support will be first, for the obvious reasons, as compile-yourself, a portable EXE, or as an EXE installer. Other platforms and installers will come with time or contributions

Why 🤔

Quite simple really; I’ll be forced to use Windows 11 at work in October, and the new Windows Notepad is bloated, slow, crashes, and suffers from the forced-injection of AI and other garbage features. Microsoft has recently announced even more ‘features’ (read; bloat), thus I figure it’s now a race

Whilst yes, you can remove the app redirect or uninstall it, it appears you cannot truly remove it and revert to the original notepad.

And yes, there are many great other options such as Sublime Text, Notepad++, NeoVim, and more, and I have used them all - and still do use some of them - they do not align with the notepad.exe design philosophy that npad is adopting.

If you want a 1:1 Windows 7 notepad.exe please see Windows 7 Games for Windows 11 and Windows 10.

What npad is not ❌

The below ‘features’ are 99% locked-in as not going to happen. 100% for the first one, actually. That does not mean that they could not be added via plugins later - if developed - but these items fall outside of my design goals for this.

What features will be considered 🤷

These items may or may not be added, and are essentially subject to my whim, but suggestions may be raised as an ‘Issue’

Configuration 🔧

npad stores its settings in JSON format in standard system locations:

Settings include window position, auto-save preferences, theme selection, and other user preferences. All settings are optional - npad works perfectly with default values.

Platform Support 🖥️

Platform Status Backend
Windows ✅ Active Development Win32 API
macOS 🚧 Planned Cocoa
Linux 🚧 Planned X11 & Wayland
*nix Terminal 🚧 Planned ncurses
Windows Terminal 🚧 Planned Windows Console API

Love the project? Consider sponsoring its development! Your support helps dedicate more time to making npad the best lightweight text editor it can be.

💖 Sponsor on GitHub

Every sponsorship, no matter the size, is deeply appreciated and goes directly toward:

Your support makes a real difference in keeping this project alive and thriving! ✨

Get npad 📥

Pre-Built

Download from the Releases page:

See DOCUMENTATION.md for the full installer reference (tasks, features, fonts, the Windows 11 notepad alias).

SmartScreen / Defender blocking the download? Releases from v0.32.4 are code-signed (check Properties → Digital Signatures), but SmartScreen builds a publisher’s reputation over its first signed releases, so it may still warn. Right-click the downloaded file → Properties → tick Unblock → Apply (or choose “More info” → “Run anyway” on the SmartScreen prompt). Verify the SHA256 against CHECKSUMS.txt first if unsure.

Planned: 🎁 Winget - for winget install npad.

Compile Yourself

Prerequisites

Build Instructions

  1. Clone the repository:
    git clone https://github.com/platima/npad.git
    cd npad
    
  2. Install dependencies (Linux):
    # Automated setup (recommended)
    ./scripts/setup-runner.sh
       
    # Or manually install
    sudo apt-get install build-essential gcc-mingw-w64 libx11-dev
    
  3. Build for your platform:
    # Windows (cross-compile from Linux)
    make windows        # Windows x64 build
       
    # Native Linux
    make linux
       
    # macOS (when implemented)
    make macos
       
    # See all options
    make help
    
  4. Development with VS Code:
    • Open the project folder in VS Code
    • Install the C/C++ extension
    • Use Ctrl+Shift+P → “Tasks: Run Task” → “build windows”
    • Debug with F5 (requires make debug)
  5. Code quality checks:
    make lint           # Run static analysis
    make format-check   # Verify code formatting
    make format         # Auto-format code
    

Use npad 🎯

Running from Windows Run dialog

After installation, simply press Win+R and type npad to launch.

You can also type ‘npad’ in any File Explorer address bar, and npad will launch and show you an Open dialog in that location.

Design Principles 🏗️

  1. 🔧 Native over frameworks - Direct platform APIs for maximum performance
  2. ⚡ Performance first - Optimized for speed and minimal resource usage
  3. 🎯 Simplicity preserved - Core functionality stays true to classic Notepad
  4. ✨ Quality enhancements only - New features improve workflow without complexity
  5. 📦 Zero dependencies - Self-contained executable with no external requirements
  6. 🚫 No bloat - Resistance to feature creep and unnecessary additions

Architecture 🏛️

npad uses a clean abstraction layer that separates platform-specific UI code from core logic:

Core Logic (platform-independent)
    ↓
UI Interface Layer (abstraction)
    ↓
Platform Implementation (Win32/Cocoa/X11/ncurses)

Contributing 🤝

Contributions are welcome! Please see CONTRIBUTING.md for detailed guidelines.

Focus areas:

Development:

Roadmap 🗺️

Documentation 📖

See DOCUMENTATION.md for every setting, keyboard shortcut, status-bar action and behaviour.

Changelog 🛠

See CHANGELOG.md for curated release notes; the commit-level history lives in git log.

Acknowledgements 🙏

License 📄

MIT License - See LICENSE file for details.

Author 👨‍💻

Platima - GitHub Profile


“Sometimes the best software is the software that gets out of your way.” ✨