CircuiTikZ-Designer is part of the Circuit2TikZ-Project which was started as a research project at the Institute of Electronics Engineering at the Friedrich-Alexander-Universität Erlangen-Nürnberg. The goal was to create a GUI application for easy and fast drawing of circuits to be used in CircuiTikZ.
If you find bugs or have suggestions, please feel free to contact us, preferably on Github.
© 2025 Philipp Wiedemann, Manuel Kirzinger, Christof Pfannenmüller
CircuiTikZ Designer can manage a different canvas for each tab to allow multiple drawings at the same time.
Total storage used by CircuiTikZ Designer:
| Tab | # components | Storage size |
|---|
| Action | Keyboard & Mouse | Touch |
|---|---|---|
| Move canvas | Hold right click and drag | Move with two touches |
| Zoom canvas | Scroll | Zoom with two touches |
| Deactivate snapping | Hold Shift | - |
| Start selection | Hold left click and drag | Drag with one touch on canvas |
| Add to selection | Hold Shift before starting a selection | - |
| Remove from selection | Hold Ctrl/⌘ before starting a selection | - |
| Delete selection | Press Del/Backspace while components are selected | - |
| Preview wire segment | Drag with left click | Drag with one touch |
| Place wire point | Release left click | Release touch |
| Finish wire | Click same wire point twice | |
| Press Enter | - | |
| Straight wire | Hold Ctrl/⌘ | - |
| Cancel wire | Press Esc | Click move tool |
| Add component | Component drawer ("+") | |
| Keyboard shortcuts (see below) | ||
| Move component | Hold left click and drag component | Drag component with one touch |
| Adjust component |
While one component selected: Drag adjustment points |
|
| Align/Distribute components | Select multiple components, then use align/distribute buttons | |
| Set Align/Distribute reference | Click an already selected component while more than one component is selected | |
| Category | Shortcut | Description |
|---|---|---|
| Modes | Q | Open component drawer |
| W | Start wire drawing tool | |
| Del/Backspace | Erase components and wires | |
| Esc | Return to move tool/ cancel component placement | |
| IO | Ctrl/⌘ + S | Save to JSON |
| Ctrl/⌘ + O | Load from JSON | |
| Ctrl/⌘ + E | Export CircuiTikZ code | |
| Ctrl/⌘ + Shift + E | Export SVG code | |
| Components | (Alt/⌥ +) G | Place (tailless) ground |
| R | Place resistor | |
| (Alt/⌥ +) L | Place (cute) inductor | |
| (Alt/⌥ +) C | Place (polarized) capacitor | |
| D | Place diode | |
| (Alt/⌥ +) B | Place npn (or pnp) BJT | |
| (Alt/⌥ +) N | Place nmos (or pmos) transistor | |
| (Alt/⌥ +) X | Place (jump) crossing | |
| (Alt/⌥ +) . | Place (un-)connected terminal | |
| T | Place text | |
| Edit | Ctrl/⌘ + C | Copy selection |
| Ctrl/⌘ + V | Paste selection | |
| Ctrl/⌘ + X | Cut selection | |
| Ctrl/⌘ + Z | Undo | |
| Ctrl/⌘ + Y | Redo | |
| Ctrl/⌘ + A | Select all | |
| Ctrl/⌘ (+ Shift) + R | Rotate (counter-)clockwise | |
| Shift + X | Flip at x-axis | |
| Shift + Y | Flip at y-axis |