SkyRender

Sign in

Enter your email. We'll send a 6-digit code.

Your shows

Active shows
—
Drafts + ready + live
📱 Get SkyRender on iOS Your clients need the app to scan the QR and view shows in AR. Share the App Store link with them.
Download on the App Store →
Beta: projects are free while we finalize pricing. Use it freely.

Shows

View archived shows
Step 01 · Upload
Drop your drone show file
Supported: .skyc (Skybrush, default export), .zip (CSV bundle, one file per drone), .mat (MATLAB), or .jsdm (JSON show file). Max 500 MB.

Your intellectual property stays yours. SkyRender never claims ownership of uploaded show files. See our Privacy Policy.

Step 02 · Validate
Checking your show…
Reading drone positions, frame rate, color channels, and timing.
✓ Unpacking archive
✓ Parsing drone tracks
✓ Validating frame timing
✓ Computing summary
✓ Show looks valid.
Drones
—
Duration
—
Keyframes
—
FPS
—
We couldn't read that file.
Step 03 · Preview & trim
Check the show. Trim takeoff & landing if needed.
Drag the cyan handles to set the start and end. The QR delivered to your client will play only the trimmed range.
0:00 / 0:00
Trim start: 0:00 Trim end: 0:00 Final length: 0:00
Step 04 · Claim
Where should we send the QR?
We'll email you a 6-digit code to confirm.
Step 05 · Confirm
Verify and confirm Add to a project
Code sent to you@company.com. Enter it to create your project.
Upload as a new version of an existing project, or create a new one.
Enter the 6-digit code from your email.

Free during beta. Includes 12 months of QR hosting and unlimited revisions inside this project.

Step 06 · Done
Your project is live 🎉
The same QR stays valid through every revision you upload to this project. Hosting included for 12 months.
access_token: —

How to prepare your show file

SkyRender accepts four formats. Pick whichever your tooling exports — they all produce the same .bin under the hood.

🛩️ .skyc — Skybrush show file (recommended)

The default export from Skybrush Studio. No conversion needed — just drag the file Skybrush produces straight into the uploader. Trajectories (cubic-Bezier waypoints) and LED programs are both read directly from the archive.

Coordinate convention is whatever you set in Skybrush; altitude maps to the vertical axis in the player. Source rate is sampled at 30 fps internally; output runtime is 6 fps to match the iOS app.

📦 .zip — one CSV per drone

Bundle every per-drone CSV into a single zip. Naming examples: Drone 1.csv, drone_42.csv, 1.csv (any name with a digit before .csv works). Drones in nested folders are fine.

Each CSV must have this header and one row per frame at 30 fps (33 ms intervals):

Time [msec],x [m],y [m],z [m],Red,Green,Blue
0,14.34,-13.40,84.85,152,149,141
33,14.34,-13.40,84.85,152,149,141
66,14.36,-13.40,84.88,160,149,141
99,...

x/y/z in meters. RGB columns are 0–255 and optional — if missing, drones default to black (0, 0, 0).

📐 .mat — MATLAB show file

Required variables: x, y, z — each a num_drones × num_frames matrix of floats. Optional: r, g, b (same shape, 0–255). Source sample rate: 30 fps.

% MATLAB example — 500 drones, 9000 frames (5 min @ 30 fps)
x = randn(500, 9000);   % size: [num_drones × num_frames]
y = randn(500, 9000);
z = abs(randn(500, 9000));
r = uint8(255 * ones(500, 9000));
g = uint8(  0 * ones(500, 9000));
b = uint8(  0 * ones(500, 9000));
save('show.mat', 'x', 'y', 'z', 'r', 'g', 'b');

NaN positions are allowed for "not yet active" drones — we forward-fill from the first real frame.

🎯 .jsdm — JSON show file

A JSON-based drone show description. Export directly from your design tool — no edits needed. We parse planeCount + frameCount and walk pointFrames / channelFrames in time order.

{
  "planeCount": 1200,
  "frameCount": 6600,
  "pointFrames": [
    { "time": 0, "points": [
      { "no": 1, "x": 0, "y": 0, "z": 0 },
      { "no": 2, "x": 1.5, "y": 0, "z": 0 }
    ]},
    { "time": 30, "points": [ ... ] }
  ],
  "channelFrames": [
    { "time": 0, "channels": [
      { "no": 1, "c1": 255, "c2": 0, "c3": 0 },
      { "no": 2, "c1":   0, "c2": 255, "c3": 0 }
    ]}
  ]
}

no is 1-indexed drone number. c1/c2/c3 are R/G/B (0–255).

Note: Have a different file format? Email it to support@skyrender.io and we'll add it to the system.

Before you upload

  • Max file size: 500 MB.
  • Source rate: 30 fps (33 ms / frame). The runtime .bin is downsampled to 6 fps, matching the iOS app.
  • Axes: x = horizontal, y = depth, z = vertical (up). The 2D player shows x × z (audience view).
  • The 2D preview lets you trim takeoff / landing before generating the QR.
  • Drones not yet active (NaN or zero) are skipped until their first valid frame.

Send QR to client

We'll email the QR with instructions to download the SkyRender app and scan it. Enter the client's email below.

Your QR

—
—

To scan this QR and view the show in AR, download SkyRender on iOS.