Sharing & export
Share links and QR codes
Hand a complete deco plan to your buddy with a link or a QR code that recreates and recomputes the plan on import.
마지막 업데이트 2026년 9월 15일
이 페이지 목차
What it is
Every deco plan you build in Dive Kit can be turned into a link or a QR code. Your buddy taps the link, or scans the code, and the plan opens in their app exactly as you built it: same gases, same profile, same settings, same schedule. There is no account, no upload, and no server holding your plan. The whole plan travels inside the link itself.
You can also open the same link in a web browser. The page at divekit.app shows the stop table and the stats without anyone needing the app or a deco engine. That is covered in the plan viewer.
Generate a share link and QR code
Open the plan you want to share
Open the deco plan in the Deco Planner. Make sure it shows the schedule you actually want to hand over.
Open the share sheet
Open the plan’s options menu (the menu in the header), then tap Share. It sits in the same menu as Export, Rename, and Delete. The Share sheet opens with a plan summary at the top, the QR code in the middle, and the buttons below it.
Send the link or show the QR code
Tap Share to send the link through any app (Messages, WhatsApp, email, and so on), Share QR Code to send the code as an image, or Copy Link to put the link on your clipboard. To share in person, just hold the QR code up and have your buddy scan it.
The QR code on screen reads “Have your buddy scan this QR code”. Your buddy scans it from the Import side of the same sheet, or with their phone camera, and the plan loads straight into their planner.
What the link looks like
A share link is a normal web address:
https://divekit.app/share/deco-plan/<encoded-plan-data>
There is a second form, a deep link, that opens the app directly instead of going through a browser first:
divekit://share/deco-plan/<encoded-plan-data>
The web link is what you send to people. It opens the website for anyone without the app, and it opens the app for anyone who has it. The divekit:// deep link is what the website’s “Open in Dive Kit” button uses to jump straight into the app.
What is encoded in the link
The link carries two things. First, the plan inputs: your gases, the dive profile, the gradient factors, the stop configuration, the closed-circuit rebreather (CCR) rig if you have one, and the rest of the per-plan settings. Second, the computed results: the stop table and stats the engine produced, appended to the link after ?r=.
What travels in a link
Everything that shapes the plan travels, so your buddy opens the dive you planned rather than one re-fitted to their own defaults:
| What | Detail |
|---|---|
| The profile | Every level’s depth, time and gas, however many you built |
| The gases | Mix, cylinder size, working and fill pressure, twinset flag, Exclude from Deco |
| A cylinder’s own reserve target | The pressure you typed under Advanced on that one gas |
| The CCR rig | Diluent, cylinders, every setpoint, the deco setpoint schedule, diluent switches |
| Every per-plan setting | Gradient factors, rates, PPO₂ caps, stop configuration, oxygen breaks, warning thresholds |
| Water temperature | The reference your gas-density readings were computed at |
| Custom contingencies | The gases lost, the extra depth and time, the failure point, and the scenario’s name |
| Plan modifiers | Scoped to the tab you set them on, as described below |
| Tissue loading | For a repetitive dive, so a plan shared mid-chain keeps its starting loading |
Levels travel in full. A link holds up to 255 of them, which no real dive approaches, and Dive Kit refuses to make a link at all rather than quietly dropping the deepest part of a dive past that. Older builds were not so careful: 2.9.0 build 245 and earlier wrote at most ten levels into a link, so a longer profile shared from one of those arrives truncated on the other end. If your buddy opens a multi-level plan and sees fewer levels than you built, check which build sent it.
Water temperature matters more than it looks. A plan on the shipped 15 °C (59 °F) writes a marker rather than the number to keep the link short, and the receiving app now reads that marker as an explicit 15 °C and stores it with the imported plan. Every surface then grades the plan at that one temperature, so a warm-water diver with 30 °C set on their own phone reads the same density figures and the same density caution the sender did. A link written before 2.9.0 carries no temperature at all and still falls back to the receiver’s own default.
An app on 2.8.x reads everything it already understood and ignores the rest, so your link still opens on an older phone. It just will not show the settings that version does not have.
Two link-level fixes landed in 2.9.0 and are worth knowing about if you shared plans from an older build. A bailout view deeper than 25.5 m used to arrive at the wrong depth, because the depth travelled in a field too small to hold it: a 40 m bailout view opened as “Bailout at 25.5 m” and any modifiers set for that view were stranded, so the recipient’s bailout gas figures quietly fell back to the plan’s own rates. Links now carry the real depth. And a link cut short in transit could hand the recipient a setting nobody chose, a water temperature among them. The decoder now stops reading at the first sign the link is not where it thinks it is, keeps what it has already read, and drops the rest.
Plan modifiers travel with the inputs, and they travel scoped: a stress burst or a delay you set on one contingency arrives attached to that same tab rather than smeared across the whole plan. Your buddy sees the same Modifiers line on the same tab you did. Switching a burst off on one tab travels too, as its own value rather than as an absence, so a contingency you deliberately left calm does not pick the base plan’s burst back up on your buddy’s phone. A link made before 2.9.0 has no modifiers to carry, except for an old whole-ascent rate lens, which arrives as a whole-ascent stress burst.
A link written by 2.9.0 itself can carry modifiers attached to a single bailout view, which later versions no longer have a place for. Those are ignored on import and the rest of the link opens normally. They are dropped rather than moved onto the contingency they sat under, because a rate meant for one bailout view would otherwise start pricing every view of that tab, and a delay is real time at depth, so moving one would change that tab’s schedule.
Carrying the results matters for the web viewer. It means the website can draw the same table you saw without running a deco engine of its own. The app does the opposite: when you open a link in Dive Kit, it ignores the baked-in results and recomputes the plan from the inputs, so the schedule is always produced by your own copy of the engine.
Text share vs. QR code
The two ways of sharing carry a different amount of detail, because a QR code can only hold so much data before it gets hard to scan.
| Method | What the results carry |
|---|---|
| Text share / Copy Link | All the main scenarios, including contingencies and lost-gas results |
| QR code | The base scenario only |
Either way, the plan inputs are always complete. So even from a QR code that only bakes in the base-scenario results, the app rebuilds every contingency the moment it imports the plan, because it recomputes everything from the inputs. The difference only shows up in the web viewer, which can only display the scenarios that were baked into the link.
Very large plans may drop some contingency results from a text link to keep it a workable length. The app still recomputes them all on import, so only the web viewer is affected.
CCR plans always share the loop-ascent view. Bailout schedules are not baked into the link (they would roughly double its size and are better read interactively), but the imported plan still recomputes bailout in the app.
The web preview shows the warnings the deco engine produced. Warnings Dive Kit derives from your own reserve settings, such as the bailout-sufficiency criticals and the missing-level-gas critical, appear when the link is opened in Dive Kit.
Opening a shared link
When you open a share link in Dive Kit, the app decodes the inputs and recreates the plan, then runs the engine to recompute every scenario. You get a live, editable plan, not a snapshot. For a repetitive dive, the prior tissue loading travels in the link too, so a plan shared mid-chain keeps its starting loading. A first dive carries no tissue data, because there is none to carry.
Opening a shared plan is free. Anyone can open the link and read the full schedule and every stat read-only, no account or purchase needed. Keeping the plan, editing it, or re-sharing it needs Dive Kit Pro. Without Pro the plan opens read-only and is not kept after you leave the screen.
Privacy
There is no account and nothing is stored on a server. The plan lives entirely inside the link, so anyone who has the link can view it, and you control who you send it to. Treat a share link like any other message: only send it to people you mean to share with.
Related
- The plan viewer shows what a shared link looks like on the web.
- Sharing deco plans covers the feature end to end.
- Deco Planner is where you build the plan you share.
이 가이드의 일부는 AI의 도움을 받아 작성되었으며 오류가 있을 수 있습니다. 교육 목적의 자료일 뿐 정식 교육을 대신하지 않습니다. 항상 자격증 범위 안에서 다이빙하고, 본인의 계기로 직접 확인해야 합니다.