Create Calendars Automatically in Illustrator: Version 5 (Kelso)

[Editor’s note: I have updated my Calendar script to version 5. It now automatically formats the text with tab stops, date box grid, and art placeholders. Tooltips help explain the options and the script will automatically create a document if one is not open. Over 25 new features, updates, and bug fixes. Screenshots and native Illustrator template files included at end of post.

Magicien de calendrier, Kalender-Zauberer, Mago del calendario, 日历巫术师, カレンダーの魔法使い, Чудодей календара.]

ai cs3 logoI was asked recently if I could automate the creation of calendars in Adobe Illustrator. It turns out there are a couple script for accomplishing this in InDesign (best is from sselberg), but only pre-built templates for Illustrator. If you need a new year, you’d have to search for a new template, which is lame. New script to the rescue! Thanks go to Joyce for this suggestion.

NOTE: The script is free to download and use. There is no license fee for publication of calendars based on the script. I reserve the right in the future to start charging a fee for the script. But this version is free.

Download version 5 of Calendar Script (100 k).

To install new scripts you need to:

  • Download the binary file using “Save as”. The file contents look like gobly-gook.
  • Quit Illustrator
  • Copy the file into the Illustrator application folder’s “Presets” » “Scripts” subfolder
  • After restarting Illustrator, you can find the scripts in the menu “File” » “Scripts”;
  • TIP: You can create subfolders in the scripts folder to organize your scripts

NOTE: You will need version CS3 or CS4 of Illustrator. If you have CS or CS2, get a trial version of CS4 from Adobe. Also see posts about version 3 and version 4 of the Calendar script.

New features and bug fixes in version 5:


  1. NEW: Tab stops supported!!! Date numbers are automatically spaced over the correct distance :) Big thanks go to N at Adobe Developer Support on this one.
  2. NEW No longer requires an open document, one will be created for you in the right page size if necessary.
  3. NEW “help” tooltips on all the wizard options (thanks John!). Tooltips are only in English now, other languages in future update.
  4. NEW Wall calendar style has grid of date boxes.
  5. NEW Wall, page, and compact calendar styles has art hole (for placement of photos, etc).
  6. NEW starting month and starting and ending year now relative to the current date (was always Jan 2009)
  7. NEW if 12-up type calendar selected, the current year’s 12 months are auto enabled
  8. NEW mini Page calendar type for making the mini calendars
  9. NEW mini Wall calendar type for making the mini calendars
  10. NEW Tabloid calendar type for big wall calendars for each month with big big numbers
  11. NEW mini Tabloid calendar type for making the mini calendars
  12. NEW Compact calendar type for calendars that are suitable for newspaper


  1. UPDATE: Existing templates updated with tab stops, text sizes, other formatting
  2. UPDATE mini “business card” type calendar uses underlining for the day header, removed trailing tab, and adjusted gutter width
  3. UPDATE Page calendar type now based on letter page size with big numbers
  4. UPDATE Wall calendar type now based on tabloid page size with date numbers in corner of grid cells
  5. UPDATE Wall calendar type now auto-shrinks the text frame if a month has a short number of weeks.


  1. BUG FIX: Month lines now auto-centered
  2. BUG FIX: Leading space in month name line removed
  3. BUG FIX: Fail on selected text if it is point or path. Now creates new text frame at the same location.
  4. BUG FIX: Changing calendar size / style now sets the right day header abbreviation (shorten, letter)
  5. BUG FIX: Change of character format from month header to date in calendar page function (remove underlining)
  6. BUG: Page 12-up style calendar now the same size and style as a Page 1-up but with extra months (had been compact like). Expand or link the text frame to see additional content that is hidden at first.
  7. BUG: Abbreviation for “Jan” lacked the . period (thanks John).
  8. BUG: Custom language did not show the current settings for English (default) to edit. Now it does (disabled Holiday for now).
  9. BUG: Canceling “custom language” dialog now returns to previous language preset, not English.
  10. BUG: Enabling multi-month calendars via check box now works after choosing a single month calendar preset.
Version 6 Plans
  • Holidays and lunar phases are still not supported. Please stay tuned for version 6. What types of holidays do you want to see supported? Do you need iCal support?
  • Add multi-lingual tooltips. Refine translation of main interface for supported languages.
  • Automatically create and position the before-month and after-month mini-calendars.
  • Timeline calendar format (three linear, sequential rows of year, month, and dates)
  • Sports (game day) calendar format with support via “holiday” interface
  • Option to flowing multiple month calendars to new text blocks (via artboards in CS4+)
  • Orientation option when dealing with multiple months text blocks (horizontal, vertical, grid)
  • Any other suggestions? I’ll take a couple month breather and then return to this project.
Screenshots showing English, German, and Chinese interfaces. Also the custom language settings dialog.

There are several sizes of calendars:

  1. Tabloid calendar with larger date numbers grid (no boxes) on tabloid size 2/3rds of page.
  2. Tabloid mini 1 month that fits below the main calendar in 1/6th of tabloid size page (prior month, next month).
  3. Wall calendar with smaller dates in box grid (boxed dates) on tabloid size half-page with room for half page of art (horizontal / landscape 8.5 x 11 inch page).
  4. Wall mini 1 month calendar that fits in a date square in a wall calendar (prior month, next month).
  5. Page calendar, larger dates fill grid (no boxes) on 8.5 x 11 inch page.
  6. Page calendar, larger dates fill grid (no boxes) – 12 months at a time option.
  7. Page mini calendar, calendar that fits in a date square in a page calendar (prior month, next month).
  8. Compact calendar, 12 months small enough to fit on a single 8.5 x 11 inch page with artwork.
  9. Mini calendar, 12 months small enough to fit on a business card.

All calendars are Multi-lingual. Languages include English, Deutsch, Español, Français, 中文, 日本語, русский язык, and custom. This affects both the graphical dialog for creating the calendars and the month and day words in the calendar itself when it is created.

NOTE: While character and paragraph styles are created for each style of calendar (you can have multiple calendar types in one document), there is an error with Adobe Illustrator where you do not actually see this script-created styles until you either (a) save the document – thanks JC, or (b) switch back to the document from another (open or new) document.

Tabloid (1 month on tabloid 11 x 17 inch page – with artwork)
Download native Illustrator file.
Wall (1 month on tabloid 11 x 17 inch page – horizontal 8.5 x 11 inch – with artwork)
Download native Illustrator file.
Page (1 month on portrait 8.5 x 11 inch page with artwork)
Download native Illustrator file.
Compact (12 months on portrait 8.5 x 11 inch page)
Download native Illustrator file.
Mini (business card)
Download native Illustrator file.

Tags: , , , , , , , , , , , , , ,

28 Responses to “Create Calendars Automatically in Illustrator: Version 5 (Kelso)”

  1. [...] Get version 5 and read more about the changes and see new templates. [...]

  2. [...] Get version 5 and read more about the changes and see new templates. [...]

  3. Joyce says:

    Nathaniel, These are AWESOME. The mini is fantastic, never again will we have to do these manually. Thank you so much.

  4. Laphroaig says:

    Hello Kelso,

    Great job!

    Let me suggest an important option which imho would be greatly appreciated:
    Starting day of week should be changeable: i.e. in Russia a week starts with Monday.

    If you need some assistance in the tooltips translation to Russian, let me know – I’ll make it for you.

    Besides that, in order to make it nicer – please change the list of languages from
    “Languages include English, Deutsch, Español, Français, 中文, 日本語, русский язык, and custom” to
    “Languages include English, Deutsch, Español, Français, 中文, 日本語, Русский, and custom”

    Best regards

  5. Mike says:


    Thank you for this seriously awesome post.

  6. Peter says:

    Terrific! Thanks very much.

    I stumbled on this quite by accident after having given up on calendar generators elsewhere.

    Typical, don’t look and you find it, look and you never will. :)

    Is there anyway to adjust the calendar sizes to standard international metric sizes?

  7. Jennifer says:

    Hey Kelso,

    Thanks for the script, but I’m getting ‘Error 25 Expected Line 3′ when I try to run it. I’m on a 64bit PC with Vista & CS4. Any ideas? I’d really love to use this script.


  8. Vassiliy says:

    Thanks for good script, but is it possible to add button or checkbox for week starting day. There is mistakes in russian translation (dates shofted for one day)
    Thank you

  9. [...] note: If you haven’t gotten a 2010 calendar yet, please try my Illustrator script for making your own. Its nifty! Many of my projects last year focused on time and less on mapping. [...]

  10. Radek says:

    Hello there, thanks a lot for this brilliant script – maybe one little thing to enhancement – the option for week’s starting day (our week starts with Monday for example). Thanks again.

  11. Mark says:

    Great! Is the script free for commercial as well as personal projects?

  12. Christer Wikström says:

    Just what I needed, a simple calander. Thanks!

    But in Sweden the week starting with Monday. I hope that will come.

  13. Jorge says:

    Can i help you translate it to portuguese?
    Or tell me how to add this language to your great script…
    Thanks a lot so far! =)

  14. Julie says:

    I will be using this a lot. Thank You.
    Have a question…
    After the I chose the attributes I want and close the box I get a script error message that says, ‘charAttr.textFont error.

    Can you help me with this?

  15. Pam says:

    I can’t get the scripting calendar to run. I get Error 61 line 2542 (the last line). Any suggestions?

  16. Marizmendi says:

    Brilliant…! Thanks for sharing.

  17. Baron says:

    Apologies as i am new with scripts. i downloaded the file and saved but the extension file shows .mht instead of .jsx. help please

  18. Jorge Abreu says:

    Thank you for the script.

    A great feature will be: Week starts at… (with option to start at Monday or other day).

  19. Balarama says:

    mmmm…. sorry but it seems there is a big error in the script, if you use the 2011 option the first day is sunday, but it really is saturday.
    are we using the same calendar sitem?

  20. [...] El script podés encontrarlo aquí. Yo trabajo en PC y no tuve problemas, aunque parece que fue realizado para Mac. Para bajarlo en la PC solo hacés clic derecho sobre “download” y lo podés bajar.  Luego seguí las instrucciones.  Allí estan en inglés, pero se entienden. [...]

  21. melina says:

    it’s to bad ;(
    i can change the year so 2010 is 2011 but are the leap years also wrong??

  22. Defender says:

    Hi there, im finding your script simply fantastic, being italian im using the custom oprtion for the language but it does reset each time, so i was thinking if you would be so kind to implement italian too, i could send you a txt file with the italian translation of all the parts you need. well just a hint your script is still great ;) thanks again.

  23. Michael says:

    Hey there,

    Awesome script ! Is the source anywhere ? It’d be very interesting to know how you did it of course, this is using Javascript I assume. I’m not a script guru myself but I could have at least tried to tweak it the way I want it :)

    Example : in your compact 12 months, I wonder why it’s going top to bottom and not left to right, it just makes so much more sens to me to read from left to right :) Don’t know if I’m clear…

    Anyway, it’s still is an amazing piece of code, I wish I could do half as much. Congrats !