notepadXL

Opens in 0.2 seconds. Never loses a tab.

notepadXL is ready before you finish the click: it launches in 0.2 seconds, weighs almost nothing in memory and never makes you wait. Quit whenever you like — every tab comes back exactly as you left it, including the notes you never saved, with their undo history. It also opens gigabyte log files instantly, highlights 21 languages, checks JSON and XML, resolves git conflicts and reads binary files in hex. A Notepad++ spirit, built natively for the Mac.

Download on theApp Store Get it on Google Play Help & FAQ

Requires macOS 13 Ventura or later · English and French

Two notepadXL windows side by side: before quitting and after relaunch, with the same four tabs, including two unsaved ones, restored. Below, eight feature tiles: huge files, syntax highlighting, git conflicts, hex editor, JSON and XML, themes, find and replace, macros.

Quit with unsaved tabs open, relaunch: 0.2 seconds later everything is back — text, cursor, scroll position and undo history.

Where it sits

A scratchpad that can take anything

Most text you handle every day is not a project: a log to search, a JSON payload to read, a list to clean up, a note to keep for later. You want it open before you finish thinking about it — and still there tomorrow.

TextEdit

Rich text first, plain text second. Slows to a crawl on a big file, and nothing understands code.

Built in

notepadXL

Plain text and code, any size, in tabs that survive a quit. Syntax colors, JSON/XML tools, merge view, hex.

Opens in 0.2 s

A full IDE

Projects, indexing, plug-ins and a long start-up — heavy for reading a log or fixing one line of config.

For whole projects

What you get

Features

Everything runs on your Mac, and long operations — opening, searching, converting, saving a huge file — run in the background with a progress bar you can cancel.

Opens in 0.2 seconds

A native AppKit app with no runtime to boot and nothing to index: click the icon and type. Light on memory and CPU, so it can stay open all day.

Tabs that survive a quit

Every tab is restored at launch: untitled notes, unsaved changes, cursor, scroll position and undo history. No “Save changes?” dialog when you quit.

Huge files, instantly

Multi-gigabyte files open at once and stay responsive: the file is read on demand, never loaded whole into memory. Edits are kept separately until you save.

Syntax highlighting

21 languages, from C and Java to Python, Rust, SQL and YAML. Detected from the extension, a shebang or the content itself — or pick one from the status bar.

Git conflict merge view

Files with conflict markers open side by side, ours against theirs, aligned with the patience diff. Copy each block left or right, and undo any merged block on its own.

JSON, XML and Base64

Check a document and jump to the exact line and column of the error. Format or compact JSON, format XML and HTML, indent code, Base64 encode and decode.

Hex editor

Binary files open in a hex view with an ASCII column. Search for byte sequences, go to an offset in decimal, hex or percent, and edit bytes directly.

Find, replace, macros

Regex, match case, replace all — fast even on huge files. Record keystrokes as a macro, then replay it, a set number of times or to the end of the file.

Encodings and line endings

UTF-8 (with or without BOM), UTF-16 LE/BE, ANSI, ISO-8859-1/2/15 and ASCII. Convert or reinterpret, switch between Unix (LF) and Windows (CRLF).

Themes

GitHub Light, Paper, Mist, Classic, Monokai, Dracula, Nord, One Dark — or build your own, down to the syntax colors. The toolbar and title bar follow the theme.

Files, FTP and SFTP

Browse your folders in a side panel and filter them by name. Add FTP or SFTP servers: a remote file opens in a tab, and saving it sends it back to the server.

The small things

Matching bracket highlight, file overview on the right, go to line or to 50 % of the file, open recent, print with line numbers and colors.

Nothing leaves your Mac on its own

No account, no analytics, no tracking. The only connections are to the FTP or SFTP servers you add. Sandboxed: notepadXL only touches the files you open.

In pictures

A closer look

notepadXL showing a 1.72 GB file of 7.2 million lines, with the file overview on the right.

A 1.7 GB file, open in a second

7.2 million lines, scrolled and edited like a small file. The overview on the right maps the whole document.

A JavaScript file with syntax highlighting in a dark theme.

Syntax highlighting

Keywords, strings, numbers and comments in the colors of your theme. Only the visible lines are colored, so it stays fast at any size.

The merge view: HEAD on the left, the feature branch on the right, with arrows to copy a block to either side.

Resolve git conflicts

Ours on the left, theirs on the right. The saved file is always the merge result; what is still undecided stays between conflict markers.

An SVG file in notepadXL with the Format XML and Check XML buttons in the toolbar.

Check and format

The toolbar adapts to the content it detects: Format XML and Check XML here, Format JSON and Check JSON for a payload.

Assistance

Help & support

If something here does not answer your question, write to appstore@starn.fr and describe what you were doing when it went wrong.

Getting started

  1. Open or start something. ⌘O opens a file — or drop one on the window — and ⌘N starts a new untitled tab.
  2. Just write. Untitled tabs are kept automatically. You only need to save when you want the text in a file of your own.
  3. Let the toolbar adapt. notepadXL detects what the tab contains — JSON, XML, code, a git conflict, a binary file — and adds the matching buttons: Check JSON, Format XML, Merge, Hex…
  4. Quit without worrying. ⌘Q closes the app without asking about unsaved changes. Next launch, every tab is back.
  5. Make it yours. Settings chooses the theme, the language of the interface, syntax highlighting and the exact line count for big files.

Keyboard shortcuts

File and edit
⌘NNew tab
⌘OOpen
⌘SSave
⇧⌘SSave as
⌥⌘SSave all
⌘WClose tab
⌘PPrint
⌘Z / ⇧⌘ZUndo / Redo
⌘LGo to line
⇧⌘HHex view / Text view
Search, convert, macros
⌘FFind
⌥⌘FReplace
⌘G / ⇧⌘GFind next / previous
⌘EUse selection for find
⌥⇧⌘JFormat JSON
⌥⇧⌘XFormat XML / HTML
⌥⇧⌘IIndent code
⌃⇧RStart / stop recording a macro
⌃⇧PPlay the macro

Frequently asked

Where are my unsaved tabs kept?

In notepadXL's own sandboxed folder on your Mac (its Application Support folder). For a big file, only your changes are stored, never a copy of the whole file. Nothing is sent anywhere. Settings ▸ Reset Application Data erases it all.

What happens if a file changed while notepadXL was closed?

If the tab had no unsaved changes, the new version is simply loaded. If it had unsaved changes, notepadXL cannot safely apply them to a different file: it loads the current version and tells you. While the app is open, a file changed by another application asks whether to reload it or keep your version.

How big a file can it open?

Several gigabytes. The file is read on demand rather than loaded into memory, so opening is immediate and memory use stays low. Above 32 MB the line count is first estimated (≈ in the status bar); turn on Exact line count on big files in Settings to count them in the background.

Search is slow on a huge file. Why?

A search that ignores case has to decode every block of the file. If you know the exact case of the text, check Match case: the file is then searched byte by byte, many times faster. notepadXL suggests it when it applies.

Which languages are highlighted?

C, C++, C#, CSS, Go, HTML, INI / Properties, Java, JavaScript, JSON, Kotlin, PHP, Python, Ruby, Rust, Shell, SQL, Swift, TypeScript, XML and YAML, plus a generic mode for other code. The language is detected automatically; click its name in the status bar to choose another one for that tab.

How does the git merge view work?

When a file contains conflict markers, the Merge button shows both sides next to each other. Copy each difference to the left or right, or take all of one side. The document — and what you save — is always the merge result; differences you have not decided yet stay between <<<<<<< and >>>>>>> markers. Each merged block can be selected and undone on its own, even after going back to the text view.

Can I edit a binary file?

Yes. Binary files open in the hex view; any other file can be switched to it with ⇧⌘H. Type in the hex column or the ASCII column, search for bytes such as DE AD BE EF, and go to an offset.

Why does my macro not follow mouse clicks?

Macros record keystrokes, typing and commands, not mouse clicks. Move with the keyboard or with a search while recording, and the macro will replay the same moves.

What language does notepadXL use?

It follows your macOS language, in English or French. You can force one in Settings.

Does notepadXL send anything over the internet?

Nothing on its own: no analytics, no accounts, no cloud. The only connections are the ones you ask for, to the FTP or SFTP servers you add in the files panel. See the privacy policy.

Troubleshooting

“A tab could not be restored”

The file behind that tab was moved, renamed or deleted while notepadXL was closed, or is on a disk that is not connected. Reconnect the disk or open the file again from its new place.

The colors are wrong, or missing

Check the language shown in the status bar: if the detection guessed wrong, pick the right one there. If nothing is colored at all, Syntax highlighting may be turned off in Settings. Plain text and binary files are never colored.

The line numbers show “≈”

On files over 32 MB the line count is estimated so the file opens at once. Turn on Exact line count on big files in Settings; the file stays usable while it is counted.

I want to start from scratch

Settings ▸ Reset Application Data erases the open tabs, unsaved text, macros, recent files and settings, then restarts notepadXL as on its first launch. Your files on disk are not touched.

Contact

Bug reports, questions and feature requests: appstore@starn.fr. For a bug, telling us the macOS version, the kind and size of file, and what you did just before it went wrong saves a round of email.