FreeMind
FreeMind is a free and open-source mind mapping application written in Java, designed to enable users to visually organize ideas, tasks, and information through hierarchical, tree-structured diagrams.[1] First released in version 0.0.3 on July 9, 2000, it evolved into a productivity tool supporting features like one-click node folding and unfolding, hyperlink navigation, multiline text in nodes, customizable icons, colors, and fonts, as well as export options to HTML and integration of a spell checker.[2] Licensed under the GNU General Public License version 2 or later, FreeMind runs cross-platform on Windows, macOS, and Linux, and has achieved over 6 million downloads of its stable version 1.0.1 as of November 2023.[1][3] The software's development began as a hierarchical editor and progressed through modular enhancements, with its stable release 1.0.0 arriving on October 19, 2013, followed by a bug-fix update to 1.0.1 on April 12, 2014.[2] Key functionalities include smart drag-and-drop for reorganizing nodes, undo/redo capabilities, and support for rich text formatting in later versions like 0.9.0, making it suitable for applications such as project planning, essay outlining, and building knowledge bases.[3] It was a finalist in the 2009 SourceForge Community Choice Award in the category "Most likely to change the way you do everything", highlighting its impact in creative and organizational workflows.[3] Although FreeMind's core development halted after 2014, with no further official releases beyond beta versions in 2015 and 2016, its legacy persists through community forks, notably Freeplane, which continues active enhancement while maintaining compatibility with FreeMind's .mm file format.[2][4] This fork addresses ongoing needs for modern features, ensuring the tool's concepts remain relevant for mind mapping enthusiasts and professionals.[5]History
Development
FreeMind was initially created by Jörg Müller in 2000 as a Java-based mind mapping application aimed at enabling collaborative sharing of ideas through visual, tree-structured representations of knowledge.[6] Development began with initial releases starting with version 0.0.3 on July 9, 2000.[2] Müller developed the project up to its early versions, establishing its core architecture, user interface, and initial features such as modular design and hyperlinking between maps.[7] The software was hosted on SourceForge as an open-source project starting in 2004, facilitating community contributions and version control through CVS and later Git repositories.[2][8][9] Several key individuals substantially advanced FreeMind's development over the years. Daniel Polansky developed versions 0.5 and 0.6, contributing to user interface enhancements and core functionality, along with documentation efforts.[7] Petr Novak contributed significantly to version 0.6.5, including enhancements to node handling and export features.[7] Christian Foltin served as project director, driving major enhancements in scripting and add-on support, and Dimitri Polivaev provided significant contributions to advanced features like undo/redo operations and branch encryption.[7] Development was coordinated via SourceForge's project pages, forums, and wiki, with bugs tracked and enhancements requested through dedicated channels.[8] Major milestones in the 2000s and 2010s emphasized productivity, including the addition of timestamps for node modifications, export to image formats, user-defined attributes, and WYSIWYG rich text editing in the early 2010s.[2] By the mid-2010s, the project had matured into a stable tool, with its last official update in 2014, after which active development slowed due to limited contributor availability and the software's established functionality.[10] Freeplane, which had been forked in 2008 under Dimitri Polivaev's leadership, continued enhancements while maintaining compatibility with FreeMind's file format.[10][11]Releases
Version 0.7.1, issued on February 15, 2004, was an early stable release that established the core mind mapping framework with features such as auto-saving and graphical links between nodes.[12] Subsequent major stable releases included version 1.0.0 on October 19, 2013, which introduced key enhancements like node clones for synchronized editing across duplicates, real-time collaboration tools allowing multiple users to edit shared maps, and an integrated spell checker for input validation.[13] This was followed by version 1.0.1 on April 12, 2014, serving as the final stable release with primarily bug fixes and minor stability improvements over 1.0.0. Beta releases continued with version 1.1.0 Beta 1 on June 22, 2015, and Beta 2 on February 7, 2016, incorporating experimental features such as HiDPI support for higher-resolution displays and enhanced node editing tools including copy-paste for graphical links.[14][15][16] Regarding adoption, version 1.0.1 achieved approximately 6 million downloads from its 2014 release through 2023, with SourceForge data indicating around 6,000 weekly downloads as of late 2023.[1]Features
Mind Mapping Capabilities
FreeMind employs a hierarchical node structure to facilitate the creation and organization of mind maps, beginning with a central root node that branches into sub-nodes representing related ideas. This radial layout supports brainstorming and idea capture by allowing users to expand concepts organically, with each node serving as a container for text, links, or further branches, enabling the visualization of complex relationships in a tree-like format.[17] The software provides visual navigation through folding and unfolding of branches, allowing users to collapse or expand subtrees with a single click or via the mouse wheel while holding the Alt key. This feature streamlines the viewing of large mind maps by hiding or revealing details on demand, maintaining focus on specific sections without cluttering the display.[17][18] To enhance visual representation and categorization, FreeMind supports various node attributes, including built-in and user-defined icons that can be applied to denote priorities or statuses, such as a bomb icon for urgent tasks. Nodes can be customized with distinct colors for backgrounds and edges using the Node Color tool (Alt+C), while fonts offer options for size, boldness, italics, and combinations thereof via the Format menu. Additionally, clouds provide a graphical enclosure around one or multiple nodes and their subtrees, available in different background colors to highlight groups or themes, accessible through the Style submenu.[18][19][20] For efficient organization, FreeMind includes a built-in search function that scans node text, notes, and attributes, highlighting matches one by one and automatically unfolding only the relevant branch to reveal the location quickly. Advanced search options in later versions integrate find-and-replace with filtering by dates, icons, or custom attributes, further aiding in locating and managing content within expansive maps.[17][20]Editing and Navigation
FreeMind provides intuitive editing tools that facilitate the modification of mind maps through smart drag-and-drop functionality. Users can rearrange nodes by dragging them to new positions, where dropping in the outer area creates a child node and dropping in the top area inserts a sibling node; additionally, holding Ctrl during drag enables copying instead of moving.[21] This drag-and-drop mechanism also supports creating graphical links between non-adjacent nodes by right-clicking and dragging from one node to another, visually connecting related ideas without altering the hierarchical structure.[21] The software includes robust undo and redo capabilities to manage editing sessions effectively. Changes such as node additions, deletions, or rearrangements can be reversed using the Edit > Undo menu option or the corresponding keyboard shortcut, with redo available to restore undone actions; the number of undo levels is configurable via Tools > Preferences to prevent data loss during complex modifications.[21] Multiline node editing enhances detailed text input within individual nodes. Activating the long node editor with Alt+Enter allows users to insert new lines using Ctrl+Enter, accommodating extensive content such as descriptions or lists, while graphical links can be added via Ctrl+Insert or the context menu to interconnect nodes visually.[21][21] Navigation in FreeMind is streamlined through keyboard shortcuts and mouse interactions for efficient traversal of mind maps. Arrow keys move selection up, down, left, or right among nodes, Escape returns to the root node, and Ctrl+Up/Down repositions selected nodes; mouse interactions include clicking to select or edit nodes (F2 to enter edit mode) and right-clicking for context menus.[22][21] Zoom and pan features support viewing large maps: zoom in/out via Alt+Down/Up or Ctrl+mouse wheel, while panning is achieved by dragging the map background or using Shift+mouse wheel for horizontal/vertical scrolling.[22][21] Key keyboard shortcuts for editing and navigation include:- Editing: Ctrl+X (cut), Ctrl+C (copy), Ctrl+V (paste), F2 (edit node), Alt+Enter (long/multiline editor), Ctrl+J (join nodes).
- Navigation and Movement: Up/Down/Left/Right arrows (select node), Ctrl+Up/Down (move node), Ctrl+Enter (follow link), Space (toggle fold/unfold).
- Zoom and Pan: Alt+Down (zoom in), Alt+Up (zoom out), mouse wheel with Ctrl (zoom), drag background (pan).[22][21]
Export and Import
FreeMind provides robust export capabilities to facilitate sharing and integration of mind maps with other applications and media. Users can export maps or selected branches to HTML or XHTML formats, enabling web-based viewing with interactive folding and unfolding features preserved through JavaScript or clickable image maps.[21] For printing and document distribution, exports to PDF maintain the visual structure of the mind map, while OpenDocument (ODT) format supports seamless integration with office suites like OpenOffice for further editing.[23] Static visual representations are available via image exports in PNG, JPEG, or SVG formats, suitable for embedding in presentations or reports.[23] On the import side, FreeMind supports XML-based formats natively, allowing users to load .mm files directly or convert from compatible mind mapping tools such as MindManager (versions 4.0 and X5) using provided XSLT scripts for interoperability.[24] Additional import options include folder structures from the local file system, which generate hierarchical nodes representing directories and subdirectories, and Internet Explorer favorites for quick integration of bookmark trees.[21] The software's file mode enhances import and organization by treating the file system as a navigable mind map, where users can browse, open, and manage multiple maps in a hierarchical explorer-like interface.[21] Furthermore, hyperlinks embedded within nodes—supporting both web URLs and local files—are retained during exports, ensuring functional navigation in output formats like HTML and PDF.[21]Technical Details
Platform Support
FreeMind is a cross-platform application available on Microsoft Windows, macOS, Linux distributions such as Ubuntu, Debian, and SuSE, as well as other operating systems that support the Java Runtime Environment (JRE).[25] It also runs on less common platforms like eComStation through generic binaries.[25] The software's Java-based architecture ensures portability across these platforms without the need for native recompilation, allowing it to execute on systems with JRE versions 1.6 through 11; however, compatibility with Java 17 and later is limited in official releases and may require repackaged versions or modifications.[25] Installation options include platform-specific installers for Windows, macOS, and Linux, which bundle necessary components, or generic ZIP archives containing executable JAR files that can be run directly via Java.[25] For macOS versions 10.8 and later, users may encounter gatekeeper restrictions for unsigned applications, resolvable by right-clicking the installer and selecting "Open."[25] Certain installers, such as the Windows version, embed the JRE to simplify setup and avoid separate Java installations.[25] A repackaged edition released via the Microsoft Store in 2025 further eases deployment on Windows by including an updated Java Runtime (version 17.0.15 as of May 2025), eliminating the need for manual JRE configuration.[26] Performance depends on the underlying Java environment and system resources.File Format and Storage
FreeMind stores mind maps in its native .mm file format, which is based on XML to enable hierarchical representation of nodes, their attributes, and interconnections such as links and edges. This XML structure facilitates easy parsing, editing, and portability, as the files are human-readable plain text without an XML declaration by default, though any present declaration is ignored during import. The format supports the storage of complex mind map elements, including text content, visual styles, and structural metadata, making it suitable for both small diagrams and large-scale knowledge bases.[27] The XML schema, defined in freemind.xsd and available in the project's source code repository, organizes data under a root<map> element that specifies the version (e.g., 0.7.1 or later up to 1.0.1). Child elements primarily consist of <node> tags, each representing a mind map node with attributes like ID for unique identification, TEXT for the node's label, LINK for hyperlinks, FOLDED to indicate branch folding states (true or false), COLOR for node coloring, and POSITION for left or right placement relative to the root. Nested <node> elements create the hierarchy, while <edge> elements define connections between nodes with attributes such as STYLE, COLOR, and WIDTH for visual rendering. Additional elements include <font> for typography details (e.g., NAME, SIZE, BOLD, ITALIC), <icon> for built-in symbols (with BUILTIN attribute since version 0.6.7), <cloud> for background shapes (with COLOR since 0.7.1), and <arrowlink> for directed links (with attributes like DESTINATION, COLOR, and arrow styles since 0.7.1). These components allow embedded styles and attributes directly within the XML, avoiding external dependencies and ensuring self-contained files.[27]
The core format has remained stable for backward compatibility, with minimal changes from early versions up to FreeMind 0.6.5, and subsequent extensions in 0.9.0 and 1.0.x releases documented in the schema to support older .mm files from pre-1.0 eras without loss of basic functionality. This compatibility ensures that maps created in legacy versions, such as those predating 1.0, can be loaded and edited in later releases, preserving node hierarchies, folding states, and core attributes across updates.[27]