Self-hosted Visio alternative after Visio 2019 end of support

Visio 2019 has passed its extended end date, so teams still on it must choose between a newer licence and a move to self-hosted draw.io. This page sets out the lifecycle dates, the options and what a migration involves.

On this page

Self-hosted Visio alternative after Visio 2019 end of support: the short answer

If your organization still runs Visio 2016 or Visio 2019 desktop licenses and needs to keep diagrams on its own servers or devices, the deadline has already passed for support. Visio 2019 reached its extended end date in October 2025, so it no longer receives security updates from Microsoft. The open-source option for that requirement is draw.io, which you can self-host from the official jgraph/drawio Docker image or run as draw.io Desktop. Both keep diagram files in locations you choose. There are two commercial paths to stay with Microsoft's tooling. The first is a one-time purchase of Visio LTSC 2024, which is covered by Microsoft's Fixed Lifecycle Policy with mainstream support listed until October 2029 and no extended end date. The second is a Visio Plan 2 subscription, which is billed on a recurring basis. Either path can be the right answer. The choice depends on your constraint: whether you need Visio's own file fidelity and rendering, whether you prefer a fixed license over a recurring cost, and whether your diagrams must remain inside your own network.

Before you decide, confirm three things in your own environment. First, list which files depend on Visio-only behavior, such as embedded EMF images or interactive shapes, because draw.io may not reproduce them exactly. Second, confirm with Microsoft or your reseller which licensing terms apply to your agreement, since the lifecycle dates above are only one input. Third, check where your current .vsdx files sit today, whether on desktops, file shares or cloud storage, because that determines how much conversion work the move involves. A small pilot with a representative set of diagrams will show you more than any comparison table.

What the Visio 2019 deadline and data constraints require

The move from Visio 2016 or 2019 to a self-hosted replacement turns on three questions: which desktop version is still supported, where diagrams live once they leave Visio, and whether any step sends content to a third party. The cards below set out each requirement and the check that confirms it before licenses or support lapse.

Confirm the desktop support status

Visio 2019 has passed its extended end date, so an organization still running it has no vendor security updates for that version. Check which Visio build each user runs and whether the license in use is a Visio LTSC 2024 license or an older one. Visio LTSC 2024 is listed with mainstream support until October 2029, so the decision is about how long you want to keep the desktop app, not whether a supported version exists. Confirm the current support terms with Microsoft before you sign a renewal.

Map where diagrams are stored

Visio files usually sit on local disks, network shares, OneDrive or SharePoint. Draw.io saves diagrams wherever the user chooses, on the device or in a connected storage service, so the target location must be decided before migration. A self-hosted Nextcloud or other storage server you run keeps the files inside your own boundary. List each library and project folder and assign it a store that your data residency rules allow.

Test imports of .vsdx, .vsd and .vst

Draw.io imports .vsdx files directly, converts .vsd and .vst files in the browser, and imports .vssx and .vss stencils as shape libraries. It does not import Visio 2003 to 2010 XML, and it does not bring across embedded EMF images. Build a test set from your most important diagrams and stencils, then compare rendering, connectors and interactive behavior against the originals. Expect manual rework on some diagrams, and record which ones need it.

Check what leaves the server

Draw.io's privacy policy says diagrams are not stored on draw.io's servers, but hosted export and real-time collaboration process diagrams temporarily on servers run by Cloudflare. If that is not acceptable, use the self-hosted Docker image or draw.io Desktop, and confirm that no export server is configured. The Docker image has no export server, so PDF export uses the browser print dialog and no diagram data leaves your server for an export. Write this decision into the data flow documentation.

Confirm the Apache 2.0 terms

The draw.io source code is licensed under the Apache License 2.0, which permits internal use, modification and redistribution under its terms. Icon sets, stencil libraries and templates carry separate terms, so review any third-party shape library you bring in. The project does not accept pull requests, so any change you need must be maintained in your own fork or through configuration. Have legal review the license file for each component you deploy.

Which Visio lifecycle dates set the deadline

The deadline comes from the Fixed Lifecycle Policy that governs Visio 2019. Mainstream support for Visio 2019 ended in October 2023, and extended support ended in October 2025, so a Visio 2019 desktop installation no longer receives standard security and support updates from Microsoft. Visio 2016 follows its own lifecycle pages, so check its dates separately before deciding how long your current installs can stay in service.

The current one-time-purchase option is Visio LTSC 2024, in Standard and Professional editions. Its lifecycle started on September 18, 2024, Microsoft Learn lists mainstream support until October 2029, and it shows no extended end date. That gives you a defined horizon for a perpetual license, but it is a shorter runway than most organizations expect from a long-lived desktop tool, and the policy does not cover subscription options such as Visio Plan 2, which are priced and supported under separate terms. Confirm each date on the Visio LTSC 2024 lifecycle page and the Visio 2019 lifecycle page before you put any figure into a budget.

Before you approve a renewal or a purchase, ask your Microsoft licensing partner or account team to confirm the support end dates for every Visio edition you are considering, and record the answers with the date you checked them. Then list which diagrams must still be editable after the chosen end date, since that list determines whether you need a commercial license or a migration to draw.io. Treat the lifecycle pages as the source of record, because dates can change and your contract terms may differ from the public policy.

Which option meets the constraint: LTSC 2024, Plan 2 or self-hosted draw.io

This table compares Visio LTSC 2024, Visio Plan 2 and self-hosted draw.io across lifecycle, licensing, storage, offline use, file import, fidelity and export. Read the lifecycle and licence rows first, then check the import and export rows against a sample of your own diagrams. Visio 2019 extended support has already ended, so the choice is mostly about whether you want a Microsoft license or a self-hosted editor.

CriterionVisio LTSC 2024Visio Plan 2Self-hosted draw.io
Support end dateMainstream support listed until October 2029, with no extended end dateSubscription follows Microsoft's current release terms; confirm with MicrosoftNo vendor end date; you set the upgrade schedule for your image
Licence modelOne-time purchase in Standard or Professional editionRecurring per-user subscriptionApache 2.0 source with no license fee; hosting and support are your costs
Where diagrams are storedOn the local device or in the storage you chooseLocal devices or Microsoft cloud storage such as OneDrive and SharePointWhere you choose; a self-hosted Docker instance keeps files on your servers
Offline useWorks from the installed desktop applicationWorks from the installed desktop application after sign-in and activationDraw.io Desktop works offline; the Docker app needs your internal network
Importing Visio filesOpens and edits native Visio files without conversionOpens and edits native Visio files without conversionImports .vsdx, converts .vsd and .vst, and imports stencils as libraries
Fidelity after importDiagrams keep their original behavior and embedded imagesDiagrams keep their original behavior and embedded imagesLayout may shift, interactive behavior may be lost, and embedded EMF images are not imported
Export and printingNative PDF output and printing from the desktopNative PDF output and printing from the desktopNo export server in the Docker image, so PDF uses the browser print dialog
Best fit for this constraintDesktop users who need Visio itself and want a fixed licenceTeams already on Microsoft 365 who want cloud sharingTeams that must keep files and editing inside their own network

Choosing between desktop, Docker and browser use of draw.io

draw.io Desktop is the simplest option for an individual who needs to open, edit and save Visio-derived diagrams without a network connection. The application runs on the user's workstation, and diagrams are saved to the local disk or to a storage location the user picks. Nothing is shared with other users unless someone copies the file or places it in a shared folder that your own file service controls.

  • Data location: Files stay on the device or in the storage folder you choose, which suits closed networks and laptops used offline.
  • No shared server: There is no team instance to host, patch or back up, so the IT team manages only the installed application.
  • Collaboration limits: Real-time co-editing is not part of a desktop-only setup, so teams that co-author diagrams need one of the other models.
  • Updates: Each workstation needs its own update process, so confirm how your endpoint management tooling will distribute new releases.
  • Export: Local export works on the device, which keeps output on your own equipment.

Before rollout, confirm with your security team whether the installer is permitted under your software approval process and whether local folders are included in your backup scope.

How to deploy self-hosted draw.io and move diagrams off Visio

This sequence takes a team from an inventory of Visio files to a self-hosted draw.io installation, with converted diagrams checked against the originals before any Visio license is retired. Each step ends with a check that tells you whether the move is ready to continue.

  1. Inventory every Visio file and stencil

    Collect the .vsdx, .vsd and .vst diagrams and the .vssx and .vss stencils from desktops, OneDrive, SharePoint and network shares. Record the owner, the folder, the last edit date and whether each diagram embeds EMF images or relies on interactive behavior, because those items need extra review after import. Note any .vdx files, which draw.io does not import directly and which should be resaved in Visio 2013 or later first. The step is done when you have a list that every diagram owner has checked against their own files.

  2. Confirm the hosting and license decision

    Ask your IT team whether draw.io will run as the Docker image on a server inside your network, as draw.io Desktop on managed workstations, or both. The Docker route needs a container host, TLS certificates, and an identity or access model for who can open the editor. Desktop needs software packaging through your endpoint tools. Confirm the Visio support dates with Microsoft Learn before setting a retirement plan: Visio 2019 extended support ended in October 2025, and Visio LTSC 2024 lists mainstream support until October 2029. The step is done when the hosting option and the support dates are written down.

  3. Deploy the jgraph/drawio Docker image or Desktop

    For Docker, your infrastructure team pulls the official jgraph/drawio image, runs it on the chosen host behind your reverse proxy, and restricts access to your internal network or single sign-on. Pin a version tag and record it, because the image is built on Tomcat and updated alongside the production app, so upgrades should follow a test cycle. For Desktop, install the draw.io Desktop package on a test group of machines. The step is done when an internal user can open, edit and save a test diagram without any outbound traffic to external services that your policy does not allow.

  4. Confirm the export path

    Decide how PDF and image exports will work before users rely on them. The jgraph/drawio Docker image does not include an export server, so PDF export uses the browser's print dialog unless you configure an export server, and no diagram data leaves the server for an export. Test one multi-page diagram with embedded content through the print dialog and through any export server you plan to run. The step is done when the export method is documented and approved by the security owner, and the team knows which option handles their diagrams.

  5. Convert and test a pilot set of files

    Import a representative pilot set into draw.io: .vsdx files directly, .vsd and .vst files converted in the browser, and stencils loaded as custom shape libraries. Save each converted file in draw.io's own format in a controlled storage location, keeping the original Visio file untouched. Users who work in Visio-heavy domains such as network or BPMN diagrams should include those files in the pilot. The step is done when every pilot file opens, saves and reopens in draw.io without error.

  6. Check rendering, interactivity and EMF images

    Compare each converted diagram with its original side by side. draw.io warns that Visio imports may look different, may lose interactive behavior and do not import embedded EMF images, so check text wrapping, connector routing, layer visibility, hyperlinks and any shapes that depended on Visio behavior. Replace missing EMF images with exported PNG or SVG versions where needed. Record each diagram as passed, passed with changes or needs rebuilding. The step is done when the owner of each diagram signs off on the converted version.

  7. Retire Visio licenses after sign-off

    Once every in-scope diagram has passed review and the archive of original Visio files is stored under your retention policy, remove Visio from the devices and stop renewing or buying licenses for those users. Confirm with your procurement and licensing contacts which subscriptions or perpetual licenses apply and whether any contractual notice periods exist. Keep a record of the decision, the archive location and the owner of the draw.io service. The step is done when the license register matches the list of users who moved to draw.io.

Visio 2019 replacement questions: cost, effort and what you must do yourself

How much does Visio LTSC 2024 cost compared with Visio Plan 2?

The supplied facts do not include list prices for either option, so get written quotes from Microsoft or an authorized reseller before comparing. Visio LTSC 2024 is a one-time purchase per device, while Visio Plan 2 is a recurring subscription, so the comparison depends on how many years you expect to keep diagramming. Ask each seller for the license count, edition, currency, tax treatment, support terms and any volume discount. Remember that the LTSC 2024 mainstream end date is October 2029 according to Microsoft Learn, so a one-time license still has a fixed support horizon that you should plan around.

What drives the effort of moving diagrams to draw.io?

The main drivers are the number of files, how complex each diagram is, how many stencils your teams use and how much rendering fidelity you need to keep. Diagrams that rely on embedded EMF images, interactive behavior or heavily customized shapes need manual review after import. Draw.io's documentation warns that Visio imports may look different, may lose interactive behavior and do not import embedded EMF images, so budget time for checking. Storage choice also matters, because you must decide where diagrams are saved and who can open them.

How long does a Visio to draw.io conversion take?

It depends on your library, and no reliable duration can be given without measurement. Start by inventorying the files, their sizes, the number of stencils and the number of diagrams that contain embedded images or custom macros. Convert a representative sample, record how many files open cleanly, how many need rework and how long each rework takes, then extrapolate to the full set. Draw.io imports .vsdx files directly, converts .vsd and .vst files in the browser and imports .vssx and .vss stencils as shape libraries, so file type affects the workload. Ask any implementation partner to base its written timeline on that measured sample.

Can our staff move Visio diagrams to draw.io without outside help?

Yes, many teams do this in-house, especially when the diagram set is small, the stencils are standard and the diagrams are not used in regulated documentation. Draw.io is free to use under the Apache License 2.0 for its source code, so the main internal costs are staff time, training and hosting. Outside help is more useful when you need a self-hosted Docker deployment with backups and access controls, bulk conversion scripts, custom shape libraries or a documented review process for compliance evidence. Decide which parts your team owns before asking for a fixed-scope quote.

What must our organization provide before a draw.io migration starts?

You need to provide an inventory of Visio files and their locations across OneDrive, SharePoint and desktops, a named owner for the diagram library and a list of users with their current access. You also need a decision on where diagrams will be stored, such as a connected storage service like Nextcloud or ONLYOFFICE, a file share or local devices, because draw.io saves diagrams where the user chooses. Provide a server or cloud account in your own environment if you plan to self-host the Docker image, along with change windows, a test group and sign-off criteria for converted diagrams.

Does the self-hosted draw.io Docker image need an export server?

No, the image runs without one, but you lose server-side export. The jgraph/drawio Docker image does not include an export server, so PDF export uses the browser's print dialog unless you configure an export server. Because no diagram data leaves the server for an export in that setup, it suits air-gapped or strictly controlled networks. If your reports need consistent PDF output with embedded diagrams, decide whether to configure an export server, and confirm the setup steps with the draw.io deployment documentation before you commit to that design.

What happens to our diagrams if draw.io changes or stops being maintained?

The source code is licensed under the Apache License 2.0, so you can keep and run a version you have already deployed, but the project does not accept pull requests from outside contributors. That means you should plan for your own upgrade process, for example by testing each new release, such as the v32.4.1 release from October 8, 2026, before rolling it out. Diagrams are stored as draw.io files on storage you control, so they remain readable without the app. Ask any partner to document upgrade and rollback steps in writing.

What a Visio migration to draw.io changes for your diagrams

Expect draw.io to import some Visio files cleanly and others only partly. Modern .vsdx files import directly. Older .vsd and .vst templates are converted in the browser, so resave them in Visio 2013 or later before you start if the conversion looks poor. Stencils saved as .vssx or .vss come in as shape libraries that you then reuse in draw.io. Two formats are not supported: Visio 2003 to 2010 XML and LibreOffice Draw files. Those must be converted to a supported format first. Embedded EMF images are not imported, so any diagram that depends on them needs those graphics rebuilt or replaced with native shapes.

Build a sample test set before you migrate the full library. Pick a cross-section of diagrams: a simple flowchart, one with custom stencils, one with dense connectors, one with embedded images, and any that feed a document or a review cycle. Import each one, then compare it side by side with the original in Visio. Check shape positions, text wrapping, connector routing, fonts, layers and page size. draw.io's documentation warns that imports may look different and may lose interactive behavior, so this review is the only reliable way to learn how your own files will render.

Plan manual rework for anything that relied on Visio interactivity. Shape data fields, hyperlinks, Visio's shape behaviors, and custom macros do not carry over in the way reviewers may expect. Decide early which diagrams need to stay interactive, rebuild those with draw.io's link and layer features, and record which diagrams were approved as static images. Ask the team that maintains the library to confirm the list of files that use these features, because that list sets the effort more than the file count does.

Evidence to keep for auditors after the move

Assessors, internal or external, will ask how each diagram was found, where it lives, and why the old licenses stopped being used. The cards below list the records that answer those questions, so the move from Visio can be checked later without relying on memory.

Lifecycle dates relied on

Record the Microsoft Learn lifecycle pages you used to set the deadline, with the date you captured each one. For Visio 2019, note that mainstream support ended in October 2023 and extended support ended in October 2025. For Visio LTSC 2024, note the start date of September 18, 2024 and the mainstream end date in October 2029. Assessors will ask why the decision date was chosen, so keep the capture dates with the copies.

Diagram inventory and storage locations

Keep a register that lists every Visio file, stencil and template, its owner, its current location (desktop, OneDrive, SharePoint or file share), and its destination in draw.io. Mark which diagrams hold regulated process, network or data-flow content, since those are the ones assessors will sample. Re-check the register after the final copy so that no file is left only on a laptop.

Deployment record for draw.io

Document the self-hosted draw.io instance: the official jgraph/drawio Docker image and tag in use, the host and network zone, the reverse proxy and TLS settings, and the update procedure. Note that the image does not include an export server, so PDF export uses the browser print dialog unless you configure one. Record this decision, since it determines whether any diagram data leaves the server.

Import test results

Keep a log of test imports for a representative sample of .vsdx, .vsd and .vst files, plus any stencils converted to libraries. For each file, record what changed in rendering, whether interactive behavior was lost, and whether embedded EMF images were missing after import. Sign off the affected diagrams with their owners, because the draw.io documentation warns that imports can look different from the original.

Access and backup configuration

Record who can sign in to the draw.io instance and to any storage service it connects to, how that access is granted and removed, and where the backup copies of diagram files are kept. Confirm whether your identity provider controls access and how often backups are restored in a test. Assessors will ask who can see a diagram and how a lost file would be recovered.

Licence retirement record

Document the removal of Visio licenses: the date each seat was withdrawn, the account used to confirm it, and the record of any remaining copies of the desktop software. Keep the vendor confirmation for any subscription cancellation. This closes the loop on the decision and shows that the organization no longer relies on unsupported software.

How DeployOpen plans a draw.io move under a Visio deadline

DeployOpen plans the move from Visio 2016 or 2019 to a self-hosted draw.io instance inside your own infrastructure, starting from an inventory of diagrams, stencils and users. The work is scoped in writing before it starts, so the deadline, the file formats and the hosting choice are agreed up front.

How we scope

  • Inventory every Visio file, stencil and shared library across desktops, OneDrive and SharePoint before any conversion begins.
  • Agree in writing which diagrams move, which are archived as PDF or SVG, and which stay in Visio.
  • Confirm the hosting target: Docker image on your servers, draw.io Desktop, or both, including air-gapped segments.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.

How we build

  • Deploy the official jgraph/drawio Docker image on your infrastructure and connect it to your chosen storage locations.
  • Convert .vsd and .vsdx files, and import .vssx and .vss stencils as shared libraries, then test results on sample diagrams.
  • Check rendering, interactive behavior and embedded EMF images, and rebuild affected diagrams where imports differ.
  • Configure PDF export through the browser print dialog or an export server, and document which data paths apply.

How we hand over

  • Document the deployment, storage locations, library structure and the list of diagrams that were migrated or archived.
  • Provide a training session for diagram authors on saving, sharing and exporting in the new environment.
  • Record the decisions taken, including which Visio licenses can be retired, so procurement and compliance have a clear file.
  • Deliver a written handover that lets your own team operate and upgrade the platform after the project closes.

How we support

  • Offer ongoing support, upgrades and continuous maintenance of the draw.io deployment as a retainer.
  • Track new draw.io releases and apply upgrades to your instance under the agreed retainer scope.
  • Confirm with your team and Microsoft's lifecycle pages which Visio support dates apply to your licenses before the cutover.

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.