Lucidchart cost vs self-hosted draw.io

Lucidchart charges per user, and its SSO, SCIM and data residency sit on higher tiers. Self-hosted draw.io carries no license fee, so the comparison turns on hosting, storage, conversion and support.

On this page

Does self-hosting draw.io cost less than Lucidchart?

Self-hosting draw.io removes the per-seat license fee, but it does not make the work free. draw.io's source code is licensed under the Apache License 2.0, so there is no subscription to renew and no seat count to true up. The comparison shifts to the components you still pay for: hosting the Docker image or supporting desktop installs, connecting storage, converting existing Lucidchart diagrams, and support coverage. Hosting and storage recur every year. Conversion and initial setup are mostly one-time, although re-imports and template cleanup can repeat if teams migrate in waves. Lucidchart prices are not quoted here. Pull the per-seat rate, plan tier and any Enterprise add-ons from your own Lucid order form, since SSO, SCIM and data residency sit at higher tiers and change the total.

Self-hosting tends to cost more where internal skills and support coverage are thin. The official jgraph/drawio Docker image is based on Tomcat and is kept up to date with the production app, but someone in your team must own TLS, the container lifecycle, upgrades and access controls. The image does not include an export server, so PDF export falls back to the browser print dialog unless you configure one, which can add a small operational task for teams that export often. Because draw.io's maintainers do not accept pull requests, any fix you need in the source is your own engineering work or a paid engagement, not a community contribution. Ask any implementation partner to price these items separately in a fixed-scope written quote: installation, storage integration, Lucidchart conversion, hardening and ongoing support. Ask whether support is a retainer or a one-off.

Which cost components change between Lucidchart and self-hosted draw.io

This table compares each cost component of running Lucidchart with the same component when you self-host draw.io, and shows who is paid on each side and whether the cost is one-time or recurring. Read it as a checklist for a quote or internal budget, because the license line is the only one that goes to zero. The main takeaway is that draw.io removes the per-user subscription but moves hosting, storage, conversion and support effort onto your team or your implementation partner.

Cost componentLucidchart (commercial side)Self-hosted draw.io
Subscription or licensePer-user plan paid to Lucid. SSO and SCIM sit on higher tiers, and data residency is Enterprise only, so confirm the tier your features need.Apache License 2.0 with no license fee. Recurring cost is zero for the software itself.
HostingLucid hosts the service. Recurring cost is included in the subscription, and you accept Lucid's hosting regions.Recurring infrastructure in your cloud, data center or air-gapped network, paid to your provider or internal team. Covers a container or desktop deployment and its patching.
Storage integrationDiagrams live in Lucid's platform. Export and backup are per document or bulk export, with bulk .LAF files restorable only within Lucid.Diagrams are saved where users choose, such as a device or connected storage. Integrations with Nextcloud, Google Drive, OneDrive, SharePoint or GitLab are configured by your team, a one-time setup with ongoing storage costs you already carry.
Migration and conversionLucid's export options include Visio, SVG and JSON. No migration fee is charged by Lucid for exporting, but staff time is needed.One-time effort in your team or a fixed-scope engagement. draw.io imports Lucidchart diagrams by copy and paste, and Visio .vsdx files may render differently, so expect a review pass.
SupportIncluded in the plan at the vendor's support levels. Confirm response terms in your contract.Community support for the open-source project, which does not accept pull requests. Paid support from an implementation partner or your internal team is a separate, recurring cost to agree in writing.
Upgrades and patchingHandled by Lucid as part of the service, with no work on your side.Recurring effort to track draw.io releases, test them, and apply them to your Docker image or desktop builds. Ask a partner for a retainer if this must run on a schedule.
Internal skillsAdmins need Lucid account and Enterprise configuration knowledge, typically a small, ongoing skill set.Needs container, reverse proxy, storage and backup skills. One-time learning cost plus recurring operations knowledge, which is the main driver of effort.
Backup and exportPer-document exports leave out some content such as comments, and bulk backup is tied to Lucid.Your storage backup covers the diagram files directly. Plan the backup schedule, retention and restore test as a recurring operation.

Where the money goes on the self-hosted side

The license line on the self-hosted side is zero, so the spend moves to the components you run. The core is the official jgraph/drawio Docker image, which is based on Tomcat and kept up to date with the production app at app.diagrams.net. Around it you need a host or virtual machine, a reverse proxy that terminates TLS, and an identity integration if you want staff to sign in with your existing directory rather than anonymous access. Most of these costs are recurring infrastructure and staff time: the host, certificates, patching the image and proxy, and monitoring. Ask your platform team which hosting model they already operate and what it costs them to add one more internal web service, since that figure usually decides the total. The storage service is the component that most often gets underestimated. draw.io saves diagrams where the user chooses, on the device or in a connected storage service, and never on draw.io's servers. That means your cost is whatever store holds the files: a file share, an existing Nextcloud, OneDrive or SharePoint, GitLab, or a wiki attachment area. draw.io lists integrations with several of these. Confirm which store already has backup, retention and access logging, because diagrams saved there inherit those controls. Storage cost is usually small per file, but backup scope and access reviews are recurring work. Two behaviors affect the hosting choice. The Docker image has no export server, so PDF export uses the browser print dialog unless you configure one, which means users need a workable print path and some will need training. Also, hosted export and real-time collaboration process diagrams temporarily on servers run by Cloudflare. If your data handling rules do not allow that step, plan to keep those features off or confirm the data path with your security team before rollout, because the choice changes where the work runs and what you must document.

What moves the comparison up or down

Lucidchart's cost and the cost of self-hosted draw.io shift with a few factors that are specific to each organization. Each driver below changes a different cost component, so the right comparison depends on checking them against your own headcount, diagram estate and infrastructure.

Number of editors and viewers

Lucidchart is priced per user, so the number of editors and viewers you license drives the recurring subscription directly. draw.io has no per-seat license, so its costs scale with storage, hosting and the time spent supporting users rather than with headcount. Ask Lucid for the seat count and role mix (editor, viewer, admin) that each quoted plan covers, and separate read-only stakeholders who may not need a paid seat at all.

Diagram volume and Visio or Lucidchart origin

The size and source of your existing diagram library determines the one-time conversion effort. Lucidchart diagrams can be copied into the draw.io online editor, while Visio .vsdx files import through draw.io's Visio importer, with some differences in rendering and interactivity. Inventory how many diagrams link to shape data, how many rely on embedded images, and which ones must be re-checked by a person before they are retired.

SSO, SCIM and audit requirements

If your identity policy requires SSO provisioning, SCIM or audit logging, the Lucid tier that includes those controls becomes a fixed cost driver. Self-hosted draw.io does not come with a vendor-provided identity layer, so authentication is handled by the identity platform you already run or by a reverse proxy in front of it. Confirm which controls your assessors expect and whether you need them for every user or only for administrators.

Required data residency

Lucid's global data residency is offered on its Enterprise plan only, which can make the data residency requirement the single largest reason for a higher tier. Self-hosting moves diagram storage to infrastructure you choose, so the cost becomes the hosting and storage in your chosen region. Confirm with Lucid which regions and account types are covered for your organization before you compare prices.

Internal platform skills

Running draw.io in your own infrastructure needs someone to operate a Tomcat-based Docker container, manage TLS, update the image and back up the storage it uses. If your platform team already runs container workloads, the ongoing effort is small. If not, the cost is either staff time or a support contract, which is an ongoing cost to budget for. Ask for the named operating model and who owns patching in any quote.

Existing integrations and storage

Costs fall when draw.io plugs into systems you already run, such as Nextcloud, GitLab, Confluence or a self-hosted wiki, because diagrams can live beside the documents that reference them. Where those integrations are not already in place, budget for configuration and testing. Check which integration you will use, whether it is covered by an existing license (for example, a Confluence app sold through the Atlassian Marketplace), and who maintains it after go-live.

How to build the comparison with your own numbers

This sequence turns a vague sense that Lucidchart is expensive into a side-by-side model built from your own user counts, order form, hosting costs and conversion effort. The output is a comparison you can defend in a renewal or budget discussion, with the one-time and recurring costs clearly separated.

  1. Count named users and their tier needs

    Start with an export of active Lucidchart accounts from your admin console, not the number of seats you pay for. Separate editors from viewers, and note which people need SSO, SCIM provisioning or data residency, since those features are held for Enterprise. Ask your Lucid account team to confirm which features each current tier includes. The step is done when you have a list of user groups, each tagged with the features it depends on.

  2. Export a sample of documents to measure conversion

    Pick a representative sample of diagrams, grouped by complexity, such as simple flowcharts, shape-data-heavy process maps and diagrams with linked data. Export them using the per-document options available on your plan, then import each into draw.io and compare the results. Draw.io's documentation warns that Visio imports may look different, may lose interactive behavior and do not bring in embedded EMF images, so allow review time for each diagram class. The step is done when you have a log of conversion results and an hours estimate per complexity group.

  3. Price the Lucid renewal from your order form

    Take the current order form and renewal terms from your procurement file, then calculate the total committed cost across the full contract term rather than the annual figure alone. Note any price escalators, true-up terms, add-on modules such as Lucidspark, and the unit at which seats are billed. Confirm the renewal terms in writing with Lucid before relying on them. The step is done when you have a single contract-term total and a list of the cost drivers that could change at renewal.

  4. Cost the hosting and storage you already run

    Draw.io runs from the official Docker image or as a desktop app with no license fee, so your costs are the servers, storage, backups and network capacity you assign to it. Identify whether you will host it on existing virtualization, use a connected storage service such as Nextcloud or SharePoint, or run it on endpoints. Ask your infrastructure team for the internal chargeback rate for each resource. The step is done when you have a monthly and annual infrastructure cost line that you can compare with the Lucid total.

  5. Estimate engineering hours for install, upgrades and backups

    Estimate the internal hours to deploy the Docker image or set up desktop distribution, configure authentication and storage integrations, automate upgrades and include draw.io in your backup schedule. Draw.io publishes frequent releases, so account for a repeatable upgrade routine and a test step before production rollout. Record who does this work and whether the hours come from existing staff or new hiring. The step is done when you have a one-time setup estimate and a recurring maintenance estimate, each with a named owner.

  6. Decide on the support model

    Draw.io is Apache 2.0 licensed and its maintainers do not accept pull requests, so decide how defects and security fixes reach your environment. Options include internal staff only, a commercial support contract from a third party, or a retainer for upgrades, hardening and documentation. Ask any provider for a written scope, deliverables and response expectations before comparing it with your Lucid support entitlement. The step is done when you have a chosen model and a costed line for it, or a documented decision to accept internal ownership.

  7. Assemble the side-by-side model

    Place the Lucid contract-term total beside the combined one-time and recurring costs for draw.io, including conversion review hours and support. Show the one-time costs separately from the annual run costs, and state the assumptions behind each line. Share the model with finance and the security owner so both see the same figures. The step is done when the model has a clear total for each option over the same term and a short list of the assumptions most likely to change the result.

Costs teams forget on each side

Licence fees are the visible line on a Lucidchart renewal, but migration and operating costs sit on both sides. The cards below cover the export limits and plan gates that shape the Lucid side, and the review, backup and upgrade work that shapes the self-hosted side.

Bulk export only restores in Lucid

Lucid's bulk export produces a .LAF file that can only restore documents within Lucid. If the goal is to leave Lucid, this file is a record of your diagrams rather than a working copy you can open in draw.io. Plan a per-document export instead, and treat the .LAF as an archive that a Lucid account may still be needed to read. Ask Lucid how long the archive is expected to remain readable after cancellation.

Per-document exports leave gaps

Individual exports to PDF, PNG, SVG, Visio, JSON or CSV carry the diagram and its shape data, but comments and notes may not come across. Before you set a cutover date, export a sample set and compare it with the source. Confirm with Lucid which annotations and linked data survive each format, and record what has to be re-entered by hand.

Identity features sit in higher tiers

SSO and SCIM provisioning for Lucidchart are held for the Enterprise plan, so a team that needs them to manage access may have to upgrade before it can run a clean exit. Ask for the quote for the tier that includes those features, and compare it with the cost of keeping the current plan for the length of the migration. On the self-hosted side, identity comes from your own provider, so this cost does not carry over.

Reviewing converted diagrams takes time

Visio and Lucidchart imports do not reproduce every diagram exactly. draw.io warns that imported Visio files may look different, may lose interactive behavior and do not bring in embedded EMF images. Budget review time for the diagrams that drive operations, change control or audits, and assign owners who can sign off on each one. Your own staff or a services partner will do this work, and it recurs for each batch you move.

Backup and restore testing

draw.io stores diagrams where the user saves them, so your backups have to cover the storage you chose, whether that is a file share, Nextcloud or another connected service. A backup that has never been restored is not evidence of recovery. Schedule restore tests for diagram libraries and their templates, and record how long a restore takes and who runs it. Also back up the Docker configuration that serves the editor.

Tracking draw.io releases

draw.io's core team develops the project and does not accept pull requests, so fixes and features arrive only through its own releases. The release published on October 8, 2026 is v32.4.1, following v32.3.0 and v32.2.0 earlier that week. Assign an owner to check the release page, test each new version against your templates and integrations, and roll out updates on a schedule you document.

Why Visio and Lucid lifecycles change the timing of the decision

The migration date should follow the renewal calendar, not the other way around. Before any pilot starts, list every Lucid contract, seat count, plan tier and renewal date, then confirm with Lucid in writing which notice period applies. SSO and SCIM sit on higher tiers, and data residency is available only on Enterprise, so a team that relies on those controls needs to know exactly what it pays for today. The notice deadline, not the renewal date, usually sets the latest point to decide. Work backward from that deadline to decide whether the migration budget covers a full cutover or a parallel run that ends at renewal.

Teams that use Visio alongside Lucidchart face a second tooling clock. Visio LTSC 2024 is the current one-time purchase, and Microsoft's Fixed Lifecycle Policy lists its mainstream support until October 2029, so a purchase made now comes with a defined support window. Visio 2019 reached its extended end date in October 2025, so any machine still running it no longer receives standard vendor updates. Inventory which diagrams depend on each tool, because draw.io imports .vsdx files and Lucidchart diagrams, but Visio imports can change layout and lose interactive behavior. Those diagrams need a review pass, and that review is labor the migration budget must cover.

Plan the work in the quarters before the renewal rather than in the final month. Start with a sample of representative diagrams, convert them, and record what changed. Export documents from Lucid in the formats it supports, and keep the exports in storage your organization controls. Decide where draw.io will save files, whether on local devices or a connected storage service, and confirm who manages that storage. Budget costs in two groups: one-time costs such as conversion review, hosting setup and documentation, and recurring costs such as hosting operations and support. When requesting a quote, ask for a fixed-scope written proposal listing deliverables and timelines before work begins.

Common questions about Lucidchart and self-hosted draw.io costs

How much does self-hosted draw.io cost in license terms?

The draw.io source code is licensed under the Apache License 2.0, so running it yourself carries no per-user license fee. The costs sit in the components around it: the servers or workstations that run it, storage, the people who deploy and patch it, and any paid add-ons you choose. Icon sets, stencil libraries and templates have separate terms, so check those before reusing them. Lucidchart's per-user prices are not stated here, so confirm current rates for your seat count and tier with Lucid. The bigger cost driver is often the tier itself, since SSO and SCIM are held for Enterprise. Compare the full Enterprise line item against your own hosting and support effort.

What drives hosting and support effort for self-hosted draw.io?

Several factors set the ongoing effort:

  • Deployment: the official jgraph/drawio Docker image runs on Tomcat and tracks the production app, so you operate a container behind your own TLS and access controls.
  • Updates: draw.io publishes releases often, so someone must pull new images, test them and schedule rollouts.
  • Export: the image has no export server, so PDF export uses the browser print dialog unless you configure one. Diagram data does not leave your server for an export.
  • Storage: diagrams save wherever users choose, so the integration with Nextcloud, SharePoint, Google Drive or similar services is a design and support task.

Confirm how many users edit at once and whether your team needs hosted features, since draw.io's privacy page notes that some of these process diagrams temporarily on Cloudflare servers.

How long does a Lucidchart to draw.io migration take?

No migration duration has been established for your environment, so the timeline should come from a written scope and not from a general estimate. It depends on the number of diagrams, how many use Lucid-specific data linking, whether diagrams are embedded in Confluence or Jira, and how much visual review each one needs. The route matters too: copy and paste into the draw.io online editor suits small batches, while VSDX export into draw.io's Visio import suits larger sets, and Visio imports can look different from the original. Ask for a sample migration of representative diagrams first, then size the rest from what that sample reveals about rework.

Can our internal staff run self-hosted draw.io without a partner?

Many teams can run it internally if they already operate containers, TLS, backups and patching. The application itself is small, so the real workload is operational: keeping the image current on draw.io's release cadence, maintaining the storage integrations, managing access, backing up the environment and answering user questions. Check whether your team has these skills, who is on call and how many hours each month they can give without displacing other work. DeployOpen can plan, implement, harden, back up, upgrade, document and support draw.io inside your own cloud account, data center or air-gapped network, under a fixed scope agreed in writing or an ongoing retainer.

What does Lucid's .LAF bulk backup mean for migration cost?

The .LAF bulk export is a Lucid-specific format that restores documents only within Lucid, so it cannot serve as your exit path. That means each diagram needs its own export in a portable format such as PDF, PNG, SVG, VSDX, JSON or CSV, which adds per-document effort. Visio exports carry their own limits: draw.io's documentation warns that imports may look different, may lose interactive behavior and do not bring in embedded EMF images. Before budgeting, confirm with Lucid what each export format leaves out, such as comments or notes, and test one complex diagram end to end. Lucid's own data portability guidance is worth reading alongside your contract.

How do we get a quote for draw.io migration and what scope should we write down?

DeployOpen does not publish a price list, and a quote follows from a written scope. Write down the diagram count and source formats, the storage target and permissions model, the identity and access approach, the export route, the hosting environment, backup and recovery expectations, the upgrade cadence and any user training. Add acceptance criteria, such as which diagrams must be checked visually and who signs off. Ask the quote to separate one-time work (planning, migration, hardening, documentation) from recurring work (retainer support and upgrades) and to list any paid apps, such as the Atlassian Marketplace apps for Confluence or Jira, as third-party costs. Engagements are typically fixed-scope and agreed in writing before work starts.

Can SSO and SCIM be replaced with a self-hosted draw.io setup?

Not in the same form. Lucid holds SSO and SCIM for Enterprise, while draw.io is an editor that saves diagrams to storage you choose and does not provide SCIM provisioning on its own. Access control comes from the layers around it: your identity provider, your reverse proxy or authentication gateway, and the permissions on your storage service, such as Nextcloud, SharePoint, OneDrive, Google Drive or GitLab. Joiner and leaver processes must then run through your directory and those storage systems, so access removal does not depend on draw.io. Confirm the supported login methods for your exact deployment in draw.io's deployment documentation and test offboarding before go-live.

What to ask for in a written scope

A fixed-scope proposal for a draw.io deployment should name each component before any work starts, because scope, deliverables and timelines are agreed in writing first. Ask for a hosting design that states where the draw.io Docker image runs (the official jgraph/drawio image, based on Tomcat), how it is reached by users, how TLS is terminated, and whether the export server is configured or PDF export stays on the browser's print dialog. Ask for the identity and storage design too: which single sign-on method fronts the instance, how users map to storage, and which connectors are enabled, such as Nextcloud, OneDrive, SharePoint or GitLab, along with the storage paths where diagrams will be saved. Each connector should appear as a named deliverable with a test case.

Ask for a sample conversion review as its own deliverable, not a line inside a migration total. Give the consultant a representative set of Lucidchart diagrams and Visio files, and require a written report that lists each diagram, the import route used (copy and paste for Lucidchart, VSDX import for Visio), and the differences found. draw.io's own documentation warns that Visio imports may look different, may lose interactive behavior and do not bring in embedded EMF images, so the report should flag those objects. Then ask for the backup and upgrade procedure: how the container configuration and stored diagrams are backed up, how restores are tested, and how a new release is tested against the production copy before rollout. Require handover documents (runbooks, configuration records, access lists and a list of open items) and a support model that defines who responds, in what hours and through which channel. Ongoing support, upgrades and continuous testing are available as retainers, so the proposal should state separately what is fixed-scope and what would recur. Confirm that the quote follows from this written scope, and check that every item has an owner and an acceptance test.

How DeployOpen scopes a fixed-price draw.io implementation

DeployOpen is a Chainscore Labs company that plans and implements self-hosted open-source platforms inside the client's own infrastructure. For a move from Lucidchart to draw.io, we agree the scope, deliverables and timeline in writing before work starts, so the cost of the storage, hosting and migration work is known before it begins.

How we scope

  • We inventory which Lucidchart plans, teams, diagram counts and storage locations are in use today
  • We define where the draw.io instance runs and which storage services diagrams will be saved to
  • We agree in writing which Lucidchart diagrams convert, which are re-drawn and which are archived

How we build

  • We deploy the official draw.io Docker image or Desktop app inside your cloud account, data center or air-gapped network
  • We configure connections to your chosen storage, such as Nextcloud, SharePoint or GitLab, and test saving and opening
  • We run a conversion pilot on representative Lucidchart diagrams and document where rendering or shape data differs

How we hand over

  • We deliver the configuration, hosting runbook, upgrade steps and user guidance in writing
  • We document the export, backup and retention steps so diagrams stay available outside Lucid's bulk format
  • We walk your administrators through operating and updating the instance before handover is signed off

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover
  • Upgrades to new draw.io releases are tested in a staging copy before they reach production users
  • We can confirm your compliance evidence, such as access and hosting records, for your own assessors

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.