Comprehensive TeX Archive Network

Upload to the Com­pre­hen­sive Archive Net­work

Hey, got a new pack­age or a new ver­sion of a pack­age for CTAN? Great! This page al­lows you to up­load it.

If you want to up­load a new ver­sion of a pack­age to CTAN you can start the up­load from the pack­age's page. Then sev­eral fields will be pre-filled.


Ready? Then fill in the fields be­low and up­load.

  1. Please add a few bits of in­for­ma­tion that will help us to cat­e­go­rize it. The re­quired fields are: your name, your email, and a sum­mary (which is typ­i­cally just a few words, or at most a sen­tence).

    • In ad­di­tion, your sug­gest­ing a CTAN di­rec­tory is a help (if you are not sure, just make a guess). And, a one or two para­graph de­scrip­tion will, be­sides be­ing in the an­nounce­ment made when the pack­age is in­stalled, be the ba­sis for what might go into the Cat­a­logue. You can help to bring your work to the largest au­di­ence by mak­ing sure that this de­scrip­tion is clear to a non-ex­pert and that it in­cludes words that a per­son might use in a Cat­a­logue search.
    • About the an­nounce­ments: we have a mail­ing list for peo­ple who are in­ter­ested in hear­ing about changes in our hold­ings. New pack­ages are al­ways an­nounced on this list. For a re­vi­sion of an ex­ist­ing pack­age, please note that we don't mail the list about re­vi­sions that are bug fixes, mi­nor fea­ture ad­di­tions, etc. If you make a ma­jor up­grade and would like an an­nounce­ment then tell us so, and in­clude a de­scrip­tion of the im­prove­ments.
    CTAN Upload Info
    Name of your contribution
    This value corresponds to the name of the package in the Catalogue. It must consist of ASCII characters only.
    Version number
    Specify a meaningful version number or release date in the form YYYY-MM-DD.
    This name will be published with the package.
    Your name
    Your name in case you are uploading a package on behalf of someone else.
    Your email
    This email address will not be published. It is meant for contacting you in case of questions.
    Summary description
    A short one line summary of what the package does.
    Suggested CTAN directory
    You can browse here. If you start the upload from a package directory then the form is filled with the information already known.
    Type of Upload New package
    Update (with announcement)
    Update (without announcement)
    (features, changes,...)
    This text is published for a new package or if an announcement is requested for an existing package. Please write in English.
    Administrative notes
    (to the CTAN maintainers)
    This text is for internal communication only. It will not be visible publicly. Please write in English.
  2. Indi­cate the li­cense. We need to know the li­cense un­der which you are shar­ing your work. For more in­for­ma­tion about the dif­fer­ent kinds, see the Cat­a­logue Li­cense Def­i­ni­tions. If you don't know what to pick, you might note that the Project Public Li­cense was de­vel­oped to suit this pur­pose.

    Please also in­di­cate the li­cense within the pack­age it­self, at least in the top-level README or README.md file.

    License Info
    License type
  3. In­put your file's name on your com­puter. It will be up­loaded when you sub­mit this form in the fi­nal step.

    Note that some file names are blocked, like those end­ing in .exe, .php, .asp, .cgi. We would pre­fer a sin­gle zip archive. Please do not use any spe­cial or non-print­able char­ac­ters (like blank spaces) in file names.

    Upload File
  4. Thanks for pro­vid­ing the in­for­ma­tion – and thanks for your con­tri­bu­tion. You keep go­ing!



To get ready for up­load­ing please read the points be­low. You may also find help­ful the in­for­ma­tion at http://tug.org/texlive/pkg­con­trib.html.

  • Please pack­age your con­tri­bu­tion as a ZIP archive with ex­ten­sion .zip or a gzip-ed tar archive (with the ex­ten­sion tar.gz or tgz).

    The CTAN team has de­cided that pack­ages on the archive shall re­main in a brows­ing-friendly lay­out, i.e. the best for­mat is to have all the files in­side a di­rec­tory, as il­lus­trated here.


    Here xxx should be the CTAN name of your pack­age.

  • Very large pack­ages (such as mod­ern font dis­tri­bu­tions) are im­proved by a sin­gle ex­tra layer of di­rec­tory:


    and so on.

  • In par­al­lel to the main di­rec­tory tree, CTAN of­fers the install/ sub­tree for TDS-struc­tured ZIP files. Such a file will only be ac­cepted as an ad­di­tion to your up­load, not as a re­place­ment. If you want to in­clude such a file in your up­load, please check the TDS guide­lines. Call this file xxx.tds.zip and in­clude it at the toplevel of your up­load (along­side the xxx di­rec­tory).

  • Even if what you are send­ing is a re­vi­sion of an ex­ist­ing pack­age, please send all of the files, changed or not. We have tools to han­dle whole up­loads so this leads to the fewest er­rors on our part.

  • We hold thou­sands of pack­ages, and many thou­sand files. Our vis­i­tors will be helped, and your work will get the recog­ni­tion that it de­serves, only if peo­ple can find your pack­age.

    • In­clude in your up­load a plain text file with in­for­ma­tion that would be use­ful to a CTAN vis­i­tor con­sid­er­ing us­ing your pack­age. This in­for­ma­tion in­cludes a brief de­scrip­tion and li­cense in­for­ma­tion, as well as whether your ma­te­rial re­quires spe­cial fonts or only runs on one kind of plat­form. Name this file README.md, README.txt or sim­ply README be­cause then it will show up on the CTAN por­tal promi­nently ren­dered when that user is brows­ing your di­rec­tory. This file should be stored with the en­cod­ing UTF-8.

      In­clude in the README.md or README file a state­ment giv­ing your choice of li­cense. That way peo­ple who are brows­ing can see whether your ma­te­rial is avail­able to them (e.g., if your li­cense choice ex­cludes com­mer­cial use). Some­thing like: This ma­te­rial is sub­ject to the Project Public Li­cense.

    • Al­most all pack­ages should have doc­u­men­ta­tion be­yond the README.md or README. It should be in PDF for­mat, since this is what our web vis­i­tors can read; in par­tic­u­lar, Postscript and DVI for­mats are not ac­cept­able. In­clude its source in your up­load since free dis­tri­bu­tions such as  Live can­not use the doc­u­ment with­out source. (For many pack­age au­thors, pro­duc­ing the doc­u­men­ta­tion is a mat­ter of run­ning your .dtx file through pdf: pdflatex <docname>.dtx.)

Some ad­di­tional prac­ti­cal tips can be found in the Ad­di­tional In­for­ma­tion for CTAN Upload­ers.


In case that you need to reach the CTAN team, send an email mes­sage to

Please take care not to send any HTML mails to these ad­dresses, be­cause HTML mails are held in CTAN's SPAM fil­ter, and it may take some time un­til a post­mas­ter comes along to set them free.
Guest Book Sitemap Contact Contact Author