Open-source project
sabrogden/Ditto avatar
sabrogden/Ditto

Ditto on Windows: six install routes, one local clipboard database

Ditto is an extension to the Windows Clipboard. You copy something to the Clipboard and Ditto takes what you copied and stores it in a database to retrieve at a later time.

7,475 stars493 forksCGPL-3.0

At a glance

What is it?
Ditto keeps every item you copy in a local database so you can paste any of them later, and its front page is mostly a list of download links plus four steps of usage. This looks at what that design gives you, what it leaves out, and how the six install routes differ in version.
Who is it for?
Ditto suits a single Windows workstation where the same text, image or custom format gets copied more than once, and its stated policy of no login, no cloud and no telemetry is the reason to keep an eye on what it stores locally.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 44 days ago.
What is it written in?
Mainly C, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • sabrogden/Ditto7,475 ★ · +279
Star history
Repository2026-09-232026-11-14
sabrogden/Ditto7.2k7.5k

279 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The tray icon and Ctrl plus back-quote are the whole interface

Four steps, and no configuration file to hunt for. Run Ditto, copy something with Ctrl-C in a text editor, then bring the window up by clicking its icon in the system tray or by pressing its hot key, which defaults to Ctrl plus the back-quote key, the one that also types a tilde. Double click an item, or select it and press enter, and it is pasted into the previous window. Everything after that is the same two verbs: show the list, commit a paste. That is why the hot key matters more than any setting would, because a clipboard manager you have to reach for with the mouse has not saved you the copy and paste you were about to do anyway. The front page does not say how to rebind that hot key, or what happens when it collides with one your editor already uses, so treat the default as fixed until you find the answer in the wiki the project links alongside its forums.

Everything you copy lands in the same database

Ditto extends the standard Windows clipboard by saving each item placed on it, so any of those items stays reachable later. The project description is blunt about the mechanism: you copy something, and Ditto takes what you copied and stores it in a database to retrieve at a later time. Type is not the filter. Text, images, html and custom formats all go in, which means a rich text selection, an image and an application-specific payload sit in one list instead of in separate histories. That shared list is also the cost of the design. The front page gives no way to pin an entry, name it, or filter the list down to one format. The database file itself, its format and its location are not described there either, which matters if you expect the history to survive a reinstall or to move to another machine.

Six install routes, and the package managers lag the setup file

There are six ways in, and they do not all carry the same version. The 3.25.113.0 release carries a setup executable, DittoSetup_3_25_113_0.exe, and a portable archive, DittoPortable_3_25_113_0.zip. On a machine you provision yourself, the package managers are three commands:

code
choco install ditto
choco install ditto.portable
winget install -e --id Ditto.Ditto

The linked pages reveal the version drift: the Chocolatey packages point at 3.23.124.0, while the installer and the portable archive are 3.25.113.0. A machine built from the package manager therefore runs an older build than a machine that ran the setup file, and neither the front page nor the linked package pages spell out what changed between them. The sixth route is the Windows Store app, which arrives through the store listing instead of a download. Tag 3.25.113.0 is the newest release, dated 2025-09-27, with 3.25.76.0 on 2025-08-21 and 3.25.73.0 on 2025-08-19 behind it. If you script the install, that gap is the decision, not the installer itself.

No login, no cloud, no telemetry is a policy, not a feature list

Three lines, and they say more about the project than the download links do: no login, no cloud, no telemetry. Nothing about your clipboard leaves the machine through an account, because there is no account to sign into. The practical reading is that your history is local and only local. The front page describes no sync service, no export command and no recovery path. That trade suits anyone moving credentials or customer data through the clipboard, and suits nobody who wanted the clipboard to follow them between a desktop and a laptop. The wiki and the issue tracker are linked from the front page for the questions this leaves open, and the release history is linked separately for what changed.

A paste lands in the previous window, so focus decides the destination

The paste target is set by focus rather than picked from a menu. Double clicking an entry, or pressing enter on it, pastes it to the previous window, which is the window you were in before you summoned Ditto. That single rule explains both the appeal and the failure mode. The workflow is copy, summon, pick, and the destination does not change while the picker is open, so there is no dialog to misread and no target list to scroll. It also means the destination is only as trustworthy as your focus tracking. Summon the picker from a different window than the one you meant to return to, or click elsewhere while it is open, and the paste follows whichever window held focus before the picker appeared. The front page does not document a way to choose a target window explicitly.

The front page gives no build steps for the solution in src/

If you intend to build it rather than install it, the description runs out. The repository is laid out as a Visual Studio C++ project: CP_Main_10.sln, CP_Main.vcxproj with its filters file, CP_Main.idl for the COM interface, DeclareDPIAware.manifest, packages.config, and directories called res/, src/, Shared/, Addins/ and DittoSetup/. Beside them sit four whose purpose the front page never explains, EncryptDecrypt, FocusHighlight, ICU_Loader and U3Stop, along with focusdll/ and a Debug/ directory. No compiler version, no build commands and no prerequisites appear anywhere in the description. The project is GPL-3.0 with C as its main language, and the last push to master was on 2026-10-01, so the code moves, but the supported route for users is the binary: the setup file, the portable zip, the Store app or the package manager commands.

SignPath signs the binaries, and a beta channel sits beside the releases

The Windows binaries get free code signing through SignPath.io, with the certificate provided by the SignPath Foundation. That detail matters more than it sounds on Windows, because an unsigned utility that quietly reads everything you copy is exactly the shape of program that sets off security prompts on a managed desktop. It also gives you something concrete to verify before a rollout: look at the publisher on the downloaded setup file, and compare it with the signing arrangement the front page describes. That page also links a beta channel hosted on the project's SourceForge site, separate from the release history kept in the repository, so there is a place to watch unreleased builds and a place to pin a known version. Neither link is accompanied by a support policy. There is no statement about how long a release stays current, no list of Windows versions the project claims to support, and no changelog text beyond the release list itself.

Editorial conclusion

Ditto suits a single Windows workstation where the same text, image or custom format gets copied more than once, and its stated policy of no login, no cloud and no telemetry is the reason to keep an eye on what it stores locally. Skip it if you expected clipboard history to follow you between machines, if you need a build from source, because the front page documents no build steps for the Visual Studio solution, or if you provision machines from Chocolatey and need the newest release, since the linked packages sit at 3.23.124.0 while the installer is 3.25.113.0. Before rolling it out, check the publisher on the signed setup file, decide where the database file lives, and read the wiki for the hot key rebinding the front page leaves out.

Frequently asked questions

How do I use the Ditto clipboard manager?

Run Ditto, copy something with Ctrl-C in a text editor, then open Ditto from its system tray icon or with the hot key, which defaults to Ctrl plus the back-quote key. Double click an item, or press enter on it, and it is pasted into the previous window.

How do I install Ditto?

The 3.25.113.0 release carries a setup executable and a portable zip archive, and there is also a Windows Store app. On a managed machine the package managers are `choco install ditto`, `choco install ditto.portable` and `winget install -e --id Ditto.Ditto`.

Which Ditto version do the package managers give me?

The Chocolatey packages linked from the front page are version 3.23.124.0, for both ditto and ditto.portable, while the setup file and the portable archive linked there are 3.25.113.0. The newest release tag is 3.25.113.0, dated 2025-09-27.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. sabrogden/Ditto on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/sabrogden-ditto.svg)](https://hysenlabs.com/projects/sabrogden-ditto)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/sabrogden-ditto.svg)](https://hysenlabs.com/projects/sabrogden-ditto)

Was this useful?