Open-source project
FashionFreedom/Seamly2D avatar
FashionFreedom/Seamly2D

Seamly2D: pattern drafting with multi-size and custom measurement files

Open source patternmaking software to democratize fashion.

1,008 stars181 forksC++GPL-3.0

At a glance

What is it?
Seamly2D is a C++ and Qt patternmaking application for garment designers, distributed under GPL-3.0 with binaries for Windows, macOS, Linux AppImage and Flatpak. It reads both standardized multi-size measurement files and individual measurement files, so the same pattern can carry a size range and a custom body.
Who is it for?
Seamly2D fits an independent patternmaker or a small studio that wants a drafting environment without a commercial licence, and it fits anyone who needs one pattern to serve both a graded size range and one specific body. It is the wrong tool for a team that needs a measured, documented production pipeline, because the user manual is flagged as needing updates and the measurement file format is not explained on the project page.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A patternmaking tool aimed at garment designers, not a general CAD program

Seamly2D is open source patternmaking software whose stated aim is to democratize fashion. The scope is narrow and worth stating plainly: this is a tool for drafting garment patterns, not a general purpose 2D CAD package, and not a simulator that will tell you how a finished garment drapes. Its primary language is C++ and the project topics list linux, osx, qt5 and windows, so the application layer is a Qt5 desktop program rather than a web service or a plugin for another suite. The homepage is https://seamly.io, and the project's own words describe the workflow in a way that sets expectations: design what you want to wear. The audience is a patternmaker, a home sewist working from their own measurements, or a small studio that has outgrown paper drafting and does not want to buy a commercial licence. What it replaces is manual drafting on paper, and what it does not replace is the fitting, draping and cutting floor work that surrounds a pattern file.

One pattern, two kinds of measurement file

The mechanism that separates Seamly2D from a plain vector drawing program is its handling of measurements. Each pattern can read multi-size measurement files for standardized sizes and read individual measurement files for custom fit. In other words, a single drafted piece is not tied to one body or one size chart. A multi-size file carries a range of values that the pattern refers to by size, so the same draft can be graded. An individual file carries one set of values, so the same draft can be re-fitted to one person. The project description puts this in plain terms, and the community forum is the stated route for people who are not sure how this works. Two consequences follow for an engineer reading the code and for a designer using the tool. First, the measurement file is an interface boundary, not a UI detail, so swapping a size range for a custom body does not redraw the pattern. Second, the choice of file format is where interoperability with other tools is won or lost, and the project page does not document that format, so anyone planning to feed Seamly2D files from an existing CAD setup has a gap to close before committing.

The build tree, the Qt layer and the third party parsers

Based on the repository layout, the source is a classic qmake project rather than a CMake one: the top level holds Seamly2D.pro and common.pri, with src/, share/, dist/, docs/, scripts/ and out/ directories alongside a Doxyfile, which points to the Doxygen documentation the project marks as current. The presence of an out/ directory is a build artifact location, and scripts/ at the top level is where release and packaging helpers live. The dependency list in the project page is more informative than the directory names. QMuParser is used under the Simplified BSD licence, which suggests mathematical expression parsing for formulas rather than a hand written evaluator. xerces-c appears under the Apache License, Version 2.0, and an XML parser is what you would expect underneath document files that carry measurements, formulas and piece geometry. VPropertyExplorer is listed under LGPLv2.1, which is the pattern for a Qt property browser, the kind of widget that lets a designer walk and edit the variables behind a piece. The whole set is consistent with a desktop application that stores its work as a structured document rather than as a flat drawing.

Getting the right binary for your machine

The project publishes binaries rather than asking everyone to compile a C++ and Qt5 tree first, and the download table in the project page maps each artifact to the hardware it targets. The release assets are served from the latest GitHub release, and the Windows builds come in a 64-bit Intel or AMD flavour and a separate ARM 64bit flavour, while the macOS archive covers Apple Silicon or Intel. On Linux there are two routes: an AppImage for Intel or AMD 64bit, and a Flatpak listed on Flathub. The release assets resolve like this, and each is a plain download link rather than a command you run:

bash
https://github.com/FashionFreedom/Seamly2D/releases/latest/download/Seamly2D-windows.zip
https://github.com/FashionFreedom/Seamly2D/releases/latest/download/Seamly2D-win-arm64.zip
https://github.com/FashionFreedom/Seamly2D/releases/latest/download/Seamly2D-macos.zip
https://github.com/FashionFreedom/Seamly2D/releases/latest/download/Seamly2D-x86_64.AppImage

On Windows the zip unpacks to a 64-bit program for Intel or AMD, with a separate archive for Windows 11 on ARM. The macOS archive is the same download for Apple Silicon or Intel, and the supported system versions are macOS 13 Ventura, macOS 14 Sonoma, macOS 15 Sequoia and macOS 26 Tahoe. The AppImage is the self contained Linux route, and the project page lists its supported distributions as Debian 12 and later, Ubuntu 22.04 and later, ArchLinux and Manjaro. If you prefer a package manager on Linux, the Flatpak is published under the identifier io.seamly.seamly2d on Flathub, and the table describes it as available everywhere Flathub is supported. The project page also points to https://seamly.io for downloads and the discourse forum at https://forum.seamly.io for questions.

Where the documentation is thin, and where the tool will frustrate you

The project page lists its own documentation with honest status markers, and those markers are the most useful admission on the page. The website and the user forum are marked active and current. The user wiki manual is marked needs updating, and the developer wiki carries the same warning. That single pair of labels tells you the software and its community are moving faster than its written guidance, which matters for exactly the two things a new user needs most: how to structure a measurement file, and how to set up a build from source. The project page does not document the measurement file format or the pattern file format, so a designer arriving with a file from another system has no published contract to code against. There is also no build-from-source walkthrough in the project page, only a Developer README file reference and the qmake project files, so compiling remains a step you take with the developer documentation open. A second limitation is the shape of the platform list. Windows 10 and 11, four named macOS releases, and most current Linux distributions covers a great deal of ground, but there is no listed build for mobile platforms, for older Windows releases, or for Linux distributions older than Debian 12 and Ubuntu 22.04.

Why a multi-size file changes the drafting workflow

The obvious alternative for a patternmaker is commercial pattern software sold on a per-seat or subscription licence, and the difference in approach is the point rather than the feature list. Commercial suites are usually licensed per user and ship a single vendor roadmap, so a studio either commits to that roadmap or to a second, unrelated tool for measurement management. Seamly2D takes the opposite route: the pattern document and the measurement file are separate, and the measurement file can be either a size range or a single individual. That separation is what lets a size-graded draft and a custom-fit draft share one piece of geometry, and it also means a studio can keep its own measurement records in a format the tool reads without asking a vendor to store them. The cost of that choice is visible. There is no stated compatibility with commercial pattern file formats, so moving a library of existing drafts across is not something the project page promises. And the licensing terms are the other side of the trade. Seamly2D is released under GPLv3, with QMuParser under the Simplified BSD licence, VPropertyExplorer under LGPLv2.1 and xerces-c under the Apache License, Version 2.0. A studio that ships the application itself has obligations under those terms; a studio that only draws patterns with it has a different, lighter set of questions. This is a licensing note, not legal advice, and the GPLv3 text is the authority for the actual conditions.

Release cadence, versioning and what a fresh checkout will look like

The repository is not archived, and the last push was on 2026-10-19. The recent release tags follow a dated scheme with three releases in the second half of October alone: v2026.10.5.154, v2026.10.12.200 and v2026.10.19.145. The version string is built from the date of the build, which is a useful signal in a tool where a pattern file written by one build has to be opened by another. The default branch is develop rather than master, so a fresh clone gives you the integration branch, and a released binary corresponds to a tagged build rather than to the tip of that branch. A weekly build workflow is referenced from the project page through a continuous integration status badge, which points to a pipeline that runs on a schedule in addition to the dated releases. For an engineer evaluating the project, the practical implication is that installing the latest release is a lower risk than building from the default branch, because the released artifact is the one the project has tagged and tested against a known version. The upgrade cost for an existing user is a download and a check that old patterns still open, since the version number itself will tell you which build produced a file.

Editorial conclusion

Seamly2D fits an independent patternmaker or a small studio that wants a drafting environment without a commercial licence, and it fits anyone who needs one pattern to serve both a graded size range and one specific body. It is the wrong tool for a team that needs a measured, documented production pipeline, because the user manual is flagged as needing updates and the measurement file format is not explained on the project page. Before committing, download the build for your platform, check that a measurement file you already own can be loaded, and read the manual for your own workflow rather than assuming a format match.

Frequently asked questions

Is Seamly2D free to use for commercial garment work?

Seamly2D is released under the GPLv3 licence and the project page points to the GNU licence text for the actual terms. Other bundled components carry their own terms: QMuParser under the Simplified BSD licence, VPropertyExplorer under LGPLv2.1 and xerces-c under the Apache License, Version 2.0. This is a licensing note rather than legal advice, so check the GPLv3 text against your own distribution model.

Can Seamly2D use my own measurements instead of a standard size chart?

Yes. The project states that each Seamly2D pattern can read multi-size measurement files for standardized sizes and read individual measurement files for custom fit. The measurement file is therefore a separate input you can swap, and the same pattern can be reused for a size range or for one body.

Which platforms does Seamly2D build for?

Windows 10 and 11 at 64-bit with a separate ARM 64bit build, macOS 13 Ventura through macOS 26 Tahoe on Apple Silicon or Intel, and Linux through an AppImage or a Flatpak on Flathub. The Linux AppImage targets Debian 12 or later, Ubuntu 22.04 or later, ArchLinux and Manjaro.

How current is Seamly2D, and can I build it from source?

The repository is not archived and the last push was on 2026-10-19, with dated release tags such as v2026.10.19.145 and v2026.10.12.200. The source is a qmake project with Seamly2D.pro and common.pri at the top level, but the project page does not give a build walkthrough, so a developer README and the developer wiki are the starting points.

Official sources

  1. FashionFreedom/Seamly2D on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/fashionfreedom-seamly2d.svg)](https://hysenlabs.com/projects/fashionfreedom-seamly2d)

Was this useful?