Saving & Sharing

    Your work saves automatically. Share simulations with a link, embed them in websites, or remix others' work.

    Saving & Autosave

    When signed in, your work saves automatically. New simulations save after 5 seconds of inactivity, and subsequent changes save every 15 seconds. You'll see "Saving..." briefly appear in the header when autosave runs. There's no need to manually save—just build your model and everything persists.

    On first save, you'll add a title, description, and icon.

    Local drafts

    Not signed in? Your work is stored in your browser and restored when you return. Sign in to save permanently and access your simulations from any device.

    View-Only Mode

    Creating and editing simulations is only possible on desktop. On mobile and touch devices, you're in view-only mode and can explore models, run simulations, and inspect results.

    When viewing someone else's simulation or browsing templates on desktop, you're also in view-only mode. You can explore the model, run simulations, and inspect the results, but you can't make changes until you remix.

    Sharing

    Click Share to generate a short link like getcarlo.app/s/abc123. Anyone with the link can view your simulation without signing in.

    Privacy

    Share links always show the latest version of your simulation. If you delete a simulation, all share links stop working immediately.

    Embedding

    Embed simulations in websites, blogs, or documentation using an iframe. Copy the embed code from the share dialog.

    Embeds always show your latest saved version. Any changes you make will automatically appear in all existing embeds once saved.

    Embed API

    Make your embedded simulations interactive by enabling parameter overrides. Embedders can pass URL parameters to customize the simulation inputs.

    Enabling parameter overrides

    In the Share dialog's Embed tab, toggle Enable parameter overrides. The embed code will include all overridable parameters with their default values.

    Parameter naming

    Parameters use the block's variable name. For Constant blocks, use the variable name directly. For Variable blocks (distributions), append the distribution parameter with an underscore:

    embed-params.js
    javascript
    1class>=class>="text-[#ce9178]">"text-[#6a9955]">>// Constant block with variableName=class>="text-[#ce9178]">"interest_rate">>
    2const> params = new> URLSearchParams(>);
    3params.set(>class>="text-[#ce9178]">'interest_rate'>, class>="text-[#ce9178]">'0.05>'>);
    4
    5class>=class>="text-[#ce9178]">"text-[#6a9955]">>// Normal distribution with variableName=class>="text-[#ce9178]">"returns">>
    6params.set(>class>="text-[#ce9178]">'returns_mean'>, class>="text-[#ce9178]">'0.08>'>);
    7params.set(>class>="text-[#ce9178]">'returns_std'>, class>="text-[#ce9178]">'0.15>'>);
    8
    9class>=class>="text-[#ce9178]">"text-[#6a9955]">>// Triangular distribution with variableName=class>="text-[#ce9178]">"growth">>
    10params.set(>class>="text-[#ce9178]">'growth_min'>, class>="text-[#ce9178]">'0.02>'>);
    11params.set(>class>="text-[#ce9178]">'growth_mode'>, class>="text-[#ce9178]">'0.04>'>);
    12params.set(>class>="text-[#ce9178]">'growth_max'>, class>="text-[#ce9178]">'0.08>'>);
    13
    14iframe.src = class>="text-[#ce9178]">`/embed/your-sim?${params.toString(>)}`>;

    Auto-run on load

    Toggle Auto-run on load to automatically run the simulation when the embed loads. This is useful when you want viewers to immediately see results instead of the model diagram.

    autorun.js
    javascript
    1class>=class>="text-[#ce9178]">"text-[#6a9955]">>// Add autorun=1> to run immediately on load>
    2iframe.src = class>="text-[#ce9178]">'/embed/your-sim?autorun=1>'>;
    3
    4class>=class>="text-[#ce9178]">"text-[#6a9955]">>// Combine with parameter overrides>
    5iframe.src = class>="text-[#ce9178]">'/embed/your-sim?autorun=1>&interest_rate=0.05>&returns_mean=0.08>'>;

    Use cases

    Parameter overrides enable powerful integrations:

    • Connect sliders or inputs on your page to update the iframe dynamically
    • Pre-populate with user-specific data from your application
    • Create multiple embeds with different scenarios from a single simulation
    • Build interactive calculators powered by Monte Carlo simulation

    Remixing

    Create your own copy of any public simulation by clicking the Remix button in the header. Your remixed version becomes an independent simulation that you own and can modify freely.

    If you try to edit a block in view-only mode, you'll be prompted to remix the simulation first. This protects the original creator's work while giving you full freedom to experiment with your own copy.

    Templates

    When you open a template and click Remix, Carlo creates a copy for you. Your changes save to your own simulation, leaving the original template unchanged.

    Attribution

    Remixes link back to the original simulation, giving credit to the creator. Creators can see their remix count, helping track the impact of their work.