Keep any application window above all other windows with one click.
PinWindow is a lightweight Windows utility that lets you keep any application window always on top.
You can pin or unpin the active window using a small button near its title bar, a configurable global keyboard shortcut, or the system tray menu.
- Keep any supported application window always on top
- Pin button near the active window title bar
- Configurable global keyboard shortcut
- Pin or unpin the active window from the system tray
- Customizable pin button size
- Customizable active pin color
- Adjustable horizontal and vertical button position
- Optional startup with Windows
- Desktop notifications
- Lightweight background operation
- Portable single-file application
- Support for Windows 10 and Windows 11
- No separate .NET installation required
Download the latest version of PinWindow from:
For most users, the SourceForge download is recommended:
PinWindow does not require installation.
- Download the latest
PinWindow.exerelease. - Move the file to any convenient folder.
- Run the application.
- The PinWindow icon will appear in the Windows system tray.
Windows may display a Microsoft Defender SmartScreen warning because the application is not digitally signed.
Only run the application when it was downloaded from the official GitHub repository or SourceForge project page.
- Open the application window you want to keep on top.
- Make that window active.
- Click the pin button near the window title bar.
- Click the button again to unpin the window.
A pinned window remains visible above other application windows.
Activate the window you want to pin and press the configured global keyboard shortcut.
The default shortcut is:
Ctrl + Alt + T
The shortcut can be changed in the PinWindow settings.
Right-click the PinWindow icon in the Windows system tray to:
- Pin or unpin the active window
- Open the settings window
- Show or hide the title bar pin button
- View the current keyboard shortcut
- Exit PinWindow
Double-click the tray icon to open the settings window.
PinWindow allows you to configure:
- Global keyboard shortcut
- Pin button visibility
- Pin button size
- Active pin color
- Horizontal button offset
- Vertical button offset
- Desktop notifications
- Automatic startup with Windows
Settings are saved for the current Windows user in:
%AppData%\PinWindow\settings.json
PinWindow is distributed as a single executable file.
It does not require an installer and can be launched from:
- Any folder on your computer
- A USB drive
- A portable applications directory
The self-contained release includes all required .NET components.
- Windows 10 or Windows 11
- 64-bit Windows
- Approximately 160 MB of free disk space
- No separate .NET installation required for the self-contained release
Changes in this release:
- Fixed an issue where the pin button could remain hidden after switching from Word, VS Code, or another unsupported window
- Added automatic recovery of the pin button without restarting PinWindow
The SHA-256 checksum for the current release is:
D75DD20325F2F44CED8644CD37F06D99CE262EF07091CA6DDE18F8863351D637
The checksum applies to:
PinWindow-v3.3.2-win-x64.exe
Open PowerShell in the folder containing the downloaded file and run:
Get-FileHash ".\PinWindow-v3.3.2-win-x64.exe" -Algorithm SHA256The returned hash should match:
D75DD20325F2F44CED8644CD37F06D99CE262EF07091CA6DDE18F8863351D637
You can also use the Windows certutil command:
certutil -hashfile "PinWindow-v3.3.2-win-x64.exe" SHA256The complete source code is available on GitHub:
https://github.com/helliong/pinWindow
Report bugs or suggest new features through GitHub Issues:
https://github.com/helliong/pinWindow/issues
When reporting a problem, please include:
- Your Windows version
- Your PinWindow version
- The application where the problem occurred
- Steps required to reproduce the issue
- The full error message, when available
- A screenshot or screen recording, when useful
- Windows 10 or Windows 11
- Git
- .NET 8 SDK
Clone the repository:
git clone https://github.com/helliong/pinWindow.git
cd pinWindowRun the application in development mode:
dotnet runCreate a self-contained release build:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=trueThe compiled executable will be located in:
bin\Release\net8.0-windows\win-x64\publish\
You can also use the included publishing script:
powershell -ExecutionPolicy Bypass -File .\publish.ps1Contributions are welcome.
You can contribute by:
- Reporting bugs
- Suggesting new features
- Improving documentation
- Submitting a pull request
Before submitting a pull request, make sure the project builds successfully:
dotnet buildDeveloped by helliong.