XML import and export

Export XMLs from PaperCuts to your favorite editing software, and back.

A paper cut leaves as a sequence your editing software opens. The edit you finish comes back as a paper cut. Every clip stays on the frame it started on.

Opens inPremiere ProDaVinci ResolveAvid Media ComposerFinal Cut Pro

Edits come back from Premiere Pro, DaVinci Resolve and Avid as FCP 7 XML.

PAPERCUTSEp 1 Selects
Act 1
ELENA M.We knew by the second week.
0:04
DAVID R.I signed what I was given.
0:05
Animation: the river rising
0:06
YOUR EDITING SOFTWARE25 fps
V2
Animation: the river
V1
A001_C012
A003_C004
A1
ELENA M.
DAVID R.
MARCUS T.
01:00:00:0001:00:42:10
The round trip

Four steps, and the timeline never leaves your hands

STEP 01

Build the cut

Select bites in the paper cut. Speaker names, timecodes and notes go with them.

STEP 02

Export the XML package

One zip: the sequence, an EDL, subtitles, Avid locators, a conform guide and the assembly as audio.

STEP 03

Cut in your editor

Relink, lay picture, add titles. Type a keyword such as Animation: into a title to say what it is.

STEP 04

Import the edit

Export the timeline as FCP 7 XML. Import Edit from XML turns it back into a paper cut.

Timing

The timeline you hand over is the timeline you get back

An edit room checks timing first, so it is built in rather than promised. The rules below are covered by tests.

On the frame

In and out points sit on one frame grid. Clips butt-join with no one-frame overlaps, and an out-point rounds up to the next frame, so a quote may run a frame long and is never clipped short.

Your frame rate

23.976, 24, 25, 29.97 and 30. You set one rate for the project, and every sync sequence you bring in is checked against it before it can lay out of step.

Nothing added to the clock

The note at the head of an export sits on a track of its own and does not lengthen the sequence. A title laid over a bite adds no running time on the way back in.

Timecode kept

An imported row keeps the in and out the editor burned into the picture, frame accurate, with the XML it came from. Drag it anywhere in the cut and it still says where it was.

Names that survive

Speaker names travel with the clips. Each clip carries a tape name drawn from its folder, so ten recorder files called MixPre-007 stay apart through the conform.

Honest about gaps

A bite with no camera picture exports as sound and is counted before you commit. Archive the project does not have yet comes back as a placeholder marked Transcript missing.

Out

The package your editor opens

A paper cut exports as a package, because the file an assistant reaches for depends on the room they are cutting in. Everything ships by default. Switch off what your room will not open.

Sequence with markers

Opens in Avid, Premiere, Final Cut Pro and Resolve. Every quote is written on as a marker, and every clip carries its media reference.

EDL

CMX3600 with reel names built from the folder, and the full file name in each event's comment.

Subtitles, two ways

One file timed to the cut, one per source timed to that file, or both.

Avid locators

A text locator list for the markers, ready to bring into a bin.

A conform guide

Written for the assistant who opens the folder cold, with the relink steps for their system.

The cut as audio

The whole assembly rendered as one file, with silence of the right length where a bite has no footage yet.

Passes as colour and tracks

Each assembly pass can carry its own clip colour and its own pair of audio tracks. Export a spaced pass and the gaps of the others stay.

Handles and paths

Add frames of tape either side of every bite, point the export at the root your media lives under, and map file extensions.

Headings and cards

Acts, beats, placeholders and request cards go out as text cards, so the editor sees what the cut still needs.

EXPORT · ACT 1 · 25 FPS
demo
01:00:0001:00:1001:00:2001:00:3001:00:4001:00:5001:01:0001:01:10
V1
V2
A1
M
▼▼▼▼▼▼
Act 1 · The Control RoomThe Blackout
clipELENA M. · MixPre-003.wavsource00:04:31:00 → 00:04:42:00record01:00:00:00 → 01:00:11:00markerIt wasn't planned. None of it was.pictureA001_C012.mov, same frame offset as the sound
act-one.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xmeml>
<xmeml version="4">
  <sequence id="sequence-1">
    <name>Act 1</name>
    <rate><timebase>25</timebase><ntsc>FALSE</ntsc></rate>
    <duration>1925</duration>
    <timecode>
      <rate><timebase>25</timebase><ntsc>FALSE</ntsc></rate>
      <string>00:00:00:00</string>
      <frame>0</frame>
      <displayformat>NDF</displayformat>
    </timecode>
    <media>
      <video>
        <format><samplecharacteristics>
          <rate><timebase>25</timebase><ntsc>FALSE</ntsc></rate>
          <width>1920</width><height>1080</height>
        </samplecharacteristics></format>
        <track>
        <generatoritem id="generator-section-1">
          <name>act: Act 1 · The Control Room</name>
          <enabled>TRUE</enabled>
          <duration>75</duration>
          <rate><timebase>25</timebase><ntsc>FALSE</ntsc></rate>
          <start>0</start>
          <end>75</end>
          <in>0</in>
          <out>75</out>
          <effect>
            <name>Text</name>
            <effectid>Text</effectid>
            <effectcategory>Text</effectcategory>
            <effecttype>generator</effecttype>
            <mediatype>video</mediatype>
            <parameter>
              <parameterid>str</parameterid>
              <name>Text</name>
              <value>Act 1 · The Control Room</value>
            </parameter>
            <parameter>
              <parameterid>fontname</parameterid>
              <name>Font</name>
              <value>Arial</value>
            </parameter>
            <parameter>
              <parameterid>fontsize</parameterid>
              <name>Size</name>
              <valuemin>0</valuemin>
              <valuemax>1000</valuemax>
              <value>42</value>
            </parameter>
            <parameter>
              <parameterid>fontstyle</parameterid>
              <name>Style</name>
              <valuemin>1</valuemin>
              <valuemax>4</valuemax>
              <valuelist>
                <valueentry><name>Plain</name><value>1</value></valueentry>
                <valueentry><name>Bold</name><value>2</value></valueentry>
… 696 more lines
Written by the same exporter the app uses, from the six clips above. 6 clips · 00:01:17:00
Back

The finished edit becomes a paper cut

Export the timeline as XML and bring it in. Each clip is traced to its interview and filled with what was said, so the producer and the editor are reading the same cut.

IMPORT EDIT FROM XML
demo
timeline.xml · Premiere Pro
V1
B002_C007
ARCH_0412
B002_C011
A1
Recorder
Each clip is traced to its interview and filled with what was said. Clips of one answer join into one bite, and every row keeps the timecode it had in the edit.
Traced to the interview

Each clip is followed to its file through SyncYard, a reference export or its file name, and filled with the words said there.

One answer, one bite

Short clips of one answer join into a single bite with its [...] marks, so the row reads the way the person said it.

Several timelines, one cut

Each timeline becomes a section, or lands at the end of a cut you already have as an act of its own.

The cut it came from

PaperCuts spots the paper cut an edit was made from and carries its notes and visuals across.

The exported video fills the gaps

Sound is pulled out on your computer and transcribed for whatever the project has no transcript for. The picture is never uploaded.

Timing kept to the frame

Each row is stamped with its burned-in timecode and the runtimes add up to the editor's sequence.

Conform

Picture under the quotes

A paper cut is built from the sound report, and the picture sits on camera cards married to that sound by your assistant. SyncYard reads those sync sequences, so the exported sequence arrives with the right camera angle cut to the same frames as each quote. Bites with no camera come through as sound and are counted.

  • One flattened sequence per shoot day
  • Recorder files matched by length and folder as well as name
  • Every bite from one marriage cut at the same frame offset
A small chapter: title cards

Type a keyword into a title. Get the row it names.

Titles are a handy shortcut on the way back. Start a title in your editor with a keyword and a colon, and the import knows what it is. Change the text below and watch the row.

IN YOUR EDITING SOFTWAREtitle on V2

Interview Request: Elena M. Needs a second sitting. Should talk more about the bridge inspection.

V2
Interview Request: El…
V1
A001_C012
A1
ELENA M.
IN PAPERCUTSEp 1 Selects
#QuoteSpeakerRuntime
11We knew by the second week.ELENA M.0:04
12
Needs a second sitting. Should talk more about the bridge inspection.
INTERVIEW REQUESTLinked to Elena M.
0:04
13I signed what I was given.DAVID R.0:05

The first line of an interview request is only the name. It is matched to a speaker in the project, here Marcus T., Elena M. and David R., and a name that matches nobody stays as typed. This box runs the same reader the import does.

All 13 keywords, with examples

Structure

Build the outline from the timeline.
Title:

A title header that names the whole cut.

Title: Episode 1, Savior
Act:

An act header. It owns every beat until the next act.

Act: The Fall
Beat:

A beat header. It owns the rows until the next header.

Beat: Elena finds the letter

Cards

Rows for what is not a bite.
Animation:

An animation row: a sequence to be animated, not shot.

Animation: the river rising over the old bridge
Visual Break:

A visual break: picture with nobody talking.

Visual Break: dawn over the harbour
GFX:

A GFX row for something somebody has to build: a map, a chart, a lower third.

GFX: map of the 1962 coastline
On-Screen Text:

On-screen text: a title, definition or caption the audience reads.

On-Screen Text: Halifax, Nova Scotia. 1917.
Placeholder:

Wording that holds a place until the real line exists.

Placeholder: narration about the explosion

Requests

Rows for what the cut still has to get.
Interview Request:

An interview request. The first line is only the name, matched to a speaker in the project. Whatever follows is the note on what the interview is for.

Interview Request: Elena M.

Interview needed for the bridge inspection. Should talk more about the second week.
Footage Request:

A request for original footage. A line reading Shoot date: 2026-11-03 sets the date.

Footage Request: the harbour at low tide
Shoot date: 2026-11-03
Stock Request:

A request for stock footage. Any links in it become link chips.

Stock Request: 1940s trains
https://archive.example.com/trains
Archival Request:

A request for archival material. Links and File: lines become items.

Archival Request: harbour newsreel
File: NFB-1917-reel2.mov
Find Existing:

A search for a bite already in the rushes. Speaker: and File: lines narrow it.

Find Existing: the part about the whistle
Speaker: Marcus T.

Case does not matter. The keyword can sit in the clip name or on the first line of the text. Anything without one stays plain on-screen text.

A note on every export

Each XML starts with one text card saying where the file came from, who sent it and where to read more. It sits above the cut for six seconds and takes no time from it. Delete it when you have read it. If the timeline comes back in, it is ignored.

EXPORT NOTE
demo
Ep_1_Selects_v4.xml · 25 fps00:42:10 with the note
V4
Export note
V3
TBD and heading cards
V1
Camera angles
A1
The cut
00:0042:10
Exported via PaperCuts.io on October 26, 2026
from: Ep 1 Selects v4
by David R.
More XML export and import tips: papercuts.io/xml
The note covers the first six seconds on a track of its own, above everything. Every clip, in, out and the length of the sequence stay exactly where they were. Imported back, it is ignored.
Archive

Clearance starts from the timeline

Convert an edit's XML into an archival log: one line per archival clip, with its program and source timecode, file name, and columns for rights holder, source link, clearance approach and legal response. It needs no project. With a project open it can add the speaker and quote over each clip, and check the clips against an export of the mix.

Program TCSource TCFileRights holderSource linkClearanceLegal
01:04:10:0800:12:31:00HARBOUR-1917-REEL2.movto fillto fillto fillto fill
01:11:42:1500:03:05:12HARBOUR-NEWSREEL-04.movto fillto fillto fillto fill

Need a document instead of a timeline?

Word, PDF, Excel, a Google Doc, a Miro board, print and subtitles are on the Export page.

See Export

Frequently asked questions

Which editing systems does it work with?

Export writes the interchange XML that Avid Media Composer, Premiere Pro, Final Cut Pro and DaVinci Resolve all open. Import Edit from XML reads an edit from Premiere Pro, DaVinci Resolve or Avid as FCP 7 XML.

What are typed cards?

Text you type into a title or text card in your editor. Start it with a keyword and a colon, such as Animation:, Beat: or Interview Request:, and the import turns it into the matching paper cut row instead of plain on-screen text. The full list is in the cheat sheet on this page and in the how-to guide.

How does an interview request pick its speaker?

The line with the keyword holds the name and nothing else. It is matched against the named speakers in the project, by full name first and then by a first name or surname that points at one person. A match links the row to that speaker. A name that matches nobody, or two people, stays on the row as typed.

Will any of this move my timing?

No. The note at the top of an export sits on its own top track over the first six seconds and does not change the sequence length. A title laid over a bite is read as on screen over that bite and adds no running time. A card over silence holds the length you gave it.

What is the burned-in timecode on an imported row?

The import writes down where each bite sat on the editor's timeline, in and out, frame accurate at the sequence's rate, along with the name of the XML and when it was imported. It shows in a read-only Burned-in TC column and as a line above the words in the Word script, so a producer who says the bite at 00:01:30 can be answered. Dragging the row elsewhere in the paper cut does not change it.

Do I need transcripts for every clip on the timeline?

The import fills each clip from the project's transcripts. Where the project has none, an export of the cut as video or audio fills the gap: PaperCuts pulls the sound out on your computer and transcribes it, so the picture is never uploaded.

Can I bring in more than one timeline?

Yes. Several timelines become one paper cut with a section each, or you can add a timeline to the end of a cut you already have as an act of its own.

Which frame rates are supported?

23.976, 24, 25, 29.97 and 30. You set one rate for the project, and every imported sync sequence is checked against it.

Can I get an archival clearance log from an XML?

Yes. Convert XML for Archival Log reads an edit and writes a spreadsheet with one line per archival clip: program and source timecode, file name, and columns for rights holder, source link, clearance approach and legal response. It needs no project.

Related capabilities

How-to guides

Step by step, in the support centre.

Further reading

Background guides and comparisons.

Take the timeline out and bring it back.

Start free with 5 minutes of AI transcription a month. Or book a personalised walkthrough with the team.