Premium apps

Xsheet to Drawing Project

Compile reference-based layer timing into an editable Flipline drawing project.

Try an example: Compile the original paper-bird timing study

More about this tool

How it works

Paste an Xsheet project containing source drawings and independent layer exposures. Merge matching composite ticks, split long holds and download a standard Flipline drawing project. References remain editable in the original Xsheet file; compiled drawings are independent snapshots.

  • Parse the flipline-xsheet version 1 format, including a valid Flipline drawing project, equal-length exposure columns and references from zero to the source drawing count. Each source layer has exactly one column.
  • Merge adjacent identical reference tuples. Split composite holds into chunks of at most ten ticks. Reject more than 24 resulting drawing frames instead of truncating timing.
  • Copy each referenced source cel into the resulting drawing frame. Zero becomes an empty cel. Preserve layer order, visibility, locks, opacity, paper, canvas settings, brushes, pressure, image sources and mark transforms. The source project and exposure cells are not mutated.
  • The fully expanded result must also fit the drawing-board budgets of 2000 marks, 50000 points, 240000 brush dabs and 8 million embedded source characters. Repeated image sources count each time as in ordinary Flipline projects. Input text is limited to 1 million characters; the browser Xsheet workspace accepts larger local project files up to 16 MB.

Sources

Part of Flipline

  • Flipline Drawing, storyboards & animation

    A few drawings. A little life. Make a flipbook in your browser.

    Open Flipline

Related tools

How to use the Xsheet to Drawing Project tool

Turn a Flipline Xsheet project with reusable drawing references into an ordinary, editable drawing-board project with frames and holds.

What it is for

Flipline's Xsheet Desk stores an animation as a small drawing library plus one exposure column per layer: every row is a timeline tick, and each cell points to a drawing of that layer (or is blank). The normal drawing board works differently: it has frames, each frame has its own drawing on every layer and a hold of 1–10 ticks.

This tool converts one into the other. Paste a complete .flipline-xsheet.json project and download a standard .flipline.json drawing project, plus a timing CSV. Use it in scripts, with an AI agent, or for tools that only read drawing projects. It does not invent drawings, and it does not change your Xsheet; keep that file if you want to retime the references later.

Worked example

I started from the built-in Paper bird example (12 FPS, 48 ticks, three layers: Bird, Clouds, Scenery, four drawings each). The bird column was rewritten so that each wing drawing holds for 3 ticks (1 1 1 2 2 2 3 3 3 4 4 4, four times), while the clouds still change every 6 ticks and the scenery never changes. The project text was 6,725 characters.

The summary read "Compiled 48 ticks into 16 editable drawing frames." The metrics: 48 timeline ticks, 16 drawing frames, 3 layers. The frame table listed every frame with hold 3. Frame 1 shows Bird 1, Clouds 1, Scenery 1; frame 3 shows Bird 3 and Clouds 2, because the clouds switch on tick 7. The downloaded project was about 82 KB, because each frame now carries its own copy of the referenced marks.

The original example compiles to 24 frames with a hold of 2. When I made the bird change on every tick instead, the tool refused: "This sheet needs more than 24 drawing frames. Shorten the sheet or hold drawings longer before returning to the drawing board." Nothing is cut off silently.

How to read the result

  • Summary and metrics: ticks of the sheet, number of drawing frames created and layer count.
  • Compiled drawing frames: one row per frame with its hold and the source drawing each layer shows. A dash means the layer is blank in that frame.
  • Download editable Flipline project: the .flipline.json file for the drawing board. Each frame label lists the references, such as 3 / 2 / 1.
  • Download timing CSV: the original exposure sheet, one row per tick.

Ticks merge into one frame only when every column shows the same drawing; longer stretches split into chunks of at most 10 ticks.

Tips and common mistakes

  • Paste the whole Xsheet project, not only the cells. The source drawing project is required, and each source layer needs exactly one column.
  • Every cell must be 0 or a drawing number of that layer. A 7 in a four-drawing layer is rejected with "Cells must use zero for blank or an available drawing number."
  • If you hit the 24-frame limit, hold drawings longer or line up changes across columns: changes on different ticks each start a new frame.
  • Heavy sources multiply. Repeated image marks count again in every frame, so the result must still fit the drawing-board limits of 2,000 marks and 50,000 points.
  • Text input is limited to one million characters. Larger Xsheets open directly in Xsheet Desk, which accepts local files up to 16 MB.

FAQ

Is my artwork sent to a server?

This utility sends the pasted JSON to the server. Xsheet Desk in the Flipline app compiles locally with the same engine when you choose Continue on drawing board.

Will brushes and pressure survive?

Yes. Marks are copied unchanged, including brush settings, pressure samples, transforms, layer opacity, locks and the paper texture.

Can I convert the result back into an Xsheet?

Xsheet Desk can open a drawing project and rebuild columns, reusing identical cels. The original reference numbering is not guaranteed, so keep your Xsheet file.

Does it read OpenToonz scenes?

No. It reads Flipline's own Xsheet format, documented at /static/apps/flipline/xsheet.schema.json.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://fliplinexsheetcompiler.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://fliplinexsheetcompiler.usefulweb.site/mcp · tool name flipline_xsheet_compiler
Example request
curl -s -X POST https://fliplinexsheetcompiler.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{…see OpenAPI examples…}'
Feedback · ideas & bug reports welcome