massCode Documentation

A free, open-source developer workspace. Snippets, notes, HTTP requests, calculations, and dev tools in one local-first app.

RAW Doc

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 GET requests
  • 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

bash
pnpm install

Build

To build for current platform:

bash
pnpm build

To build for a specific platform:

bash
pnpm build:mac    # macOS
pnpm build:win    # Windows
pnpm build:linux  # Linux

Development

To run in development mode:

bash
pnpm dev

Follow

License

AGPL-3.0

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

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 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.