A lightweight, portable Windows tool that types clipboard text as simulated keyboard input — character by character.
Why? Some environments block Ctrl+V paste (Remote Desktops, KVM consoles, web-based terminals, restricted VMs). ClipTyper bypasses this by simulating real keystrokes via the Windows SendInput API.
You can install ClipTyper directly from your terminal:
winget install unpaved028.ClipTyper| Variant | Description | .NET Runtime Required? | Download |
|---|---|---|---|
| Installer (Recommended) | Standard non-admin Setup.exe – automatically creates Start Menu shortcuts and handles Autostart | ❌ No | ClipTyper-Setup.exe |
| Portable | Single .exe self-contained with .NET Runtime – runs instantly anywhere |
❌ No | ClipTyper-Portable.exe |
| Slim | Single .exe (~1 MB), requires installed .NET 8 Runtime |
✅ Install Runtime | ClipTyper-Slim.exe |
💡 Not sure which version to choose? Grab the Installer — it sets up everything automatically without requiring any Administrator privileges.
- 🎯 Paste anywhere — works in RDP sessions, KVM consoles, web terminals, and password fields that block clipboard paste
- 📦 Fully portable — single
.exe, no installation needed - 🔒 No admin rights — runs entirely in user-space
- ⌨️ Hardware-level input — uses
SendInputwith Unicode characters or optional VK keycode mapping - 🛡️ Typing safety & robustness — Escape emergency abort, focus-loss protection, single-instance guard, max text length confirmation dialog, and input sanitization (BOM, null-bytes, zero-width spaces filter)
- ⚡ Teams & Remote Desktop compatibility — optional VK compatibility mode translating characters to real virtual keycodes for MS Teams control share, Citrix, and RDP
- 🛡️ UIPI elevation warning — clear alert dialog when attempting to type into administrator-elevated target windows
- 🕐 Configurable timing — adjustable keystroke delay (5–100ms) ensures no characters are dropped
- 🖥️ Silent background app — runs as a system tray icon with single-instance guard
- 🖱️ Floating overlay button — optional on-screen button with multi-monitor support, edge snapping, live-preview scaling (25% - 200%), pulsing typing animation, completion checkmark, and customizable visibility toggle hotkey
- ⚙️ Customizable hotkeys — change the trigger hotkey and the overlay visibility toggle hotkey to any combinations you prefer
- 🔄 Automated update check — checks for new releases on startup (24h throttled) with native tray notifications, visual update badges on tray icon and overlay, and release notes display in the About dialog
- Start
ClipTyper.exe— it appears in the system tray (notification area) - Copy any text to your clipboard (
Ctrl+C) - Click into the target window where you want to type
- Press
Ctrl + Shift + T— ClipTyper types the clipboard content character by character
Tip: Press
Escapeat any time during typing to abort instantly!
When using fullscreen Remote Desktop, global hotkeys like Ctrl+Shift+T are forwarded to the remote session. The overlay button solves this:
- Enable the overlay: Right-click tray icon → Settings → check "Show Overlay Button" → Save. (You can also toggle its visibility at any time using the
Ctrl+Shift+Hhotkey). - A small, semi-transparent ClipTyper icon appears at the edge of your screen
- Hover over it — it slides out from the edge
- Left-click it — ClipTyper automatically restores focus to your previous window and types the clipboard content
- Right-click it to hide, select the active monitor, or select a scale preset (50%/100%/200%)
The overlay can be dragged anywhere on screen. When dragged near a screen edge (Left, Right, Top, Bottom) on any monitor, it snaps and peeks out cleanly.
Right-click the tray icon → Settings to configure:
| Setting | Description | Default |
|---|---|---|
| Trigger Hotkey | The keyboard shortcut to trigger typing. Validates if the hotkey is in use. | Ctrl + Shift + T |
| Keystroke Delay | Delay between each simulated keystroke (5–100ms). Increase for slow/remote targets. | 25ms |
| Clean Text | Removes invisible control chars, BOM, null-bytes, zero-width spaces before typing. | Enabled |
| Confirm Before Long Text | Shows duration estimate confirmation dialog before typing long clipboard text. | Enabled (> 5,000 chars) |
| VK Compatibility Mode | Translates characters to physical virtual keycodes for MS Teams control share / RDP. | Disabled |
| Play Sound Signal | Plays a system sound signal upon typing completion. | Disabled |
| Show Overlay Button | Enable/disable the floating overlay button. | Disabled |
| Scale | Scale percentage slider (25%–200%) with real-time preview. | 100% |
| Monitor | Select which display monitor to position the overlay on. | Primary Monitor |
| Overlay Toggle Hotkey | Keyboard shortcut to show/hide the floating overlay button. | Ctrl + Shift + H |
| Reset Position | Reset the overlay to the default position (right edge, center). | — |
| Run at Startup | (Installed version only) Run ClipTyper automatically on Windows boot. | Enabled |
| Automatically check for updates | Check GitHub automatically on launch for new releases (max 1x per 24h). | Enabled |
Settings Storage:
- Installed Version (Installer/WinGet): Program is installed under
%LocalAppData%\Programs\ClipTyper. Settings are saved to%AppData%\ClipTyper\settings.json. - Portable / Slim Versions: Settings are saved as
settings.jsonin the same folder as the executable (enabled by theportable.markerfile).
Clipboard text → SendInput (Unicode keystrokes) → Target application
ClipTyper reads text from the Windows clipboard and uses the native SendInput API with KEYEVENTF_UNICODE to simulate individual key presses. Each character is sent as a separate KeyDown/KeyUp pair with a configurable delay between characters, ensuring reliable input even in slow or remote environments.
Before typing begins, all modifier keys (Ctrl, Shift, Alt) are programmatically released to prevent the hotkey combination from interfering with the typed text.
When triggered via the overlay button, ClipTyper:
- Continuously tracks the last active window (that isn't ClipTyper)
- Waits 500ms after the click
- Restores focus to that window using
SetForegroundWindow - Waits another 500ms for the target to process the focus change
- Reads the clipboard and begins typing
- Windows 10/11 (x64)
- Portable Version: No additional requirements
- Slim Version: .NET 8 Desktop Runtime required
- No administrator privileges required for installation or autostart (uses HKCU).
# Clone
git clone https://github.com/unpaved028/ClipTyper.git
cd ClipTyper
# 1. Portable (self-contained, trimmed, compressed, with portable.marker)
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish-portable
New-Item -Path ./publish-portable/portable.marker -ItemType File
# 2. Slim (framework-dependent, with portable.marker)
dotnet publish -c Release -r win-x64 --self-contained false /p:PublishSingleFile=true -o ./publish-slim
New-Item -Path ./publish-slim/portable.marker -ItemType File
# 3. WinGet (installed mode, no marker, settings in AppData)
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish-winget
# 4. Compile Installer (requires Inno Setup installed)
iscc /DMyAppVersion=1.5.1 setup.issRequires .NET 8 SDK for building.
- 🛠️ Installer App Shutdown Fix: Fixed issue where the Inno Setup installer hung at "Closing Applications..." when ClipTyper was running. Added graceful Windows message shutdown handling (
WM_CLOSE,WM_QUERYENDSESSION,WM_ENDSESSION), Inno SetupAppMutexregistration, and a process termination failsafe during installation.
- 🛡️ Emergency Abort & Focus Safety: Immediate cancellation of typing when pressing
Escapeor when focus switches to another window. - 🔒 Single-Instance Guard: Mutex-based check prevents launching multiple ClipTyper instances simultaneously.
- ⚡ Teams & Remote Desktop Compatibility: New optional VK compatibility mode for Microsoft Teams control share, RDP, and VMs.
- 📝 Input Sanitization: Automatic cleaning of clipboard text before typing (filters BOM, null-bytes, and invisible control characters).
⚠️ Long Text Protection: Configurable confirmation dialog before typing very long texts with estimated duration.- 🛡️ Admin Rights Detection (UIPI): Clear alert dialog when target window is running with Administrator privileges.
- 📊 Visual Progress & Logging: Progress animation on overlay and tray icon, plus structured rotating file logging (
clip-typer.log).
- New Inno Setup Installer: Introduced a user-space non-admin installer (
ClipTyper-Setup.exe) that automatically configures Start Menu shortcuts and Autostart registry settings during installation, and launches the app automatically. - Overlay Scaling: Replaced size presets with a continuous Scale percentage slider (25% - 200%) in the settings form, including a real-time live preview.
- Multi-Monitor Positioning: Added support for choosing which display monitor the overlay button resides on, and ensured relative coordinates are preserved on monitor switch.
- All-Edge Peeking & Snapping: The overlay button can now snap and peek vertically (top/bottom) and horizontally (left/right) on any display.
- Adjacent Monitor Bleeding Fix: Implemented boundary region clipping to prevent the floating icon from bleeding onto adjacent screens when parked.
- Visibility Toggle Shortcut: Added a global hotkey (default
Ctrl + Shift + H, fully customizable) to easily toggle the overlay button on/off.
- Added manual "Check for Updates" feature in the About dialog linking to Github Release API.
- Implemented settings validation to prevent binding system-reserved or blocked hotkeys.
MIT