Skip to content

jwolf842/svg-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SVG Editor and Visualizer

A desktop application for creating and editing SVG files with real-time preview functionality.

SVG Editor Screenshot Platform Python

Features

  • 🎨 Real-time SVG Preview - See your changes instantly as you type
  • πŸ“ Code Editor - Syntax-highlighted SVG editing with undo/redo support
  • πŸ’Ύ Auto-save - Automatic saving every 5 seconds to prevent data loss
  • πŸ“‹ Template System - Built-in templates and custom template management
  • πŸ“€ Import/Export - Share templates via JSON files
  • πŸ–₯️ Clean Interface - Split-pane design with editor and preview side by side

Installation

Option 1: Windows Installer (Recommended)

  1. Go to the Releases page
  2. Download SVGEditor_Setup_1.0.0.exe from the latest release
  3. Run the installer and follow the setup wizard
  4. Launch from Start Menu or Desktop shortcut

Option 2: Portable Version

  1. Go to the Releases page
  2. Download SVGEditor.exe from the latest release
  3. Run the executable - no installation required!

Option 3: Run from Source

# Clone the repository
git clone https://github.com/jwolf842/svg-editor.git
cd svg-editor

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

System Requirements

For the Executable/Installer

  • Windows 10/11 (64-bit)
  • ~50MB free disk space

For Running from Source

  • Python 3.8 or higher
  • Cairo library for SVG preview functionality

Installing Cairo:

Windows (using conda):

conda install -c conda-forge cairo

macOS:

brew install cairo

Linux:

sudo apt-get install libcairo2

Building from Source

Using the Build Script

python build.py

Using auto-py-to-exe

  1. Install auto-py-to-exe:
    pip install auto-py-to-exe
  2. Run:
    auto-py-to-exe
  3. Load the configuration from auto_py_to_exe_config.json
  4. Click "Convert .py to .exe"

Creating the Installer

  1. Install Inno Setup
  2. Open installer_script.iss in Inno Setup
  3. Compile (F9) to create the installer

Usage

  1. Creating SVGs: Start with the "Blank SVG" template or write from scratch
  2. Live Preview: Your SVG updates in real-time as you type
  3. Templates: Save frequently used SVGs as templates via Templates β†’ Save as Template
  4. Auto-save: Work is automatically saved to ~/.svg_editor/autosave.svg

Project Structure

svg-editor/
β”œβ”€β”€ main.py                    # Main application file
β”œβ”€β”€ build.py                   # Build script for creating executable
β”œβ”€β”€ requirements.txt           # Python dependencies
β”œβ”€β”€ auto_py_to_exe_config.json # Build configuration
β”œβ”€β”€ installer_script.iss       # Inno Setup installer script
β”œβ”€β”€ version_info.txt           # Version information for executable
β”œβ”€β”€ assets/
β”‚   └── icon.ico              # Application icon
└── README.md                  # This file

Dependencies

  • tkinter - GUI framework (included with Python)
  • Pillow - Image processing
  • cairosvg - SVG to PNG conversion for preview
  • PyInstaller - Creating standalone executable

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Known Issues

  • Complex SVG animations may not render correctly in the preview
  • Preview requires Cairo library to be installed
  • Currently Windows-only (cross-platform support planned)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built with Python and Tkinter
  • SVG rendering powered by CairoSVG
  • Executable packaging by PyInstaller

Support

If you encounter any issues or have suggestions, please open an issue on GitHub.


About

SVG Editor and Visualizer - Desktop application for editing and previewing SVG files

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages