GNU ccd2cue - CCD sheet to CUE sheet converter

 Manual   Announcement   News   To do   Authors   Thanks   Donors 

Manifesto: On the internet there is a gigantic quantity of optical disc image files in numerous formats. Countless times we need to burn some of them. Some time ago I needed it, but I came across a file format extremely irritating for a Free Software user like me: a CD layout descriptor file, with .ccd suffix, generated by a proprietary software called CloneCD. I searched the internet for a way to burn that file on the GNU+Linux-Libre system, but I only found a lot of people asking for a solution on a lot of forums, and getting the unanimous answer: no way! At first I could not believe at that point there was no option. Then, with a little bit of patience and research, I wrote some code to convert that file to a format much more common and accessible, an ad-hoc standard in the GNU operating system: the CUE sheet format. So I could burn a lot of what I wanted! I wondered whether it would be useful for others… and here is the result!

Bruno Félix Rezende Ribeiro (oitofelix)

GNU ccd2cue is a CCD sheet to CUE sheet converter. It supports the full extent of CUE sheet format expressiveness, including mixed-mode discs and CD-Text meta-data. It plays an important role for those who need to use optical disc data which is only available in the proprietary sheet format CCD, but don’t want to surrender their freedom. It fills an important gap in the free software world because before its conception it was impossible to use complex forms of optical disc data laid out by CCD sheets in a whole/holy free operating system.

 [GPL logo] The GNU ccd2cue software is free software; you can redistribute it and/or modify it under the terms of the GNU GPL (General Public Licence) as published by the FSF (Free Software Foundation); either version 3, or (at your option) any later version.

The GNU ccd2cue documentation is also intended to be a reference documentation for both sheet format specifications. That way we can reverse engineer the secret CCD sheet proprietary format only once and then make the information available for developers in order to benefit all free software users that want their software to be interoperable. The CUE sheet format is not a secret, but with this package we take the opportunity to ensure that its specification is available under a free documentation license for the sake of the whole free software community.

 [FDL logo] The GNU ccd2cue documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU FDL (Free Documentation Licence) as published by the FSF — with no Invariant Sections; either version 1.3, or (at your option) any later version.


The current stable release is 0.5 (released March 13, 2015).

Here are the compressed sources and a GPG detached signature:

Use a mirror for higher download bandwidth:

You can find that and earlier releases at a nearby GNU ftp mirror; or if automatic redirection does not work use the GNU main ftp server.

The oldest (non-GNU) releases are available from Savannah mirror download area (alternatively Savannah download area). They are only of historical interest and are no longer supported.

Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this:

gpg --verify ccd2cue-0.5.tar.gz.sig

If that command fails because you don’t have the required public key, then run this command to import it:

gpg --recv-keys 0x28D618AF --keyserver hkp://

and rerun the gpg --verify command.

This release is signed by Bruno Félix Rezende Ribeiro. His key fingerprint is 7CB1 208C 7336 56B7 5962 2500 27B9 C6FD 28D6 18AF.

Check the key’s authenticity with the command

gpg --fingerprint 0x28D618AF | sed -n '/^[[:blank:]]\+Key/s/^.*= //p'

It must print the following fingerprint:

7CB1 208C 7336 56B7 5962  2500 27B9 C6FD 28D6 18AF

Otherwise something is wrong! In that case don’t use the downloaded tarball and contact the developers as described in Contact.

A VCS repository, where the development takes place, is also available. To stay up to date with the latest developments in the source tree, you can anonymously checkout the repository with the following command:

git clone git://


You can get in touch with other users and the developers of this program by subscribing to its mailing list. Anyone is welcome to join the list; to do so, visit ccd2cue’s help and support mailing list web interface. To post a message to all the list members, send email to <>. To see the collection of prior postings to the list, visit its archive. You can use this list for all discussion, including asking for help and bug reporting, although the preferred method for reporting bugs is sending a mail to <>, the ccd2cue’s bug reporting mailing list. See Bug reporting.

If you feel somewhat chatty, eager for a somewhat more instantaneous response from community, you can join us on our friendly IRC channel: ‘irc://’.

Bug reporting

If you came across some problem and need help you can contact the community as described in Contact. If you think you found a bug, but is not quite sure about it, you can ask for support sending a mail to <>. We will revise your post, advise you and take the appropriate measures. If you are confident you have found a bug, you can submit a bug report directly to <>. You can subscribe to this ccd2cue’s bug reporting mailing list at its web interface. To see the collection of prior reported bugs, visit its archive. Please, when reporting a bug include enough information for the maintainers to reproduce the problem. Generally speaking, that means:

  • The contents of any input files necessary to reproduce the bug and command line invocations of the program(s) involved (crucial!).
  • A description of the problem and any samples of the erroneous output.
  • The version number of the program(s) involved (use --version).
  • Hardware, operating system, and compiler versions (uname -a).
  • Unusual options you gave to configure, if any (see config.status).
  • Anything else that you think would be helpful.


This program is a collaborative effort and we encourage contributions from anyone and everyone — your help is very much appreciated. You can help in many ways:

  • Donate to developers in order to support their work. See Donating.
  • Write documentation. We are specially in need to complete the CCD sheet format specification.
  • Help users in the mailing list and IRC channel.
  • Find and report bugs. See Bug reporting.
  • Fix reported bugs.
  • Implement new feature ideas.
  • Write test cases.
  • Check the documentation against the implementation.
  • Translate the program strings to other languages.

You can join the development team to contribute code and documentation at the development page. Patches are most welcome, but contributed code should follow the GNU Coding Standards. If it doesn’t, we’ll need to find someone to fix the code before we can use it. It is also necessary that the contributor be willing to assign their copyright to the FSF, since the developers plan to make it officially part of the GNU operating system and they want FSF to enforce the program’s license. To get started hacking see how to hack.


If you find this program useful, please send a donation to its developers to support their work. If you use this program at your workplace, please suggest that the company make a donation. We appreciate contributions of any size – donations enable us to spend more time working on this package, and help cover our infrastructure expenses.

If you’d like to make a donation of any value, please send it to the following Bitcoin address:


Since we aren’t a tax-exempt organization, we can’t offer you a tax deduction, but for all donations over 0.05 BTC, we’d be happy to recognize your contribution on the donors page and on DONORS file for the next release.

We are also happy to consider making particular improvements or changes, or giving specific technical assistance, in return for a substantial donation over 0.5 BTC. If you would like to discuss this possibility, write to me at <>.

Another possibility is to pay a software maintenance fee. Again, write to me about this at <> to discuss how much you want to pay and how much maintenance we can offer in return.

Thanks for your support!


The development sources are available through VCS at Savannah:

If you are getting the sources from a VCS (or change, you’ll need to have Automake, Autoconf and Gettext installed to (re)build. You’ll also need help2man. All of these programs are available from

After getting the VCS sources, and installing the tools above, you can run ./bootstrap && ./configure && make to do a fresh build. After that first time, running make should suffice to rebuild the program with your changes. See file INSTALL.

When modifying the sources, or making a distribution, more is needed, as follows:

  • This distribution also uses Gnulib to share common files, stored as a submodule in git.
  • When updating gettext, besides the normal installation on the system, it is necessary to run gettextize -f in this hierarchy to update the po/ infrastructure. After doing so, rerun gnulib-tool --import since otherwise older files will have been imported. See Gnulib Manual, for more information.

When committing changes to the repository always create an entry in the doc/release/latest-news.texi file for any user-visible changes or additions made. This file is intended to provide the latest release news for the NEWS.texi and ANNOUNCEMENT.texi files to avoid duplication of information and syncing work. After a release is made the news items should be moved to the NEWS.texi file and another news list should be built from scratch in the ANNOUNCEMENT.texi file.