FeatherPad is a plain-text editor that treats tabs and windows as one workspace
Lightweight Qt Plain-Text Editor for Linux
At a glance
- What is it?
- FeatherPad is a lightweight Qt plain-text editor for Linux, independent of any desktop environment, with tab detachment, X11 virtual desktop awareness, a per-tab search bar, column selection, session management, side-pane mode, auto-saving and Hunspell spell checking.
- Who is it for?
- FeatherPad fits a Linux user who wants to edit configuration files, scripts and notes in a small native application that does not demand a specific desktop environment and that remembers its session between runs. It is the wrong tool if you need a modern editor with language servers, debugging and version control integration, and the wrong tool if your work is in files that need structured editing, since it is a plain-text editor by design.
- 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 last received commits 1 day ago.
- 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
An editor that does not care which desktop you run
FeatherPad is a lightweight Qt plain-text editor for Linux, written by Pedram Pourang, also known as Tsu Jan. The phrase that matters in the README is that it is independent of any desktop environment.
That is a design constraint rather than a marketing claim, and it explains a lot of the feature list. An editor that binds to GNOME, KDE or XFCE inherits that environment's file dialogs, its notification style and its theme handling, and an editor that tries to avoid that has to build its own equivalents and keep them out of the way. FeatherPad's approach is to be a plain Qt application that behaves predictably everywhere.
The build is a source build. The repository has a CMakeLists.txt, a cmake directory, and a featherpad directory with the sources, and the README points at an INSTALL file for instructions on compilation, installation and translation. There is no package mentioned and no binary release process described, so the practical adoption path is compiling it or getting a distribution package from your own package manager.
The history is worth one line because it explains the feature set. FeatherPad was written in GTK+ at first, then ported to Qt with more features. So the application carries the accumulated behaviour of two toolkits, which is a reasonable explanation for a feature list that mixes text editing basics with things like X11 virtual desktop awareness.
Tabs that detach into windows, and the X11 desktop awareness
The first feature in the list is drag-and-drop support, including tab detachment and attachment, and the second is X11 virtual desktop awareness, which the README describes as using tabs on the current desktop but opening a new window on another.
That second item is the one that makes the first interesting. On a multi-desktop X11 setup, dragging a tab to another desktop does not just move a window, it opens a new window there, so your open documents follow you across virtual desktops. The other direction, attachment, lets you drop that window back into a tab. This is a small feature that only makes sense on the kind of multi-desktop environment that Linux users with several workspaces actually run, and it is the clearest sign of what the editor is for: a personal, keyboard-driven writing surface rather than an IDE.
The search side follows the same philosophy. There is an optionally permanent search bar with a different search entry for each tab, so the search term you used in one document is not the one that greys out the next, and matches are highlighted instantly as you search rather than after you press enter.
There is also a docked window for text replacement, which is a find-and-replace panel that is a separate dock rather than a modal dialog, and support for showing line numbers and jumping to a specific line.
The editing features that are not about the keyboard
Several of the listed features are about the display rather than the editing, and they are the ones that separate a plain text editor from a minimal one.
Optional selection highlighting keeps the current selection visible after you click elsewhere, which matters in a plain editor with no syntax colours to anchor the eye. Column selection is a rectangular selection mode, useful for editing aligned text, and text zooming changes the font size, which is the older way of getting more text on screen without a smaller font. Support for opening URLs with the appropriate application is there so a link in a text file is clickable.
Syntax highlighting for common programming languages is included, which is the one place the editor reaches toward development work, and spell checking with Hunspell is a separate facility, the kind that makes the editor usable for prose rather than only for code.
Session management is the feature that determines whether you come back to a set of open files, and auto-saving is the one that determines whether you lose work. The README describes appropriate but non-interrupting prompts as a feature in its own right, which is a slightly unusual way to list it and a good one, since a plain-text editor that interrupts you constantly is unusable for the quick edits it is meant for.
Side-pane mode, and what the screenshots show
Side-pane mode is listed as a feature, and the README includes two screenshots that show what the application actually looks like: one named Tabs and one named Side-Pane.
The README explains why the screenshots look the way they do. The active Qt widget style determines the look and feel of every Qt application, and the images were taken with a Kvantum theme and the dark color scheme of FeatherPad. That is a useful warning for anyone comparing the screenshots to their own desktop, because a plain Qt application on a system with a different style or a light system theme will look different.
The screenshots themselves are the fastest way to understand the side-pane mode, since it is a layout choice rather than a feature with a flag. In a windowed editor the file list, if shown at all, would sit above or below the text. Side-pane mode puts it beside the text instead, which is the arrangement people coming from a browser tabbed interface expect, and it is the mode the screenshots were taken to demonstrate.
The repository also carries a screenshots directory with the images, and the project publishes news in a NEWS file and a ChangeLog, which is a useful convention to check when you want to know when a feature landed.
Portability beyond Linux, courtesy of contributors
The credits section of the README is unusual and informative. Haiku OS support was added by khallebal, macOS support was added by Pavel Shliak, and OS/2 support was added by josch1710.
Each of those is a port of a Linux Qt application to a system its author cared about, and the fact that they exist says something about the size of the barrier. A Qt application that is written against the toolkit rather than against a Linux-specific library is portable to platforms where Qt runs, and the three systems named here, Haiku OS, macOS and OS/2, are three very different targets.
The repository layout supports the idea of a core application plus platform notes, with a README.md, a separate README_OS2.md, a COPYING file for the GPL-3.0 licence, the INSTALL file for compilation and translation instructions, and a featherpad directory for the sources. The presence of a dedicated OS/2 readme is the clearest evidence that the project treats ports as first class rather than as an accident.
The licence is GPL-3.0, and the COPYING file at the root is the reference.
Where FeatherPad is the wrong choice
The first limit is that it is a plain-text editor, and the word plain is doing the work. There is no language server, no debugger, no version control integration, no refactoring and no project model. If your work is application development, the tools you need are in a different class of program, and FeatherPad will not grow into them.
The second is the platform. The editor is described as a lightweight plain-text editor for Linux, and the other platforms named in the credits are ports contributed by individuals rather than supported targets. macOS and OS/2 support exists because someone cared enough to do it, and a contributor's port is not the same as a maintained one, so the Linux build is the one to plan around.
The third is the distribution. The README describes compilation and installation rather than a package, and there is no binary release mentioned, which means adopting it means building it or relying on your distribution to package it. For a project with a long history and a modest feature set, that is a normal arrangement, but it is friction that a packaged editor does not have.
The fourth is the scope of the extras. The syntax highlighting covers common programming languages, and the spell checking needs Hunspell. Neither is a deep implementation, and the README itself points at the settings, the menus and actual use for the remaining features, which is a polite way of saying the feature list is not exhaustive and the details live in the application.
Release rhythm and the state of the project
The release history is unhurried. The versions are 1.6.4 from 2026-06-22, 1.6.3 from 2026-01-02 and 1.6.2 from 2025-04-28, and the last push to the repository was on 2026-09-26 with the repository not archived.
The gaps between those releases, five months, eleven months and then five months, are the pattern of a desktop application maintained by its author rather than by a team with a release train. For a text editor that is not a problem, since the rate of change in a plain-text editor is low and a version that is a year old is usually a version that works.
The primary language of the repository is C++, and the build is CMake based with a cmake directory alongside the top-level CMakeLists.txt, which is the standard modern layout for a Qt project. The source lives under featherpad, and the screenshots under a screenshots directory.
The homepage given for the project is the repository itself, and the README closes by saying that FeatherPad was written in GTK+ at first and then ported to Qt with more features. That is the whole summary of the project in one sentence: a small, long-lived editor that has accumulated features rather than reinvented itself, and that has been made portable by people other than its author.
Editorial conclusion
FeatherPad fits a Linux user who wants to edit configuration files, scripts and notes in a small native application that does not demand a specific desktop environment and that remembers its session between runs. It is the wrong tool if you need a modern editor with language servers, debugging and version control integration, and the wrong tool if your work is in files that need structured editing, since it is a plain-text editor by design. Before you build on it, check three things: that the Qt toolchain you have matches what the INSTALL file in the repository expects, since the project is a source build rather than a package, that the spell checking feature has Hunspell available, and that the behaviour you care about on a multi-desktop X11 setup is the tab and window arrangement the virtual desktop awareness describes. The code is GPL-3.0, the current release is 1.6.4 from 2026-06-22, and the last push was on 2026-09-26.
Frequently asked questions
What is FeatherPad and who writes it?
FeatherPad is a lightweight Qt plain-text editor for Linux, written by Pedram Pourang, also known as Tsu Jan. It is independent of any desktop environment and was originally written in GTK+ before being ported to Qt with more features.
What does X11 virtual desktop awareness mean in FeatherPad?
The editor uses tabs on the current virtual desktop but opens a new window when a tab is dragged to another one, so open documents follow you across desktops. The tab can be attached back into a window when you return.
Which platforms does FeatherPad run on?
Linux is the primary target, and the credits name Haiku OS support added by khallebal, macOS support added by Pavel Shliak, and OS/2 support added by josch1710. There is a separate README_OS2.md in the repository.
How do I build FeatherPad?
It is a source build. The repository has a CMakeLists.txt and a cmake directory, and the README points at the INSTALL file for instructions on compilation, installation and translation. There is no package described in the README.
What licence is FeatherPad released under?
GPL-3.0, with the COPYING file at the root of the repository. The current release is 1.6.4 from 2026-06-22 and the last push to the repository was on 2026-09-26.
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/tsujan-featherpad)Was this useful?