> ## Documentation Index
> Fetch the complete documentation index at: https://docs.embededitor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Editions & Install

> Compare the Free, Lite and Full editions and install the one you need.

Pick an edition and install it from public npm or the private registry.

## Editions

| | Free | Lite | Full |
| - | - | - | - |
| Package | `@embededitor/free` | `@embededitor/lite` | `@embededitor/full` |
| Tools | Adjust | Adjust | Every tool |
| Badge | Small "embededitor.com" badge | None | None |
| Distribution | Public npm | Private registry | Private registry |

* **Adjust** covers crop, aspect ratio, zoom, focus, flip, rotate and straighten. Free and Lite include it, plus everything that isn't a tool.
* **Free** is free to use, commercial use included. Its condition is a small "embededitor.com" badge in the corner of the menu. If the badge is removed, hidden or covered (by a cookie bar or a chat button of your page, for example), the images the editor exports (Save, Copy, Share) carry an "embededitor.com" watermark across the whole photo. The check reads the badge alone, at the click: that it is there, with its own style, size and place in the menu's corner, and that nothing of your page lies on top of it. Where your page doesn't show the editor at that point (scrolled away, off the screen), it isn't judged. `processImage` never marks an image. The badge keeps its own colors, white at 60% that turns full white under the pointer, whatever `colors` says.
* **Lite** is the same as Free, without the badge.
* **Full** adds Annotate, Filters, Adjustments and Auto, Obfuscate, Resize, Frame, the watermark and the signature.

Lite and Full need a license: compare the plans on [Pricing](https://embededitor.com/pricing).

Each edition is its own package with the same entries: `/react`, `/standalone` and `/i18n/<language>.json`. Free and Lite don't ship the code of the tools they don't have, so they are about half the size of Full. See [Bundle size](https://docs.embededitor.com/resources/bundle-size.md).

## The Same API in All Three

Free, Lite and Full have the same props and the same types. Switching edition is changing the package name, and nothing else in your code.

A prop for a tool the edition doesn't have is accepted and does nothing: no error, no effect. This holds for `watermark`, `signature`, `enableAnnotate`, `annotationColor` and the rest, and for the `watermark` and `signature` options of `processImage`.

These work the same in all three:

* The host's logo and name in the bar: `logo` and `logoText`.
* Look and layout: theme `colors`, `layout`, `lang` and `displayBadge` (the output-size overlay shown after the size changes, not the Free's "embededitor.com" badge).
* Use: the file picker, Save, Copy, Share, `closeOnEscape`, `aspectRatio`, `aspectRatioLocked` and the callbacks.
* Output: `maxWidth`, `maxHeight`, `outputType`, `outputQuality`, and the `targetSize` of `processImage`.

## Opening a Full Saved State in Free or Lite

A [saved state](https://docs.embededitor.com/saving/saved-state.md) made in Full opens in Free and Lite, always. The person edits Adjust as usual, and the output size follows the crop.

If the state has work from a tool the edition doesn't have (a filter, adjustments, Auto, annotations, a frame, marks or hidden areas), a notice at the top of the editor says:

* the image has edits this edition doesn't show, and which ones;
* that saving removes them (hidden areas are left visible).

The notice stays until the person taps **Close Notice**.

* **Saving** (Save, Copy or Share) gives the image and the state with Adjust only, which is what the person sees. There is no confirmation step.
* **Closing without saving** changes nothing: your app keeps the state it had.
* The state is validated as in Full: what Full rejects with `INVALID_STATE`, Free and Lite reject too.

## Install Free

Free is on public npm.

```bash npm theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
npm install @embededitor/free
```

```bash yarn theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
yarn add @embededitor/free
```

```bash pnpm theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
pnpm add @embededitor/free
```

```bash bun theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
bun add @embededitor/free
```

## Install Lite or Full

Lite and Full install from `get.embededitor.com` with your license key ([buy a plan](https://embededitor.com/pricing) to get one). After you buy, you get an e-mail with the key and the steps. The same is always in your account at `account.embededitor.com`: sign in with your e-mail (it sends a 6-digit code), and each license has a card with its **Installation** panel.

The same key works with all three methods below. A Lite license installs Lite only; Personal, Full and Full Unlimited licenses install Full and Lite.

### Registry (recommended)

Point the `@embededitor` scope at the registry, and keep the key in an environment variable named `EMBED_EDITOR_KEY`, out of git.

For npm, pnpm, bun and Yarn 1, add this to the `.npmrc` of your project:

```ini .npmrc theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
@embededitor:registry=https://get.embededitor.com/
//get.embededitor.com/:_authToken=${EMBED_EDITOR_KEY}
```

Yarn 2 and newer ignore `.npmrc`. Add this to `.yarnrc.yml` instead:

```yaml .yarnrc.yml theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
npmScopes:
  embededitor:
    npmRegistryServer: "https://get.embededitor.com"
    npmAuthToken: "${EMBED_EDITOR_KEY}"
```

Set the key where your install runs, your shell or your CI's secrets, never in git:

```bash Terminal theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
export EMBED_EDITOR_KEY=<your-key>
```

Then install by name:

> [tab] Lite
>
> ```bash npm theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> npm install @embededitor/lite
> ```
>
> ```bash yarn theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> yarn add @embededitor/lite
> ```
>
> ```bash pnpm theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> pnpm add @embededitor/lite
> ```
>
> ```bash bun theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> bun add @embededitor/lite
> ```

> [tab] Full
>
> ```bash npm theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> npm install @embededitor/full
> ```
>
> ```bash yarn theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> yarn add @embededitor/full
> ```
>
> ```bash pnpm theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> pnpm add @embededitor/full
> ```
>
> ```bash bun theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"} theme={"dark"}
> bun add @embededitor/full
> ```

Version ranges, `npm outdated` and upgrades work as with any package: the registry lists only the versions your license covers. With the scope pointed at the registry, `@embededitor/free` installs through it too, with no key.

### Direct Link

Install from a versioned URL. The path names the edition (`full` or `lite`) and the version, so your lockfile stays stable. The **Direct Link** tab of your account has the command for the newest version your license covers.

```bash Lite theme={"dark"}
npm install "https://get.embededitor.com/lite/<version>?key=<your-key>"
```

```bash Full theme={"dark"}
npm install "https://get.embededitor.com/full/<version>?key=<your-key>"
```

The key ends up in `package.json` and the lockfile.

### Tarball

The **Download .tgz** tab of your account lists every version your license covers, each with a download, and **What's New** on a version opens its changes, the same as the [changelog](https://embededitor.com/changelog). Install the file:

```bash Lite theme={"dark"}
npm install ./embededitor-lite-<version>.tgz
```

```bash Full theme={"dark"}
npm install ./embededitor-full-<version>.tgz
```

## Your License

* **The key.** One active key per license, shown in your account (hidden until you tap Show). If it leaks, tap **Replace Key** on the license card and confirm: a new key is made, the old one stops working right away, and an e-mail tells the account's address that the key was replaced. Update `EMBED_EDITOR_KEY` wherever you install from. With the registry method the key is not in your lockfile, so `npm ci` and `yarn install --frozen-lockfile` keep working; a direct link keeps the old key in `package.json`, so change it there.
* **`LICENSE.md`.** Every Lite and Full package carries the edition's license, the same for every customer. Your own license (who it is for, the plan, the license ID and the date your updates and support run until) is on its card in your account and in your purchase e-mail. Every package also carries `CHANGELOG.md`, the [changelog](https://embededitor.com/changelog) up to its version.
* **Status page.** `https://account.embededitor.com/licenses/<license-id>` needs no sign-in. It shows the edition, the plan and where the license stands today: **Active** until a date, **Updates Ended**, or **Revoked**. It never shows who the license belongs to, the key or an e-mail.
* **When updates end.** The license is a yearly subscription that renews automatically. If it ends, nothing stops working: what you installed keeps working, and every version released until the end date stays installable by the three methods. New versions and support need a renewal. On a card with updates ended and the subscription canceled, **Renew** opens the checkout for the same plan, on the same license and key. While the subscription is not canceled (a renewal payment that has not gone through yet), the card shows no Renew and asks you to update your card in **Manage Billing** instead.
* **Billing.** **Manage Billing** on the card opens Paddle's portal for that subscription: card, receipts and canceling. To change plan, write to [support@embededitor.com](mailto:support@embededitor.com).

## Next Steps

> [card] [Quickstart](https://docs.embededitor.com/quickstart.md)
>
> Render the editor and get the file back.

> [card] [React](https://docs.embededitor.com/frameworks/react.md)
>
> Use the `EmbedEditor` component.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.