SysML Studio is a graphical viewer and editor for SysML v2. Open a folder of .sysml files, browse it as a tree, read it as diagrams, change it.
Graphical tools usually keep the model in a database and export text on the side. SysML Studio turns that around: the .sysml files are the truth, and the diagrams are views of them.
An edit changes only what it has to. Comments, doc blocks, blank lines and your formatting survive, so a diff shows exactly what changed.
Point it at a folder and the whole model is there: every file, every cross-reference, ready to browse. No import step, no conversion.
No project database, no binary blobs. Branch, review and merge models the way you already work with code, and keep editing in any text editor too.
Select an element and the title bar offers the diagrams it can be drawn as. Boxes are placed automatically, kept apart, with edges routed around them.
Part, port, action and requirement definitions with their attributes and features. Composition, specialization and typing drawn as SysML draws them.
part def · port def · :> · attributes · multiplicities
The parts inside a definition and how they are wired: connections and flows between their ports, labelled with the names from your text.
part · connection · connect … to … · flow
Requirements with their ids and text, and the parts that satisfy them. Trace a requirement to its design at a glance, or see what a part answers for.
requirement def · satisfy · dependency · allocate
The steps of an action and the successions between them, top to bottom in the order they run.
action def · action · first … then …
States and the transitions between them, including loops and the way back to where it started.
state def · state · transition · entry
Rename, retype, add, delete, specialize, mark maturity or write a doc comment. Every dialog says what it will change before it writes a thing.
#implemented- part def <'D.2'> FlightController {+ part def <'D.2'> Autopilot { …- part fc : FlightController;+ part fc : Autopilot;

The toolbar under each diagram adds elements and draws relations by clicking the two ends. What you draw is written as SysML text and checked before it is accepted, so a drawing never leaves your model broken.
#implemented part def <'D.0'> Drone { part battery : Battery; part fc : FlightController; part imu : Imu; part gps : Gps; part motors : Motor[4]; part props : Propeller[4]; connection mainPower connect battery.power to fc.power; connection imuLink connect imu.data to fc.imu; connection escBus connect fc.esc to motors.control; connection drive connect motors.shaft to props.hub; }
Open any file in a source tab with SysML highlighting. Type freely: mistakes show up as you type, inline and in the problems list, and the diagrams wait until the file is valid again.

Export the whole model in the standard SysML v2 interchange formats.
Save any diagram as a vector or bitmap image for documents and reviews.
Nearly every command has a shortcut, and each one can be re-recorded in the settings.
Two calm themes, with side panels of frosted glass over the canvas.
Your model is plain SysML v2 text to begin with. When another tool needs it, export the workspace as SysML v2 JSON or XMI in one step.

Click a shortcut, press the new keys. Clashes are caught before you save. Settings live in a small settings.json in your application data.

One download, nothing else to install. A sample model comes with it, so there is something to open straight away.
Unzip and run SysML Studio.exe.
Windows may not know the publisher yet: choose More info, then Run anyway.
Unzip and drag SysML Studio to Applications.
The first time, right-click it and choose Open.
On Debian or Ubuntu, install the package and start it from the menu:
sudo apt install ./sysml-studio_amd64.deb
Anywhere else: unpack the archive and run sysml-studio.