Fact-checked by Grok 2 weeks ago

SVG-edit

SVG-edit is a free and open-source, web-based vector graphics editor that enables users to create, view, and edit Scalable Vector Graphics (SVG) files directly in modern web browsers without requiring additional software installations. Originally developed starting in 2009 as a JavaScript-driven tool, SVG-edit's initial version 1.0 provided basic drawing capabilities such as paths, lines, freehand tools, rectangles, and circles, along with functions for clearing, deleting, and saving SVG content. Subsequent major releases, including version 2.4 in 2010, introduced advanced features like support for raster image embedding, grouping elements, path node editing, curved paths, zooming, layers, and internationalization. After version 2.7.1 in 2014, which added export options for PNG, JPEG, BMP, and WebP formats, along with star and polygon tools and enhanced security, the project remained largely unmaintained for several years. It was revived around 2016 with the release of version 4.0.0, which adopted ES6 modules for improved modularity, and has since seen active development, reaching version 7.3.3 by late 2023 with ongoing bug fixes, UI enhancements, and integration improvements. Key features of SVG-edit include a user-friendly with menus, toolbars, and an underlying canvas for precise control; tools for drawing shapes, paths, and text; support for editing attributes like opacity, styles, and fills; and extensibility through plugins and into other applications via a simple div element. It is licensed under the , hosted primarily on for community contributions, and compatible with browsers such as , , and , while also offering package installation for developers.

Introduction

Overview

SVG-edit is a free and open-source powered by , enabling users to create and edit (SVG) files directly within web browsers. Designed for simplicity and efficiency, it operates as a lightweight application that eliminates the need for desktop software, plugins, or installations, making vector editing accessible to a broad audience. The editor exhibits strong cross-platform compatibility, functioning seamlessly across modern browsers including , , and . This browser-centric approach ensures it runs on various operating systems without compatibility issues, prioritizing ease of use for designers, developers, and educators who require quick SVG manipulation. SVG-edit supports multilingual interfaces through features, introduced in version 2.4, allowing adaptation to different languages via community-driven translations. It is distributed as a standalone hosted online, integrable as a extension for collaborative wiki environments, and adaptable for browser-based extensions or embeds. Initially developed in , it emphasizes for users seeking an alternative to resource-heavy proprietary tools.

Origins

SVG-edit was founded by Narendra Sisodiya, who released its initial minimal version on February 6, 2009, positioning it as a browser-based alternative to desktop SVG editors like . This launch addressed the growing demand for accessible tools that required no software or downloads, enabling users to edit files directly in web browsers. The project's early motivation stemmed from the potential of emerging web technologies, particularly and 1.1 standards, to support dynamic, client-side graphics manipulation without proprietary plugins. Sisodiya aimed to create a lightweight editor that democratized SVG creation and modification, making it viable for quick edits in educational, prototyping, and collaborative web environments. From its , SVG-edit adopted an open-source , facilitating community involvement and broad adoption. Significant early contributions came from Pavol Rusnak, who helped develop , released on June 3, 2009, introducing key stability enhancements and structures that improved the editor's reliability and extensibility. These updates solidified the tool's foundation, allowing for more robust handling of SVG elements like paths and shapes. Initially hosted on Google Code for and distribution, the project migrated to around 2016 to better support ongoing collaboration and modern development workflows.

Features and Functionality

Editing Tools

SVG-edit offers tools for drawing basic shapes, including rectangles and squares, ellipses and circles, straight lines, and polylines or polygons via the path tool, where users click to place vertices and to close shapes. It also includes a dedicated Stars/Polygons tool for creating star shapes and regular polygons with adjustable sides and curvature. Advanced path creation supports Bézier curves through node-based editing in the path tool and freehand sketching with the pencil tool for irregular lines. Key editing functions encompass node manipulation for paths, enabling users to add, clone, or delete nodes, link control points, adjust coordinates, convert segments between straight lines and curves, and open or close sub-paths. Text insertion uses a dedicated tool to place editable text blocks on the canvas, with font controls available in the properties panel for selecting family, size, weight, style, and alignment. Layer management supports creating new layers, deleting or renaming them, reordering via up/down arrows, and transferring elements between layers to handle complex compositions efficiently. Import and export options allow loading external files onto the while preserving the current , with export to for vector preservation or to , , , and for raster output (as of version 7.3.3, 2024). Raster images, such as or , can be embedded directly using the image tool by specifying a or . Transformations including , , and skewing are applied through the selection tool's bounding box handles or numeric inputs in the properties panel for accurate modifications. The undo/redo system provides multi-level history, accessible via keyboard shortcuts (Ctrl+Z for , Ctrl+Y for redo), supporting reversal of , , and actions. Zoom and pan controls enable precise navigation, with zoom selectable from a dropdown menu (e.g., 25% to 1000%) and panning achieved by dragging the or using a dedicated tool.

User Interface Elements

SVG-edit's user interface centers around a main area that serves as the primary workspace for creating and manipulating graphics, allowing users to draw, edit, and view elements in . This is typically embedded within a container div that can be sized numerically for integration into web pages, providing a flexible drawing surface that supports zooming and panning for detailed work. Surrounding the canvas are tool palettes positioned on the left side, offering quick access to essential functions such as selection for manipulating existing elements, various drawing tools for shapes like rectangles, ellipses, lines, paths, stars, and polygons, and a (eyedropper) for sampling and applying fills or strokes. These palettes feature icon-based buttons that enable intuitive interaction, with the bottom area including a color palette for precise hue, saturation, and opacity adjustments. To the right of the , property panels provide context-sensitive controls for selected , including options to modify fill and colors, set opacity levels, and adjust or positioning relative to other objects. These panels dynamically update based on the active selection, displaying numerical inputs and sliders for attributes like width, , and transformation values to ensure precise edits without altering the underlying code manually. At the top, a organizes navigation and operations into categories, with options for creating new documents (Ctrl+N), opening existing SVGs (Ctrl+O), and saving (Ctrl+S), alongside controls that toggle features like grid snapping for alignment assistance and rulers for measurement. The menu also includes a help section linking to and tutorials, facilitating user onboarding. The interface incorporates responsive design principles, adapting to various screen sizes by allowing canvas dimensions to scale within its and supporting touch interactions on mobile devices through modern browser compatibility. Additionally, customizable keyboard shortcuts enhance efficiency, with defaults like Ctrl+Z for and configurable options via the editor's for personalized workflows.

Technical Architecture

Core Components

SVG-edit's core architecture revolves around two primary JavaScript files that form the backbone of its functionality: svg-editor.js and svgcanvas.js. The svg-editor.js file serves as the central application script, responsible for initializing the editor interface, managing events, and orchestrating the overall workflow of the drawing application. It is typically loaded within an container element, where it sets up the editor instance and handles configurations such as extensions and custom overrides to adapt the tool to specific use cases. Complementing this, svgcanvas.js functions as an independent canvas library that handles the rendering and manipulation of SVG DOM elements, making it a versatile component that can be integrated into other projects beyond the full SVG-edit environment. This library provides the foundational logic for creating, editing, and exporting SVG content, operating directly on the SVG to ensure precise vector-based operations without relying on external dependencies. Its modular design allows for standalone use, such as in custom web applications requiring SVG handling, and it is distributed via for easy incorporation. The software employs a modular to organize its operations and utilities, separating concerns for maintainability and extensibility. For instance, dedicated modules like path.js manage specific tasks such as curve handling and path data processing, enabling focused development on complex elements like Bézier curves and polygons. Utility modules address ancillary functions, including error handling and validation, ensuring robust performance across diverse editing scenarios. This architecture promotes code reusability and allows developers to extend or replace individual modules without affecting the core system. SVG-edit relies on native browser APIs to process and render SVG content efficiently, avoiding the need for additional plugins. It utilizes the to parse and manipulate SVG strings into document objects, facilitating seamless import and export operations. Additionally, the is employed for generating previews and raster representations of elements, supporting features like creation and compatibility with non-SVG contexts. This integration with standard web technologies ensures broad browser compatibility while maintaining lightweight performance. Under its , components like svgcanvas.js can be freely reused and modified in other open-source or proprietary projects, fostering a of tools built upon SVG-edit's foundations.

Browser Integration

SVG-edit runs natively in modern web browsers leveraging and , eliminating dependencies on plugins like or and enabling zero-install access as a web-based application. This design ensures compatibility with recent versions of , , and , where the editor's functionality relies on the browser's built-in support without requiring downloads or installations. The editor can be embedded directly into custom web pages by placing it within an with specified dimensions, then initializing it via to allow seamless integration into larger applications or workflows. For content management systems, it supports inline editing through dedicated extensions, such as the SVGEdit extension for , which adds an "Edit drawing" interface on file pages and facilitates saving changes back to the wiki via API uploads. Performance considerations arise when handling large SVGs, as the editor's reliance on the browser's (DOM) for rendering can lead to high memory usage, particularly with embedded raster images or complex structures; optimization techniques like minifying the SVG code are recommended to mitigate slowdowns. The core rendering, managed through svgcanvas.js, benefits from browser advancements in SVG processing but may require careful for files exceeding thousands of elements.

Development

Version History

SVG-edit's development began with version 2.0, released on June 3, 2009, which focused on improving stability through an rewrite, adding support for drawing ellipses and squares, and introducing an interface inspired by . Version 2.6, released on January 15, 2013, enhanced extensibility by introducing support for extensions such as image and shape libraries, server-based tools, and improved context menus, alongside better compatibility. In the mid-period, version 4.0, released on November 16, 2018, brought significant improvements to path tools, including better handling of path segments and conversions from shapes to paths, along with stricter extension management and initial accessibility features like labels. Version 5.0, released on May 7, 2019, advanced the codebase by incorporating ES6 modules more fully, requiring 8.5 or higher, and improving mobile support through touch device fixes inherited from prior pre-releases. Recent releases include version 7.0, released in beta form starting in 2021 with stable versions from 2023 onward, which experimented with for user interface components and removed dependencies like to modernize the architecture. The latest stable release, 7.3.3 on December 10, 2023, primarily fixed issues related to publishing workflows and canvas updates. In 2013, the project migrated from Google Code to , facilitating collaborative development through pull requests, issue tracking, and contributions.

Community and Maintenance

SVG-edit is maintained by the SVG-Edit Team on , where the repository has garnered over 800 stars and features active issue tracking as of 2025. The actively contributes through pull requests, translations, and extensions, with key maintainers including original developers and new volunteers who join via regular involvement. The project addresses challenges such as evolving standards through periodic updates that ensure and enhancements. As of November 2025, the latest stable release remains 7.3.3 from December 2023, the repository has approximately 880 stars, and issue tracking remains active with community contributions ongoing.

References

  1. [1]
    Powerful SVG-Editor for your browser - svgedit
    SVGEdit is a fast, web-based, JavaScript-driven SVG drawing editor that works in any modern browser. SVGEdit is based on a powerful SVG canvas.
  2. [2]
    SVG-Edit/svgedit: Powerful SVG-Editor for your browser - GitHub
    SVGEdit is the most popular open source SVG editor. It was started more than 13 years ago by a fantastic team of developers. Unfortunately, the product was ...
  3. [3]
  4. [4]
    Releases · SVG-Edit/svgedit
    ### Summary of SVG-Edit Releases Since 2014
  5. [5]
    Extension:SVGEdit - MediaWiki
    Feb 26, 2024 · The SVGEdit extension provides in-browser creation and editing of uploaded SVG files using the very nice open-source SVG-edit widget.
  6. [6]
    SVG-edit 2.3 is out! - Pavol Rusnak
    Sep 7, 2009 · SVG-edit 2.3 is out! 07 Sep 2009. During the last weekend we released version 2.3 of our in-browser SVG editor called SVG-edit.Missing: first | Show results with:first<|control11|><|separator|>
  7. [7]
    Google Code Archive - Long-term storage for Google Code Project Hosting.
    - **Project Creation Date**: Not explicitly stated in the provided content.
  8. [8]
    SVG-Edit - Google Code Archive
    svg-edit-v2.2.zip, version 2.2, Aug 17, 2009, 359.91KB. svg-edit-v2.1.zip, version 2.1, Jun 18, 2009, 127.15KB. svg-edit-v1.0.zip, version 1.0 Type-Source, Feb ...
  9. [9]
    A short introduction to SVG-edit - Ehm! Dunque
    SVG-edit windows consists of two zones: a large central painting area (canvas) and an external frame used as a support for palette of tools and/or colors.
  10. [10]
    6 Free Web-Based SVG Editors Compared - SitePoint
    Mar 30, 2017 · With SVG-edit you can draw the standard shapes (lines, rectangle, circles, polygons, freehand, etc.), use paths, layers, and gradients, view and ...
  11. [11]
    Memory management when dealing with svg <image>'s
    Mar 7, 2012 · I am using SVG-Edit to create a pretty big SVG image file. The problem is the memory usage seems insane, and I'm wondering if this is normal.How to reduce quality or improve rendering performance of SVG File?Rendering huge, interactive SVGs in a browser - Stack OverflowMore results from stackoverflow.comMissing: large virtual
  12. [12]
    SVG-edit - Wikipedia
    SVG-edit is a web-based free and open-source vector graphics editor. It can be used to create and edit Scalable Vector Graphics (SVG) images from within a web ...
  13. [13]
    None
    ### Version History from SVG-Edit CHANGES.md (2.0 to Latest)
  14. [14]
    SVG-edit - Wikidata
    publication date. 29 November 2018. 4.2.0. publication date. 13 December 2018. 1 reference. reference URL · https://github.com/SVG-Edit/svgedit/releases/tag/v4.Missing: 2.6 6.0
  15. [15]
  16. [16]
    svgedit - NPM
    Aug 27, 2021 · Acknowledgements lists open source projects used in svg-edit. See AUTHORS file for authors. StackOverflow group. Hosting. SVGedit versions ...
  17. [17]
    SVG-edit - Google Code
    SVG-edit is a fast, web-based, JavaScript-driven SVG drawing editor that works in any modern browser. All development is now taking place over on github.
  18. [18]
    svg-edit - BrowserBugs.wiki - Google Code
    Workaround in SVG-edit: Not really. One option is to avoid using the group_opacity control and change the stroke-opacity and fill-opacity instead. Rotating text ...
  19. [19]
    Top 10 SVG Editors in 2025: Features, Pros, Cons & Comparison
    Aug 23, 2025 · Gravit Designer is a powerful yet accessible vector design tool that supports SVG editing. It's suitable for both beginners and professionals ...Top 10 Svg Editors In 2025... · 2. Inkscape · 5. Boxy Svg