Need to copy several pieces of text and paste them later? On Windows 11 and supported versions of Windows 10, you can use built-in clipboard history: press Windows + V to view recent copied items. You no longer need third-party software for this common task. For advanced users who want fixed copy-and-paste shortcuts, this guide also includes an optional AutoHotkey v2 example.
Method 1: Use Windows + V clipboard history (recommended)
- Copy text or an image normally with Ctrl + C.
- Press Windows + V. If this is your first time using clipboard history, select Turn on.
- Copy another item, then press Windows + V again. Choose the previous item you want to paste.
- For entries you use often, use the pin option where available. To delete an entry or clear history, open the clipboard history menu and choose the appropriate command.
You can also manage clipboard history under Settings > System > Clipboard. Microsoft documents the feature in Using the Clipboard. The feature supports a limited number and size of entries (Microsoft documents up to 25 entries and up to 4 MB per item), so do not treat it as a permanent archive.
Privacy note: clipboard contents may include email addresses, private messages, or confidential business text. Clear sensitive copied items and keep cross-device clipboard syncing off unless you intentionally need it and understand where the data goes. Pinned items may remain after the rest of history is cleared or Windows restarts.
Video: the original multi-clipboard approach
This original video illustrates the concept of reusing several clipboard slots with AutoHotkey. Its older script is preserved at the end of this article for reference, but that syntax belongs to AutoHotkey v1, not modern v2.
Method 2: Three dedicated text slots using AutoHotkey v2
AutoHotkey is a Windows automation and keyboard-shortcut utility. Version 2 has significantly different syntax from version 1, so an old script should not be pasted into a v2 installation unchanged. The following example is for AutoHotkey v2 only. It stores plain text in three slots while the script runs; it is not intended to preserve rich formatting, files, or images.
- Install AutoHotkey v2 from its official website. Obtain software only from the source you trust and follow your organization’s IT policy.
- Open a plain-text editor, paste the script below, and save it as ThreeClipboardSlots.ahk (note the .ahk extension, not .aht).
- Double-click the .ahk file to run it with AutoHotkey v2.
- Select some text and press Ctrl + Alt + 1 to store it in slot 1. Use Ctrl + Alt + 2 or Ctrl + Alt + 3 for the other slots.
- Put the insertion point in a text field and press Ctrl + Alt + 4 to insert slot 1, Ctrl + Alt + 5 for slot 2, or Ctrl + Alt + 6 for slot 3.
- To stop, right-click the AutoHotkey icon in the Windows notification area and select Exit.
#Requires AutoHotkey v2.0
#SingleInstance Force
; Three text-only slots. Ctrl+Alt+1/2/3 to copy selected text.
; Ctrl+Alt+4/5/6 to paste the saved text.
slots := Map()
^!1::SaveSlot(1)
^!2::SaveSlot(2)
^!3::SaveSlot(3)
^!4::PasteSlot(1)
^!5::PasteSlot(2)
^!6::PasteSlot(3)
SaveSlot(slot) {
global slots
previous := ClipboardAll()
try {
A_Clipboard := ""
Send("^c")
if ClipWait(1) {
slots[slot] := A_Clipboard
} else {
MsgBox("No text was copied to slot " slot ".")
}
} finally {
A_Clipboard := previous
}
}
PasteSlot(slot) {
global slots
if !slots.Has(slot) {
MsgBox("Slot " slot " is empty.")
return
}
SendText(slots[slot])
}How this script works: each SaveSlot shortcut copies selected text temporarily, saves that text to one of three variables, and restores the previous clipboard contents. PasteSlot uses SendText to insert stored plain text without replacing the system clipboard. This is an example for learning, not a guarantee of compatibility with every application: some windows intercept Ctrl + Alt combinations, and some text fields disallow simulated input. Check its behavior with non-sensitive sample text before using it at work.
Shortcut comparison
| Action | Windows clipboard history | AutoHotkey v2 sample |
|---|---|---|
| Copy | Ctrl + C | Ctrl + Alt + 1, 2, or 3 |
| Paste | Windows + V, select item | Ctrl + Alt + 4, 5, or 6 |
| Store multiple items | Automatic history (with limits) | Three text-only slots in script memory |
| Additional installation | None on supported Windows editions | AutoHotkey v2 |
The script’s slots exist only in memory while the script runs; closing it loses those stored values. If you need pinned clipboard-history entries without writing code, use Windows + V instead.
AutoHotkey v1: Original script retained for existing users
Legacy reference: The code below comes from the original article and uses AutoHotkey v1 constructs such as ClipboardAll and command-style Send. This is not interchangeable with v2 syntax. AutoHotkey v1 is no longer maintained, so new readers should generally use Windows clipboard history or the versioned v2 sample above. The older code is included for readers maintaining an existing installation; it has not been independently retested as part of this article update.
#Persistent
; Hotkeys
^Numpad1::Copy(1)
^Numpad4::Paste(1)
^Numpad2::Copy(2)
^Numpad5::Paste(2)
^Numpad3::Copy(3)
^Numpad6::Paste(3)
Copy(clipboardID)
{
global ; All variables are global by default
local oldClipboard := ClipboardAll ; Save the (real) clipboard
Clipboard = ; Erase the clipboard first, or else ClipWait does nothing
Send ^c
ClipWait, 2, 1 ; Wait 1s until the clipboard contains any kind of data
if ErrorLevel
{
Clipboard := oldClipboard ; Restore old (real) clipboard
return
}
ClipboardData%clipboardID% := ClipboardAll
Clipboard := oldClipboard ; Restore old (real) clipboard
}
Cut(clipboardID)
{
global ; All variables are global by default
local oldClipboard := ClipboardAll ; Save the (real) clipboard
Clipboard = ; Erase the clipboard first, or else ClipWait does nothing
Send ^x
ClipWait, 2, 1 ; Wait 1s until the clipboard contains any kind of data
if ErrorLevel
{
Clipboard := oldClipboard ; Restore old (real) clipboard
return
}
ClipboardData%clipboardID% := ClipboardAll
Clipboard := oldClipboard ; Restore old (real) clipboard
}
Paste(clipboardID)
{
global
local oldClipboard := ClipboardAll ; Save the (real) clipboard
Clipboard := ClipboardData%clipboardID%
Send ^v
Clipboard := oldClipboard ; Restore old (real) clipboard
oldClipboard =
}Common problems and troubleshooting
- Windows + V opens no history: choose Turn on when prompted or check Settings > System > Clipboard. Your organization may have policies that restrict this feature.
- Older copied items disappear: history has a capacity limit, and unpinned items can be removed as newer items arrive.
- AutoHotkey says the script is invalid: verify that the file ends in .ahk and the installed interpreter is v2 for the new sample. The legacy script uses v1 syntax.
- Saved text will not paste: first try a simple application such as Notepad. Some applications block simulated keystrokes or use keyboard shortcuts differently.
- Special keyboard layouts: Ctrl + Alt combinations may conflict with AltGr, so adjust the sample hotkeys if needed.
- Rich formatting disappears: the new AHK v2 example intentionally stores text only. Use the Windows history feature for supported image/HTML entries or another approved workflow for formatted content.
Which method should you choose?
For most people, Windows + V is easier and requires no extra installation. Use a custom AutoHotkey v2 script only when dedicated hotkeys are worth the added complexity. If you are interested in further Windows automation, read our AutoHotkey productivity shortcuts tutorial.
Related Posts

C P Gupta is a YouTuber and Blogger. He is expert in Microsoft Word, Excel and PowerPoint. His YouTube channel @pickupbrain is very popular and has crossed 9.9 Million Views.