no logo
HomeGalleriesArtistAwardsWorkshopsContactPrintsArticlesAppsPhotodata
Fastpad
bar
Fastpad is a fast, lightweight code and text editor for macOS — built for developers who value speed. Inspired by Notepad++ and Sublime Text, it opens instantly, handles large files without slowdown, and stays out of your way while you work. No project setup, no ceremony: open a file and start editing.

FEATURES
  • Instant launch — no project setup, open a file and start editing immediately.
  • Syntax highlighting for 18 languages with auto-detection by file extension.
  • Full regex find & replace with case sensitivity and whole-word options.
  • Hex viewer — binary files open automatically in a dual-pane hex editor.
  • Minimap — bird's-eye overview of the document with syntax colors.
  • Transform tools — Base64, URL and Hex encoding, SHA-256 hashing, JSON format/minify.
  • Multiple cursors, column/block selection, and code folding.
  • Live Markdown and HTML previews, split view, bookmarks, and auto-save recovery.

INTERFACEThe Fastpad window is divided into four zones:
  • Tab Bar — across the top. Each open file gets a tab. Drag tabs to reorder them. A dot on a tab indicates unsaved changes.
  • Find Bar — appears below the tab bar when you press ⌘F. Dismiss it with Esc.
  • Editor — the main editing area with a line-number gutter on the left. Click the gutter to toggle bookmarks.
  • Status Bar — along the bottom. Shows line/column, selection length, language, encoding, and line ending. Click any item to change it.
The toolbar at the top of the window provides quick-access buttons for Open, Save, Print, and Reformat. Hover over any button to see its keyboard shortcut.

OPENING FILES
  • Press ⌘O or click the Open toolbar button.
  • Drag files from Finder onto the editor window or the dock icon.
  • Use File → Open Recent to reopen recently used files.
  • Drop files directly onto the text area to open them as new tabs.

You can open multiple files at once using standard multi-selection in the open panel — each file opens in its own tab. Enable File → Restore Tabs on Launch to automatically reopen your last session when Fastpad starts.
Editing Basics
Smart indent

When you press Return, Fastpad automatically matches the indentation of the previous line. If the line ends with {, (, [, or :, one extra level is added.

Auto-close brackets

Typing {, [, (, ", or ' automatically inserts the matching closing character and places the cursor inside. If text is selected, the selection gets wrapped. Pressing Backspace over an empty pair removes both characters at once.

Tab settings

The status bar shows the current indent mode (Spaces or Tabs) and width. Click it to change settings, or go to View → Indent Settings… to pin per-language defaults that override automatic detection.

Line operations
Move line up⌥↑
Move line down⌥↓
Duplicate line⌥⇧↓
Indent selection⌘]
Dedent selection⌘[
Toggle line comment⌘/
Jump to matching brace⇧⌘M
Select next occurrence

Press ⌘D to expand the current selection to the word under the caret. Press again to add the next matching occurrence to the selection set (Sublime Text / VS Code style). Each subsequent press keeps adding the next match.

Multiple Cursors

Fastpad supports multiple independent cursors so you can edit several places simultaneously.

  • Add cursor: +click at any position in the editor.
  • Remove cursor: +click on an existing cursor position to remove it.
  • Select occurrences: use ⌘D repeatedly to accumulate selections across the document.

All cursors accept the same keystrokes simultaneously — typing, deleting, indenting, and moving all apply to every cursor at once. Click anywhere without to collapse back to a single cursor.

Column / Block Selection

Hold and drag the mouse vertically to create a rectangular block selection. Each line in the selected rectangle becomes an independent selection range, which is great for editing aligned columns of text (e.g. variable declarations or CSV data). After making a column selection, you can type to insert the same text on every selected line simultaneously.

Code Folding

Code folding lets you collapse large blocks to reduce visual clutter.

  • Fold block at caret: press ⌥⌘− or use Transform → Fold Block. Fastpad finds the {…} pair on the current line and collapses everything inside to a blue pill showing the line count.
  • Unfold: click the blue ⋯ N lines pill to restore the original text.

Folded regions are automatically expanded before saving, so the file on disk always contains the full text.

Syntax Highlighting

Language is detected automatically from the file extension when a file is opened. You can override it at any time by clicking the language name in the status bar. Fastpad also highlights:

  • Matching braces — the brace pair under the cursor is highlighted. Unmatched braces are tinted red.
  • Word occurrences — all other instances of the word under the caret are softly highlighted after a 200 ms delay.
Ruler guide

A vertical column guide is shown at column 80 by default for code files. Use View → Ruler Guide to change the column or disable it. Drag the guide line with the mouse to reposition it interactively.

Find & Replace

Press ⌘F to show the find bar. Press ⌥⌘F to show it with the replace field expanded.

Show find bar⌘F
Show find & replace⌥⌘F
Find next⌘GReturn
Find previous⇧⌘G
Dismiss find barEsc
  • Regex — enables full regular expression syntax.
  • Case — toggles case-sensitive matching.
  • Word — matches whole words only.

The match counter in the find bar shows how many results were found. When the document is very large, the count reflects only the visible range and updates as you scroll.

Transform Tools

The Transform menu applies encoding, hashing, and formatting operations to the current selection — or the entire document if nothing is selected.

Base64 — encode⌃⌘B
Base64 — decode⌃⇧⌘B
URL — encode / decode
Hex — encode / decode
SHA-256 hash (shown in status bar)⌃⌘H
JSON — format / pretty-print⌥⌘J
JSON — minify⌥⇧⌘J
Fold block at caret⌥⌘−

The SHA-256 hash is not inserted into the document — it is displayed in the status bar for 10 seconds so you can copy it without modifying the file. URL and Hex conversions are available from the menu only.

Minimap

The minimap is a scaled overview of the entire document shown as a 100 px panel on the right side of the editor. Each line is rendered as a thin bar colored to match its syntax tokens, giving you a visual fingerprint of the file's structure.

  • Enable / disable: ⌃⌘M or View → Show Minimap.
  • Click or drag anywhere in the minimap to scroll the editor to that position.
  • The translucent rectangle shows the currently visible portion of the document.
Markdown Preview

When editing a .md or .markdown file, you can open a live side-by-side rendered preview.

  • Enable: ⌥⌘P or View → Markdown Preview.
  • The preview updates automatically 400 ms after you stop typing.
  • The preview respects your system appearance (light / dark mode).

Supported Markdown features: ATX and setext headings, fenced and indented code blocks, blockquotes, ordered and unordered lists, tables, bold, italic, inline code, links, images, and strikethrough.

HTML Preview

When editing a .html or .htm file, Fastpad renders a live preview alongside the editor.

  • Enable: ⌥⌘P or View → HTML Preview.
  • The preview reloads automatically 400 ms after you stop typing.
  • Relative resources — CSS stylesheets, JavaScript files, and images — are resolved relative to the HTML file's location on disk.

The preview always reflects the version of the file on disk. Save with ⌘S to update it with your latest edits.

Split View

Split View opens a second editor pane side-by-side with the primary editor. The two panes are independent — they can show different files from the same window's tab collection.

  • Toggle: ⌥⌘\ or View → Split View.
  • Use the tab strip at the top of the secondary pane to choose which file to display.
  • Drag the divider between the two panes to resize them.
Hex Viewer

Binary files (any file containing NUL bytes or a high ratio of non-printable characters) are automatically opened in the Hex Viewer instead of the text editor. The Hex Viewer shows three columns: offset, hex bytes, and ASCII representation. Clicking in either hex or ASCII selects the corresponding byte in the other column.

Jump to offset⌘L
Find hex / ASCII⌘F
Toggle insert / overwriteHelp

The Byte Inspector panel (toggle with the Inspector toolbar button) shows the byte under the cursor decoded as Int8, UInt8, Int16/32/64 (little and big endian), Float32/64, and UTF-8. If a file is incorrectly detected as binary, click View as Text in the toolbar overlay to reopen it as plain text, bypassing the heuristic.

Auto-Save & Crash Recovery

Fastpad automatically saves a recovery copy of every unsaved document every 30 seconds to~/Library/Application Support/Fastpad/Recovery/. If Fastpad quits unexpectedly, the next launch will detect any leftover recovery files and offer to restore them. You can choose to restore all of them or discard them.

Recovery files supplement normal saves — they are not a replacement. Always use ⌘S to save your work to its intended location.

Bookmarks

Bookmarks mark specific lines for quick navigation. A small blue dot appears in the gutter next to every bookmarked line.

Toggle bookmark on current line⇧⌘B
Jump to next bookmark⌥⌘B
Jump to previous bookmark⌥⇧⌘B
Clear all bookmarks
Toggle bookmark (gutter click)
All Keyboard Shortcuts
File
New tab⌘N
New window⌥⌘N
Open…⌘O
Save⌘S
Save As…⇧⌘S
Close tab⌘W
Print…⌘P
Find
Find…⌘F
Find & Replace…⌥⌘F
Go to Line…⌘L
Select next occurrence⌘D
Editing
Toggle line comment⌘/
Indent⌘]
Dedent⌘[
Move line up⌥↑
Move line down⌥↓
Duplicate line⌥⇧↓
Jump to matching brace⇧⌘M
Reformat document⌥⇧⌘F
Insert timestamp⌃⌘T
Insert UUID⌃⌘U
Sort lines ascending⌃⌘S
Sort lines descending⌃⇧⌘S
Bookmarks
Toggle bookmark⇧⌘B
Next bookmark⌥⌘B
Previous bookmark⌥⇧⌘B
Transform
Base64 encode⌃⌘B
Base64 decode⌃⇧⌘B
SHA-256 hash⌃⌘H
JSON format⌥⌘J
JSON minify⌥⇧⌘J
Fold block⌥⌘−
View
Toggle word wrap⌥⌘L
Show invisible characters⇧⌘I
Increase font size⌘+
Decrease font size⌘−
Reset font size⌘0
Show minimap⌃⌘M
Markdown / HTML preview⌥⌘P
Toggle split view⌥⌘\
Toggle ruler guide⌃⌘R
Tabs
Next tab⇧⌘]⌃Tab
Previous tab⇧⌘[⌃⇧Tab
Move tab right⌥⌘]
Move tab left⌥⌘[
Supported Languages

Fastpad detects language from the file extension and applies full syntax highlighting with language-aware features (comment toggling, brace matching, smart indent).

Swift .swiftPython .py .pyw .pyiJavaScript .js .jsx .mjsTypeScript .ts .tsxJSON .jsonHTML .html .htmXML .xml .plistCSS .css .scssMarkdown .md .markdownC .c .hC++ .cpp .cc .hppObjective-C .m .mmShell .sh .bash .zshYAML .yaml .ymlRuby .rbGo .goRust .rsPlain Text

Languages with line-comment toggling (⌘/): Swift, JavaScript, TypeScript, C, C++, Objective-C, Go, Rust, Python, Shell, YAML, Ruby.

The Fastpad App can be obtained from the app store: HERE
bar
Previews and Screenshots
fastpad editorfastpad find and replacefastpad hex viewer
bar
Privacy Policy
Effective Date: August 2026

Fastpad respects your privacy. This Privacy Policy explains how the app handles your information.

  • No Data Collected
  • Fastpad does not collect, transmit, or store any personal data. The app has no accounts, no sign-in, and no analytics. Your files and editing activity never leave your device.

  • Files Stay on Your Device
  • All files you open or create are read and written directly on your Mac. Fastpad does not upload files to any server, cloud service, or third party.

  • Recovery Files
  • Auto-save recovery copies are stored locally in ~/Library/Application Support/Fastpad/Recovery/. They are managed entirely on your device and are never transmitted anywhere.

  • Network Access
  • Fastpad uses the macOS networking framework only to support WKWebView's internal rendering pipeline when displaying HTML previews. It does not make any outbound connections to external servers.

  • Recent Files
  • A list of recently opened file paths is stored locally in your app's preferences to power the File → Open Recent menu. This list is never shared.

  • Changes to This Policy
  • This Privacy Policy may be updated periodically to reflect changes to the app or legal requirements. Updates will be posted on this page, and the “Effective Date” will be revised accordingly.

If you have any questions or concerns about this Privacy Policy, please CONTACT me.
All material © 2023 by Greg Boratyn. All rights reserved.