Pocket Tools

Pocket Tools › Screenplay & Script Format

Google Docs add-on

Write your screenplay as plain text, then format the whole document in one click.

Google Docs has no screenplay template and no script mode. Setting the indents by hand means a different ruler position for every kind of line, on every page, for the length of a feature. This add-on reads how you already write and gives every line its standard place.

What it is

A sidebar for Google Docs. You type the script as ordinary paragraphs, the way screenwriters already write in plain text, and press Format screenplay. Scene headings, characters, dialogue, parentheticals and transitions are recognised from how you write them, and each one gets its standard indent, spacing and case. Nothing is stored about your script: the kinds of line are worked out again from the document text every time you press the button, so a document that was already formatted goes through unchanged. Your document text never leaves Google's servers. The only request that goes outside is the paid license check, described below.

What it does

How to write so it reads you

These are the ordinary conventions of a screenplay in plain text, and they are listed in the sidebar under Rules as well:

A line that is meant to be a scene heading or a character but does not look like one can be forced. Start it with . for a scene, @ for a character or > for a transition, and the marker is removed when the line is formatted.

Formatting is a button, honestly

Google gives add-ons no way to watch you type, so no Docs add-on can hold a script in format while you write. One that promises that is promising something the platform does not allow. Here the contract is plain: write freely, and press Format screenplay when you want the page right. Pressing it again after more writing formats the whole document again, including what was already correct, and the result is the same either way.

Pricing

Free: format documents up to 300 elements (about 10 pages). An element is a line that carries something, so blank lines are not counted. Past that the add-on formats the first 300 and tells you both numbers, the limit and the size of your document, rather than stopping without saying why.
Paid: a one-time license, $9.99. No limit on document length, plus the title page, scene numbers and PDF export. One license, paid once. No subscription, nothing renews, and the free part stays free.

The price shown is the total you pay. Sales tax and VAT are included in it, not added at the end. Prices are in US dollars.

Buy a license

Checkout is handled by Lemon Squeezy, the seller of record. Your license key arrives by email as soon as the payment goes through. There is no subscription, so there is nothing to cancel.

Refunds. Within 14 days of purchase, write to [email protected] and say what went wrong. No justification beyond that is required. The full wording is in the Terms of Service, section 3.

Activating your key

Your license key is on the confirmation screen right after payment, and in the receipt email. To turn on the paid features:

  1. In Google Docs, open Extensions › Screenplay & Script Format › Open.
  2. Paste the key in the License section of the sidebar and press Activate.

One license covers up to 3 Google accounts. To move it to a different account, press Release this account in the same place, which frees a slot.

The add-on checks the key with Lemon Squeezy at most once every seven days. A single check that cannot reach them switches nothing off: the paid features keep working for up to 14 days after the last check that did succeed. Past that, they stay off until a check gets through again. Formatting is not affected either way.

The license check, the one request that leaves

When you enter a license key, the add-on sends the key and an anonymous installation identifier, and nothing else, to Lemon Squeezy, our payment processor, to check that the key is valid. Your script is never part of that request. Details are in the privacy policy.

Permissions it asks for

Support

Something wrong, or a script it reads badly? See the support page.