{"id":24865058,"url":"https://github.com/sindrel/excalidraw-converter","last_synced_at":"2025-04-05T23:05:01.928Z","repository":{"id":39909077,"uuid":"352394968","full_name":"sindrel/excalidraw-converter","owner":"sindrel","description":"A command line tool for porting Excalidraw diagrams to Gliffy and draw.io.","archived":false,"fork":false,"pushed_at":"2025-03-23T18:36:34.000Z","size":1891,"stargazers_count":138,"open_issues_count":5,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T22:03:57.344Z","etag":null,"topics":["confluence","conversion","diagram","drawio","excalidraw","gliffy","gliffy-diagram","productivity","whiteboard"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sindrel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-28T17:35:25.000Z","updated_at":"2025-03-28T15:47:57.000Z","dependencies_parsed_at":"2023-10-05T04:00:06.980Z","dependency_job_id":"65a75b0c-f819-4ee9-b1dd-a96d95b0bc15","html_url":"https://github.com/sindrel/excalidraw-converter","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindrel%2Fexcalidraw-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindrel%2Fexcalidraw-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindrel%2Fexcalidraw-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindrel%2Fexcalidraw-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sindrel","download_url":"https://codeload.github.com/sindrel/excalidraw-converter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411225,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["confluence","conversion","diagram","drawio","excalidraw","gliffy","gliffy-diagram","productivity","whiteboard"],"created_at":"2025-01-31T23:57:19.616Z","updated_at":"2025-04-05T23:05:01.922Z","avatar_url":"https://github.com/sindrel.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"assets/workflow.png\" alt=\"logo\" width=\"25\"/\u003e Excalidraw Converter \n\n**A command line tool for porting Excalidraw diagrams to Gliffy and draw.io.** \n\n[Excalidraw](https://excalidraw.com/) is great for sketching diagrams as part of a design process, but chances are that you have to redo those sketches for documentation. This tool is made to bridge those tasks.\n\nExcalidraw Converter ports Excalidraw diagrams to a Gliffy compatible format, which can be imported directly into services like [Gliffy](https://www.gliffy.com/), [Gliffy for Confluence](https://marketplace.atlassian.com/apps/254/gliffy-diagrams-for-confluence), [draw.io](https://draw.io) or [draw.io for Confluence](https://www.drawio.com/doc/drawio-confluence-cloud).\n\n![Excalidraw vs. Gliffy comparison](exconv-comparison.png \"Comparison\")\n\n## Getting started\n\n### Installation\n#### MacOS with [Homebrew](https://brew.sh/) (stable)\n```shell\nbrew install excalidraw-converter\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eLatest releases\u003c/summary\u003e\n\nUse this tap to stay on the latest releases that have not (yet) been added to the official Homebrew Formulae:\n\n```shell\nbrew install sindrel/tap/excalidraw-converter\n```\n\u003c/details\u003e\n\n\n#### Installation for other OSes\nDownload a compatible binary from the [Releases](https://github.com/sindrel/excalidraw-converter/releases) page.\n\nIf you're a Linux or MacOS user, move it to your local bin folder to make it available in your environment (optional).\n\n### How to convert diagrams\nFirst save your Excalidraw diagram to a file.\n\nThen, to do a conversion, simply execute the binary by specifying the `gliffy` command, and the path to your Excalidraw file.\n\n```sh\nexconv gliffy -i ~/Downloads/my-diagram.excalidraw\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eMacOS example\u003c/summary\u003e\n\n  ```sh\n  $ exconv gliffy -i ~/Downloads/my-diagram.excalidraw\n  Parsing input file: ~/Downloads/my-diagram.excalidraw\n  Adding object: com.gliffy.shape.basic.basic_v1.default.rectangle\n  Adding object: com.gliffy.shape.basic.basic_v1.default.text\n  [...]\n  Adding object: com.gliffy.shape.basic.basic_v1.default.text\n  Adding object: com.gliffy.shape.basic.basic_v1.default.line\n  Converted diagram saved to file: my-diagram.gliffy\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eLinux example\u003c/summary\u003e\n\n  ```sh\n  $ ./exconv gliffy -i ~/Downloads/my-diagram.excalidraw\n  Parsing input file: ~/Downloads/my-diagram.excalidraw\n  Adding object: com.gliffy.shape.basic.basic_v1.default.rectangle\n  Adding object: com.gliffy.shape.basic.basic_v1.default.text\n  [...]\n  Adding object: com.gliffy.shape.basic.basic_v1.default.text\n  Adding object: com.gliffy.shape.basic.basic_v1.default.line\n  Converted diagram saved to file: my-diagram.gliffy\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eWindows example\u003c/summary\u003e\n\n  ```sh\n  C:\\\u003e exconv.exe gliffy -i C:\\Downloads\\my-diagram.excalidraw\n  Parsing input file: C:\\Downloads\\my-diagram.excalidraw\n  Adding object: com.gliffy.shape.basic.basic_v1.default.rectangle\n  Adding object: com.gliffy.shape.basic.basic_v1.default.text\n  [...]\n  Adding object: com.gliffy.shape.basic.basic_v1.default.text\n  Adding object: com.gliffy.shape.basic.basic_v1.default.line\n  Converted diagram saved to file: my-diagram.gliffy\n  ```\n\u003c/details\u003e  \n\n### Importing\n![Animation demonstrating use](exconv.gif \"Animation\")\n\nAfter converting your diagram(s), import them into Gliffy (or draw.io) using the standard Import dialog.\n\n## Commands\n```sh\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  gliffy      Convert an Excalidraw diagram to Gliffy format\n  help        Help about any command\n  version     Output the application version\n\nFlags:\n  -h, --help   help for exconv\n```\n\n### Gliffy conversion options  \nWhen an output file path is not provided, it will be determined\nautomatically based on the filename of the input file. If you provide the\ninput file path `./subfolder/your_file.excalidraw`, the default output file path will be `./your_file.gliffy`.\n\nThis can be overridden using the `-o` flag.\n\n```sh\nExample:\n  exconv gliffy -i your_file.excalidraw\n\nUsage:\n  exconv gliffy [flags]\n\nFlags:\n  -h, --help            help for gliffy\n  -i, --input string    input file path\n  -o, --output string   output file path (default \"your_file.gliffy\")\n```\n\n## Features\n\nAll fixed shapes and most styling and text options are supported.\n\n### Shapes\n* Rectangle\n* Rounded rectangle\n* Diamond\n* Ellipse\n* Arrow\n* Line\n* Image :sparkles:\n* Free drawing (pencil tool) :sparkles:\n\n### Text\n* Font family (Normal and Code)\n* Font size\n* Font color\n* Horizontal and vertical alignment :sparkles:\n* Text contained in shapes\n\n### Styling\n* Canvas background color\n* Fill color\n* Fill style (hachure and cross-hatch translate to gradients)\n* Stroke color\n* Stroke width\n* Opacity\n\nLibrary graphics are not fully supported (experimental).\n\n## Compatibility with draw.io\nConverted Gliffy diagrams should also work in the online version of [draw.io](https://draw.io).\n\nIn draw.io, you can import a diagram by simply opening the file from your device. If you're using draw.io for Confluence, you should be able use [the import dialog](https://drawio-app.com/blog/draw-io-for-confluence-now-with-gliffy-import/).\n\nNote that this is [only supported in the online version](https://www.drawio.com/blog/import-gliffy-online) of draw.io, not the desktop app.\n\n## Compatibility with Excalidraw for Obsidian\nDiagrams created using the [Excalidraw for Obsidian plugin](https://github.com/zsviczian/obsidian-excalidraw-plugin) must be exported before conversion, as described [here](https://github.com/sindrel/excalidraw-converter/issues/27#issuecomment-1759964572).\n\n## Contributing\nSee something you'd like to improve? Great! See the [contributing guidelines](CONTRIBUTING.md) for instructions.\n\n## Attributions  \n* \u003ca href=\"https://www.flaticon.com/free-icons/workflow\" title=\"workflow icons\"\u003eWorkflow icons created by Freepik - Flaticon\u003c/a\u003e\n\n## Development\n\u003cdetails\u003e\n  \u003csummary\u003eInstructions\u003c/summary\u003e\n\n### Prerequisites:\n* Go (see version in `go.mod`)\n\n### Download dependencies\n```shell\ngo mod download\n```\n\n### Run tests\n```shell\ngo test -v ./...\n```\n\n### Compile and run\n```shell\ngo run ./cmd/main.go \u003ccommand\u003e \u003carguments\u003e\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsindrel%2Fexcalidraw-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsindrel%2Fexcalidraw-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsindrel%2Fexcalidraw-converter/lists"}