Features / Embeddable file picker

An embeddable file picker that keeps your form, your design and your flow

CrossUpload is a small, versioned JavaScript SDK with no third-party runtime dependencies. You opt in on the exact element you choose; nothing else on the page is touched. The modal offers “Choose from this device” and “Upload from your phone”, shows progress and verification state per file, and hands back durable file IDs.

The problem

  • Building reliable uploads — progress, retries, limits, previews, phones — takes weeks and is easy to get subtly wrong.
  • Heavy upload widgets often patch global browser behaviour or capture every file input on the page.
  • Most pickers ignore the visitor whose file is on a different device.

How CrossUpload helps

Three integration modes

Enhanced picker on a button or input, a companion “Upload from your phone” button next to an existing input, or a headless REST API for a fully custom UI.

Opt-in and reversible

No global prototype patching, no capturing of unrelated inputs, no form submission. destroy() restores the original element.

Isolated styles

The modal renders inside Shadow DOM, so your CSS and ours never collide. Several independent widgets can live on one page.

Accessible by default

Keyboard navigation, focus trapping, Escape to close, focus restoration, live-region announcements and reduced-motion support.

Brand it

Light and dark styles, a configurable brand colour, English and Turkish strings.

Assigning a URL to an <input type="file"> cannot create a native File object. Backends that only accept multipart uploads need a small change to accept CrossUpload file IDs.

Questions

Does it work with React, Vue or plain HTML?

Yes. The SDK is plain JavaScript and attaches to a DOM element, so it works inside any framework or none.

Will it submit my form?

Never. It fills a hidden field and fires events; your visitor still submits the form.

How big is the SDK?

It is a single small file with no dependencies, served from a versioned URL.

Ready to try it?

Free plan, no credit card. Talk to us at [email protected].

Create a free account