File: README.md
massCode
Support
massCode is free and open source. But building and maintaining a quality tool takes time. Your support helps keep development going and new features coming.
About
Originally a snippet manager, massCode now brings together snippets, notes, HTTP requests, calculations, drawings, and developer tools in one desktop app, so everyday work stays in one place.
Features
Code Snippets
Use massCode as a focused snippet workspace with multi-level folders, tags, and fragments for organizing reusable code across projects and languages.
- 160+ syntax grammars out of the box (600+ supported via
.tmLanguage) - Integrated Prettier for code formatting
- Real-time HTML & CSS preview for quick prototyping
- JSON Visualizer for exploring nested structures as interactive graphs
- Export snippets as polished images with customizable themes
Notes
Write longer markdown documents right next to your snippets: project docs, drafts, research notes, and personal knowledge bases.
- Task notes with status, priority, due dates, and Today / Upcoming / Completed views
- Completed task cleanup and auto-clean scheduling
- Dashboard with activity overview, recent notes, top linked notes, and a notes graph preview
- Editor, Live Preview, and Preview modes
- Editable markdown tables with row and column controls
- Fullscreen notes graph for exploring internal links between notes
- Integrated Mermaid diagrams
- Mind maps generated from markdown heading structure
- Fullscreen presentation mode for demos and meetings
- Callout blocks and image embedding
HTTP Client
Keep API requests close to your code snippets and project notes with a lightweight HTTP client built into massCode.
- Organize requests with folders and custom folder icons
- Use environments and
{{variables}}for local, staging, and production APIs - Edit params, headers, body, auth, and markdown descriptions
- Preview requests as raw HTTP or cURL before sending
- Inspect response status, time, size, body, and headers
- Send the current request with Cmd+Enter on macOS or Ctrl+Enter on Windows and Linux
Math Notebook
A calculator-style notebook for natural-language calculations, conversions, and date math without leaving your workflow.
- Arithmetic, percentages, unit conversions, and date/time math
- 166+ fiat currencies, 21 cryptocurrencies with live exchange rates
- Variables, functions, and aggregates for quick iterative calculations
- Finance calculations (compound interest, ROI, loan repayment)
Drawings
Sketch diagrams, wireframes, and whiteboard ideas on an Excalidraw-powered canvas next to your snippets and notes.
- Searchable list of drawings with keyboard navigation
- Pan and zoom remembered per drawing, with fit-to-content to recenter
- Export drawings as images
- Embed drawings directly in your markdown notes
Developer Tools
Built-in utilities for the small tasks that usually send you to a browser tab:
- Compare: JSON Diff
- Text: Case Converter, Slug Generator, URL Parser, Line Break Normalizer
- Crypto: Hash/HMAC Generator, Password Generator, UUID
- Encoders: URL, Base64, JSON to TOML/XML/YAML, Color Converter
- Generators: JSON Generator, Lorem Ipsum
Command Palette
Jump to spaces, snippets, notes, HTTP requests, and common actions from anywhere with a keyboard-first command palette.
- Open with Cmd+P on macOS or Ctrl+P on Windows and Linux
- Search across snippets, notes, HTTP requests, spaces, and commands
- Run create actions for snippets, notes, HTTP requests, and folders
- Scope search to a space with
@or open command mode with>
Imports
Bring existing work into your vault with preview-first imports for snippets, notes, and API collections.
- Import snippets from VS Code, Raycast, SnippetsLab, and public GitHub Gists
- Import markdown notes from Obsidian folders
- Import HTTP collections from OpenAPI, Postman, and Bruno
- Review detected items, folders, tags, environments, and warnings before writing anything
Browser Clipper
Save web content from Chrome, Firefox, or Safari into the local massCode app.
- Install the Chrome version from the Chrome Web Store
- Save selected code as snippets
- Save selected text or readable page content as notes
- Save pages or links as HTTP
GETrequests - Connect through the local Integration API with an API token
Markdown Vault
Your snippets, notes, and HTTP requests live as plain .md files on disk with frontmatter metadata, so the data stays readable and portable.
- Git-friendly - track changes and sync via any Git remote
- Cloud sync - works with iCloud, Dropbox, Google Drive, Syncthing
- Live sync - massCode watches the vault and picks up external changes in real time
- No vendor lock-in - your data is always yours
Custom Themes
Customize the app UI and editor syntax highlighting with JSON theme files. Supports light and dark themes with live reload. See the theme docs.
Build Locally
Instructions for building from source
Prerequisites
- Node.js (>=20.16.0)
- pnpm (>= 9.0.0)
Install Dependencies
pnpm installBuild
To build for current platform:
pnpm buildTo build for a specific platform:
pnpm build:mac # macOS
pnpm build:win # Windows
pnpm build:linux # LinuxDevelopment
To run in development mode:
pnpm devFollow
- News and updates on X
- Discussions
License
Copyright (c) 2019-present, Anton Reshetov.
File: docs/website/download/index.md
title: Download massCode
Select your platform
Free. No account required. Your data stays on your machine.
File: docs/website/download/latest-release.md
title: Latest Release
v4.6.0
Math Notebook
A new feature โ a calculator notepad right inside massCode, inspired by Numi. Write expressions in natural language and get instant results on each line.
Features
- Arithmetic, percentages, powers, math functions (`sqrt`, `sin`, `log`...)
- Natural syntax: `15% of 200`, `5% off 300`, `sqrt 16`
- Variables & aggregates: `price = $50 + $10`, `sum`, `average`, `prev`
- Unit conversion: length, weight, temperature, time, area, volume, data, CSS (`px`, `pt`, `em`)
- 28 currencies with live rates: `$100 to RUB`, `โฌ50 + ยฃ20`
- Date & time: `now`, `time in Tokyo`, `tomorrow + 2 weeks`
- Syntax highlighting, sheet management, click-to-copy results, total
What's Changed
- feat: add math notebook by @antonreshetov in https://github.com/massCodeIO/massCode/pull/677
- fix(editor): use configured tab size for block indentation by @antonreshetov in https://github.com/massCodeIO/massCode/pull/678
- fix(editor): prevent md-engine text overwrite during rapid typing by @antonreshetov in https://github.com/massCodeIO/massCode/pull/679
Full Changelog: https://github.com/massCodeIO/massCode/compare/v4.5.0...v4.6.0
File: docs/website/donate/index.md
title: Support massCode
Support massCode development
::: info Supporter license
After donating, email [email protected] with proof of your donation and I will send you a supporter license key. Enter it in Preferences > Supporter to unlock supporter status and remove the "Unsponsored" label from the lower-left corner of the space rail. Your email is the license identifier.
This applies to past donations too. If you have donated before, email me with proof and I will issue your key.
:::
massCode is free and open source. But building and maintaining a quality tool takes time. Your support helps keep development going and new features coming.
Become a backer or sponsor on Open Collective
One-time donation via Gumroad (Visa, Mastercard, etc.)
One-time donation via PayPal
One-time donation via Crypto
TTTjJFcHwX1ZwjtnotAz5yPkyE9G88oXbm
USDT - TRC20
File: docs/website/documentation/code/description.md
title: Snippet Descriptions
Description
Descriptions give extra context when the code alone is not enough. Use them for usage notes, caveats, links, or a short explanation of what the snippet does.
Each snippet has a dedicated "Description" area. By default, the field stays hidden until the snippet has a description.
Adding Description
Select "File" > "Add Description" from the menu bar.
File: docs/website/documentation/code/folders.md
title: Code Folders
Folders
Folders help you organize snippets by project, topic, language, or any structure that fits your workflow. When you select a folder in the sidebar, massCode shows snippets from that folder and all of its subfolders in the second column.
Adding a Folder
Use one of these methods:
- Select "File" > "New Folder" from the menu bar.
- Click the "+" button next to "FOLDERS" in the library.
- Press Shift+Cmd+N on macOS or Shift+Ctrl+N on Windows or Linux.
Moving to Folder
Drag one folder onto another to create a nested folder structure.
Renaming and Deleting
Right-click the folder and choose "Rename" or "Delete".
::: warning
Deleting a folder moves all its snippets and subfolders to "Inbox".
:::
Set the Default Folder Language
Set a default language when most snippets in a folder use the same syntax.
Right-click the folder and choose "Default Language".
Setting a Folder Icon
Folder icons help large libraries stay easier to scan. Right-click a folder and choose Set Icon. Use the Icons tab to search the built-in Material and Lucide icon collections.
To restore the default folder icon, right-click the folder and choose Remove Icon.
Emoji and Uploaded Images
The icon picker also supports:
- Emoji - search the Unicode emoji catalog. Emoji appearance follows your operating system.
- Upload - choose or drop a JPG or PNG image up to 10 MB, review the preview, then click Use image.
Uploaded images are cropped from the center, resized to 128ร128, and saved as PNG.
Uploaded icons are stored as a hidden .icon.png file inside the folder, so they stay with the folder when you back up or sync your Markdown Vault.
File: docs/website/documentation/code/fragments.md
title: Snippet Fragments
Fragments
Fragments are tabs inside a snippet. Use them when one snippet needs multiple related versions, files, or languages in one place.
Adding a Fragment
Use one of these methods:
- Select "File" > "New Fragment" from the menu bar
- Click "+" button on the top right corner of the editor.
- Press Cmd+T on macOS or Ctrl+T on Windows or Linux.
Renaming and Deleting
Right-click the fragment tab and choose "Rename" or "Delete".
::: warning
Deleting a fragment removes it permanently.
:::
File: docs/website/documentation/code/index.md
title: Code
Code
Code is the snippet library space inside massCode. Use it to keep reusable examples, commands, templates, configuration fragments, and reference code close to your everyday development work.
Access Code from the Code icon in the Space rail. The layout has three columns: the Library on the left, the snippet list in the middle, and the editor on the right.
When to use Code
Use Code when you want a searchable local library for small pieces of reusable code.
- save commands, examples, templates, and configuration snippets
- keep implementation notes next to the code they explain
- organize snippets by project, topic, or language
- store related files or variants inside one snippet
- format supported languages with Prettier
- preview small HTML/CSS ideas or visualize JSON payloads
Creating a Snippet
- Select "File" > "New Snippet" from the menu bar.
- Click the "+" button next to search in the second column.
- Press Cmd+N on macOS or Ctrl+N on Windows or Linux.
The new snippet is created in the currently selected folder, or in "Inbox" if no folder is selected.
Working with Snippets
Snippets
Snippets are the main items in Code. Use them for code you reuse across projects, reference examples, terminal commands, configuration files, or short implementation notes.
Fragments
Fragments are tabs inside a snippet. Use them when one snippet needs multiple related files, versions, or languages in one place.
Descriptions
Descriptions store usage notes, caveats, links, and extra context next to the snippet.
Organizing and Finding
Library
The Library gives you system views for Inbox, Favorites, All Snippets, and Trash.
Folders and Tags
Folders give snippets a primary structure by project, topic, language, or workflow. Tags add another way to group snippets across folders.
Folders can have a default language, so new snippets inside that folder start with the syntax mode you use most often there.
Search
Search finds snippets by title or content and narrows the current folder, tag, or library view when one is selected.
Editor Tools
The Code editor is built for editing and reusing snippets:
- Language selection for syntax highlighting
- Copying the whole snippet to the clipboard
- Prettier formatting for supported languages
- HTML and CSS preview for quick experiments
- JSON Visualizer for nested JSON snippets
See Snippets for the full snippet workflow.
File: docs/website/documentation/code/library.md
title: Code Library
Library
The Library is the first column in the Code space. It gives you a fast way to browse system folders and jump to the part of your snippet collection you need.
Inbox
Inbox is the default place for snippets that are not yet organized into folders.
Favorites
Favorites is for snippets you want to reach quickly from anywhere in your library.
All Snippets
All Snippets shows your entire snippet collection in one place.
Trash
Deleted snippets are moved to Trash. To remove them permanently, right-click "Trash" and choose "Empty Trash".
::: warning
Emptying Trash permanently removes the snippets inside it. This action cannot be undone.
:::
File: docs/website/documentation/code/snippets.md
title: Code Snippets
Snippets
Snippets are the core building blocks of the Code space. Use them to save code you reuse across projects, keep reference examples close at hand, and build your own searchable code library over time.
Adding a Snippet
Use one of these methods:
- Select "File" > "New Snippet" from the menu bar.
- Click the "+" button next to search in the second column.
- Press Cmd+N on macOS or Ctrl+N on Windows or Linux.
::: info
The new snippet is created in the currently selected folder, or in "Inbox" if no folder is selected.
:::
Language Selection
Click the language label in the editor footer, then choose a language from the dropdown. The default language is "Plain text".
Moving Snippet
Drag and drop the snippet to the desired folder.
Deleting Snippet
Right-click the snippet and choose "Delete".
::: info
The snippet is moved to "Trash". You can restore it later by dragging it back to a folder.
:::
Copying Snippet
Use one of these methods:
- Select "Editor" > "Copy Snippet to Clipboard" from the menu bar.
- Press Shift+Cmd+C on macOS or Shift+Ctrl+C on Windows or Linux.
Formatting Snippet
Use Prettier to format supported snippet languages without leaving massCode.
Use one of these methods:
- Select "Editor" > "Format" from the menu bar.
- Press Shift+Cmd+F on macOS or Shift+Ctrl+F on Windows or Linux.
Available Languages:
- Bash / Dockerfile / Gitignore / INI /Properties
- CSS / Sass / SCSS / Less
- GraphQL
- HTML
- Jade / Pug
- Java
- JavaScript / TypeScript
- JSON / JSON5
- Markdown
- PHP
- TOML
- XML
- YAML
Use Editor > Normalize Line Breaks to remove hard terminal wraps from the selection or the whole snippet.
Real-time Render HTML & CSS
Use code preview when you want to test a small HTML/CSS idea directly inside massCode.
- Add a new snippet or select an existing one.
- Add a second fragment.
- Set fragment languages to HTML & CSS.
- Select "Editor" > "Preview Code" from the menu bar or press Alt+Cmd+P on macOS or Ctrl+Alt+P on Windows or Linux.
JSON Visualizer
Use JSON Visualizer when nested JSON is too dense to read comfortably as raw text. massCode turns the current JSON snippet into a visual graph, so objects, arrays, and relationships are easier to scan.
- Add a new snippet or select an existing one.
- Click the language selector in the editor footer and choose "JSON".
- Select "Editor" > "Preview JSON" from the menu bar or press Alt+Cmd+J on macOS or Ctrl+Alt+J on Windows or Linux.
- Use zoom controls and Fit to navigate larger payloads.
- Click a node to inspect its content.
- Export the visualization as PNG or SVG when you want to share it.