NN-SVG Draws Publication-Ready Network Diagrams from Parameters
Publication-ready NN-architecture schematics.
At a glance
- What is it?
- NN-SVG is a browser-based tool that generates FCNN, LeNet-style CNN, and AlexNet-style DNN diagrams as SVG files for papers, built with D3.js and Three.js and citable through its own JOSS paper.
- Who is it for?
- NN-SVG suits a researcher who needs one static, publication-ready SVG of an FCNN, LeNet-style CNN, or AlexNet-style DNN, cited through its JOSS paper rather than a loose script. It does not suit someone who wants an interactive or animated view of a trained model, which is what TensorSpace is built for instead.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 120 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Three figure styles, each traced to a named paper
NN-SVG turns a neural network's architecture into a diagram parametrically instead of by hand, aimed at machine learning researchers who otherwise build these drawings from scratch for a paper or a slide. It generates three specific kinds of figures: classic Fully-Connected Neural Network (FCNN) figures, Convolutional Neural Network (CNN) figures drawn in the style introduced in the LeNet paper, and Deep Neural Network figures following the style introduced in the AlexNet paper. Each style traces back to a named publication rather than a generic template, so the CNN output looks like the LeNet diagrams researchers already recognize and the DNN output looks like the AlexNet ones. The tool exports the result as a Scalable Vector Graphics file, meant for academic papers or web pages rather than a raster screenshot, and the author states the goal directly: saving researchers time, with a secondary hope that the software also works as a pedagogical tool.
D3.js draws the flat diagrams, Three.js renders the AlexNet style
Two different rendering libraries split the work by figure type. FCNN and CNN figures are drawn with the D3 JavaScript library, used for flat, node-and-edge diagrams. DNN figures, the AlexNet-style ones, use Three.js instead, a library for 3D graphics in the browser, matching how the AlexNet paper's original diagram represented its convolutional layers as stacked volumes rather than flat boxes. The repository's file layout reflects this split directly: AlexNet.html and AlexNet.js pair with OrbitControls.js and Projector.js, Three.js helper scripts for camera control and projecting a 3D scene onto the screen, while LeNet.html and LeNet.js sit alongside FCNN.js and a shared SVGRenderer.js for the D3-based output. A separate util.js and about.html round out the set. Nothing here is one unified renderer: three network styles, largely separate code paths, and one shared export step to SVG.
Using the hosted page instead of installing anything
NN-SVG has no install step to document: it runs as a hosted page at alexlenail.me/NN-SVG/, and the repository is the source for that static site rather than a package published to npm or PyPI. There is no package.json, requirements file, or CLI entry point among the top-level files, only the HTML pages, index.html, about.html, AlexNet.html, LeNet.html, and their paired JavaScript. Someone who wants a diagram opens the hosted page, picks a network style, and adjusts the styling through what the project describes as many size, color, and layout parameters, all exposed in the browser rather than through a config file or a command-line flag. The output leaves the browser as a downloaded SVG, ready to drop into a LaTeX document or an HTML page without a conversion step. No account, no server round trip, and no build tool sit between opening the page and getting a diagram file.
One output format, with fonts embedded for portability
A sample of that output ships in the repository as example.svg, a static file showing what the exported diagram looks like rather than a generated placeholder. A fonts/ directory sits alongside it, which matters for an SVG export: text labels on the diagram need embedded font data to render identically outside the browser that created them, on a collaborator's machine or inside a PDF built from a LaTeX document. Nothing in the file list points to a bitmap export option; SVG is the only documented output format, which fits a tool built for publication rather than for a quick screenshot.
One tagged release from 2019, years behind the last push
NN-SVG has exactly one tagged release, 1.0, published on 2019-01-15, even though the repository's last push to master landed on 2026-06-02, more than seven years later. Whatever changed on master in the years between those two dates never received a new version number, so anyone citing or depending on a specific NN-SVG release is citing software that is now years of undocumented changes behind what actually runs on the hosted page. The MIT license places no restriction on reuse or modification, but the lack of tagged releases means there is no changelog to check before assuming the current hosted tool still matches the 1.0 code a citation points to.
A JOSS paper behind the GitHub repository
NN-SVG is citable as a published paper, not just a GitHub project: LeNail (2019), NN-SVG: Publication-Ready Neural Network Architecture Schematics, in the Journal of Open Source Software, volume 4, issue 33, page 747, DOI 10.21105/joss.00747. The repository carries the paper's own source files, paper.md, paper.bib, and a rendered paper.pdf, alongside the application code, a direct trace of NN-SVG having gone through JOSS's peer review process for research software rather than being an unreviewed personal script. Anyone citing a diagram made with NN-SVG in a paper has a formal reference to point to instead of a bare repository link.
TensorSpace and conv_arithmetic cover different ground
The README names two related projects directly. TensorSpace renders neural network models as interactive 3D visualizations inside the browser, built for exploring a trained model's structure and activations rather than for producing a static, publication-ready figure; it is the closer competitor in purpose, since it also touches 3D network rendering, but its output is an interactive scene, not an SVG file to paste into a paper. vdumoulin/conv_arithmetic covers a narrower problem: illustrating how convolution and transposed convolution operations move across an input, not drawing a whole network's layer-by-layer architecture. Someone who needs a single static figure of a full network for a paper stays with NN-SVG; someone who wants a reader to rotate and inspect a model interactively, or who only needs to show what a convolution operation does to a feature map, has a real reason to pick one of the other two instead.
Editorial conclusion
NN-SVG suits a researcher who needs one static, publication-ready SVG of an FCNN, LeNet-style CNN, or AlexNet-style DNN, cited through its JOSS paper rather than a loose script. It does not suit someone who wants an interactive or animated view of a trained model, which is what TensorSpace is built for instead. Before relying on it for a paper, check the hosted page's current behavior against the 1.0 release from 2019, since master has moved on without a new tag to mark what changed.
Frequently asked questions
How do you use NN-SVG to create a diagram?
Open the hosted page at alexlenail.me/NN-SVG, choose a network style (FCNN, LeNet-style CNN, or AlexNet-style DNN), adjust the size, color, and layout parameters in the browser, and export the result as an SVG file.
How can I visualize a neural network with NN-SVG?
By generating one of three figure styles, a classic fully-connected network, a LeNet-style convolutional network, or an AlexNet-style deep network, then exporting it as a Scalable Vector Graphics file for a paper or web page.
What file format does NN-SVG export?
Scalable Vector Graphics, SVG, the only export format documented in the README, with an embedded fonts directory so text labels render consistently outside the browser that created them.
Which JavaScript libraries does NN-SVG use to draw diagrams?
D3.js for the FCNN and LeNet-style CNN figures, and Three.js for the AlexNet-style deep network figures, which are rendered as 3D scenes.
Is there an academic paper behind NN-SVG?
Yes: LeNail (2019), published in the Journal of Open Source Software, volume 4, issue 33, page 747, with DOI 10.21105/joss.00747.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/alexlenail-nn-svg)