3. Credits Spreadsheet

The spreadsheet Credits.xlsx/xls/ods/csv in the project folder houses your credits alongside some important metadata. Towards the top, you’ll find the table header, which defines the following columns:

@Head @Body @Tail @Vertical Gap @Content Style @Break Match @Spine Position @Page Style @Page Runtime

This article explains the meaning of each column, as well as all other aspects of the spreadsheet. For conciseness, the example tables omit columns that are irrelevant.

Head-Body-Tail Blocks

A person’s name often times doesn’t stand alone. Most likely, it’s accompanied by a role name, job title, or some other prefix or suffix. Sometimes, multiple people share the same job title (for example in a list of extras).

Cinecred models all this via so-called head-body-tail blocks. Such a block consists of an optional head text, an arbitrary number of body texts, and an optional tail text. Here are some example blocks as they would appear in the spreadsheet.

@Head @Body @Tail
@Head @Body @Tail
Gaffer Gustav
@Head @Body @Tail
Drivers Dominic
@Head @Body @Tail
Loremium Ipsumium Written by Cicero
Dedicated to Brutus
Pilfered by Some 60s Typesetter
@Head @Body @Tail
A Dirc Film


Sometimes, it’d be nice to insert a blank body cell. Simply leaving an empty cell would however split the block in two. Instead, use the “{{Blank}}” tag:

@Head @Body @Tail
Ada Amazing
Ben Baffling

A render of the Blank tag example

As you will learn later on, the look of text is governed by letter styles. To change the letter style of the head, body, or tail mid-text, use the “{{Style}}” tag. It either applies a specific letter style (“{{Style X}}”), or resets to the initial style (“{{Style}}”):

@Head @Body @Tail
Copyright © 2023 {{Style Name}}Callie Cash{{Style}} and {{Style Name}}Molly Money

A render of the Style tag example


Instead of text, a body cell can also contain a picture from the project folder or any subfolder. For example, to insert Cinecred Large.svg, write:

@Head @Body @Tail
{{Pic Cinecred Large.svg}}

A render of the Pic tag example

Be Cautious About Formats

For logos, always try to use files with the extensions svg/pdf/ai/eps/ps. These are vector graphics that can be scaled arbitrarily without any quality loss. If you don’t have a vector version of a logo at hand, ask for it. Only fall back to png/gif files if absolutely necessary, as these are raster graphics, which may look bad upon rescaling.

Do absolutely never use jpg/jpeg files for logos. While JPEG compression appears visually lossless for organic photos, it badly messes up high contrast edges, of which there are plenty in typical logos. The result will look very amateurish:

Cinecred Logo encoded as PNG
Cinecred Logo encoded as JPEG

Resize and Crop

By default, pictures are shown in their original size. To resize them, append either “[width]x” or “x[height]”. For example, to make the picture 200 pixels wide, write “{{Pic Cinecred Large.svg 200x}}”.

You can crop the empty space around vector pictures (svg/pdf/ai/eps/ps) by appending “Crop”. For example: “{{Pic Cinecred Large.svg Crop}}”. Cropping can of course be combined with resizing.

A render demonstrating the effect of the Crop keyword

Vertical Gaps

You declare vertical gaps between blocks directly in the spreadsheet. An empty row automatically constitutes a vertical gap of 1 unit. Alternatively, you can manually enter a vertical gap in between two blocks, which overrides the automatic gaps:

@Head @Body @Tail @Vertical Gap
Sarah Supervisor

A vertical gap of 1 unit corresponds to some amount of pixels. You can configure this amount in the global settings. We advise you to set it to your main font height, but other choices are also valid if they aid your design.

A render of the vertical gap example

Content Styles

Cinecred needs to know how you want each block to be rendered. For example, while a job-person-block usually has the head (job) to the left of the body (person), a song has the head (song title) above the body (song details). And if there are multiple body cells, should they be put in a grid or flown dynamically? Should the body be interpreted as paragraphs? Which fonts should be used? And so on...

All these aspects and lots more are defined by content styles, which you configure in the styling window. You then put the name of such a content style in the spreadsheet to assign it to all following blocks:

@Head @Body @Tail @Content Style
Crew Heading
1st Assistant Director Sarah Supervisor Gutter
2nd Assistant Director Sandro Scheduler

A render of the content styles example

Spine Position

The spine is the vertical cyan line in the preview. Cinecred strings together blocks along it, one below the other. You can move the spine left or right by specifying a pixel offset from the center in the @Spine Position column in the spreadsheet. It’s even possible to have multiple spines run in parallel by just appending “Parallel”:

@Head @Body @Tail @Spine Position
I’m a lefty! -150
Me too!
I’m a righty! 150 Parallel
I’m dead center! 0

A render of the spine position example

Page Styles

Cinecred supports both title cards and rolling credits. The umbrella term for both is page. Your credits are simply composed of a sequence of pages. The behavior of each page (that is, whether it’s a card or a scroll, and details like the fade duration and scrolling speed) is defined by a page style, which you configure in the styling window. The default template ships with two aptly named page styles: “Card” and “Scroll”.

In the spreadsheet, you indicate the start of a new page by putting the name of a page style there:

@Head @Body @Tail @Page Style
A Dirc Director Film Card
Executive Producers Callie Cash Card
Molly Money
Cast Scroll
(in order of appearance)

A render of the page styles example

Break Match (Advanced)

To understand this column, you need to be familiar with the family of match settings found in content styles; namely Match Column Widths and Match Row Height for grid layouts, Match Cell Width/Height for flow layouts, and finally Match Head/Tail Width for heads and tails. As you know, these settings harmonize blocks all throughout the credits in various ways.

Now, what if you want the harmonization to not reach beyond a certain point? Say you’ve got two sections of gutter blocks on your page. While you’d like all head and body cells within either section to have the same width, this harmonization should not happen between the two sections. Well, simply put a space-separated list of “Head”, “Body”, or “Tail” into the @Break Match column:

@Head @Body @Tail @Break Match
Director of Photography Peter Panner
1st AC Paul Puller
2nd AC Charly Clapper
Head Body
Gaffer Gustav Gluehbirne
Key Grip Detlef “Dolly” Driver
Best Boy Francesco Foreman

A render of the break match example

Page Runtime (Advanced)

You might already be familiar with the Runtime Fine Adjustment global setting, which shrinks or grows vertical gaps to slightly tune the runtime. While that setting affects the entire credit sequence, it’s also possible to tune only a single page directly in the spreadsheet. This might be interesting when you’ve got more than one scroll page:

@Head @Body @Tail @Page Style @Page Runtime
A Dirc Director Film Card
Tom Johnny McRonny Scroll 00:01:23:45
John Ronny von Tommy
Gaffer Gustav Gluehbirne Scroll
Key Grip Detlef “Dolly” Driver

You may also jointly tune any group of pages. To do this, specify the runtime only for the group’s first page, but prepend a group name that you then reference from the group’s other pages. Notice that if you include card pages in the group, their runtime will count towards the group’s runtime, but they themselves are of course not modified.

@Head @Body @Tail @Page Style @Page Runtime
A Dirc Director Film Card Blub 00:02:42:24
Tom Johnny McRonny Scroll
John Ronny von Tommy
Gaffer Gustav Gluehbirne Scroll Blub
Key Grip Detlef “Dolly” Driver