How to paste a large amount of text on Mac
Note My stays answering while a huge block of text arrives, rather than greying out until it has. Here is what to expect from a very large paste, and how to keep control of one that is still running.
You copy something large — a query result, a full log dump, the output of a command that ran all afternoon — press ⌘V, and the editor stops answering. The pointer becomes a spinner, the window greys out, and there is no way to tell whether the paste is making progress or whether the application has given up. Sometimes what finally lands is worse than nothing: the text arrives carrying fonts, colours and curly quotes from wherever you copied it.
This guide covers what Note My gives you when you paste, what you can expect to see while a very large block arrives, and what to do with it once it has landed.
Whatever you paste stays on your Mac. Nothing is uploaded, there is no account, and the text never leaves the machine. That matters when the clipboard holds production output.
What to expect from a very large paste
The thing you want from a big paste is simple: you want the window to keep answering while it happens, and you want to be able to change your mind. Our large-file engine gives you both. A long block lands with the window still drawing rather than greying out behind a spinner, so you can read what has already arrived while the rest of it comes in; a very large one puts a progress sheet in front of you with a Cancel button, so stopping is always one click away.
That is the practical difference. Instead of pressing ⌘V and guessing whether anything is happening, you get a document that is visibly filling and a window you can still use.
What you see when you paste
| What you are pasting | What you see |
|---|---|
| An ordinary block | It is simply there. No ceremony, nothing to wait for, nothing to dismiss. |
| A long block | The window keeps responding while the text lands. You can scroll and read as it fills. |
| A very large block | A progress sheet with a Cancel button. You can see the paste running and stop it at any point. |
There is nothing to choose between these and no setting to configure. The behaviour is the same on every Mac and in every document, so a paste you have done once behaves the way you remember the next time.
Paste a large block
-
Give it somewhere to go
Press ⌘N for a new tab, or open the file you want to paste into with ⌘O. A fresh empty tab is the better choice for a big block: our advanced language identifier will set the language for you on the way in — see below.
-
Paste with ⌘V
The Edit menu also carries the system's Paste and Match Style (⌥⇧⌘V), but you rarely need it here: plain text is already what ⌘V gives you, whatever the size of the block.
-
Use the sheet if one appears
For a very large paste a progress sheet appears with a Cancel button. Press Cancel and the paste stops where it is: the text that has already arrived stays in the document, and nothing more is added. You are never left sitting through a paste you no longer want, and what did arrive is in front of you to keep or to remove rather than disappearing without a word.
-
Carry on as normal
Once the text has landed there is nothing to confirm and nothing to tidy up. Our large-file engine looks after a document this size, so you can keep scrolling, searching and editing straight away — all on your Mac, with nothing uploaded.
-
Confirm the whole thing arrived
The status bar counts characters, words, spaces and lines for the whole document, so the character count is the quickest way to check that everything arrived. Compare it against whatever produced the text. The counts keep up as you work and stay correct when you switch between tabs, so the number you read is the number in the document.
Chars 2 411 908 Words 318 442 Spaces 402 117 Lines 51 204 Sel 0 Occ 0 ✓ Clean ↵ LF Aa UTF-8 {} Plain Text ⌘ IdentifySix counters, live: characters, words, spaces, lines, the size of the selection, and how many times the selected word occurs. They are cached on the document, so a keystroke does not recount two million characters.
Paste is always plain text
A paste never brings styling with it. Copy a code sample out of a browser and you get the characters, not the page's font, its background colour or its syntax colouring. Copy a paragraph out of a word processor and you get the words, not the paragraph style. There is no separate command to remember: the plain result is the only result.
This is reinforced by a broader rule: no text-mutating assistance is ever enabled anywhere in the app. No auto-correct, no smart quotes, no dash substitution, no link or data detection. Nothing rewrites your text on the way in. If a curly quote turns up in your pasted block, it came from the source — and there is a tool for that further down.
Working in a very large document
A big paste often leaves you with a document big enough for the status bar to say so. Take that as information rather than a warning: our large-file engine has the document in hand, and everything you reach for most is exactly where you left it:
- Colour stays on. Our syntax engine keeps the code readable, and log colouring works as it does anywhere else.
- Our find and replace covers the whole document, however long it is, and moves you from one match to the next.
- Completion is there the moment you ask for it. Press ⌃Space and the popup appears where you are typing.
- Our auto-recovery safety net keeps looking after unsaved work. You do not need to save more often, and there is nothing to turn on.
- Moving about is quickest by line number. ⌘L takes you straight there, with the line you are on already filled in.
- Saving is the ordinary ⌘S, and what lands on disk is the whole of what you pasted, character for character.
You can edit, search, clean and save exactly as you would in a small file. The counts in the status bar keep up as you go, so the size of the thing you are holding is never a guess.
Setting the language of a pasted block
Paste code into a brand-new empty tab and our advanced language identifier sets the language for you, once, quietly, with no sheet to dismiss. You get colouring and the right editing behaviour straight away. Pasting is the only thing that ever settles a language for you — nothing you type and nothing you scroll past moves one — and a language you have chosen yourself is never overruled.
You can also name the language yourself whenever you want to: one click on the Identify pill in the status bar, pick from the list, and the colouring follows straight away. A block that lands as Plain Text is waiting for exactly that, so you are never handed a language you then have to correct. The result is steady rather than surprising: the same block gives you the same language the next time you paste it, so what you saw last week is what you get today. A tab still sitting on Plain Text can also be settled by a later paste into it. And a pasted stylesheet is the quickest case of all: click Identify, choose CSS, and the colouring arrives with it.
If the tab already has content or you have already chosen a language, a paste does not interrupt you to ask again. It puts an accent dot on the status bar's Identify pill instead, with a one-shot popover explaining what the dot means. Clicking the pill opens the Language Inspector — "Identified programming language: X", an override pop-up, Confirm and Cancel. Your choice wins there, always. There is also a setting that restores an always-ask sheet on the first paste; it is off by default.
Cleaning what came with the paste
Text copied out of a chat window, a ticket, a PDF or an AI assistant often carries characters you cannot see: zero-width joiners, non-breaking spaces, bidi controls, smart quotes and dashes, soft hyphens.
There is a setting that applies our cleanup rules as text arrives — Clean pasted text, in Settings ▸ Text Cleanup, using your default preset. It is off by default, so nothing is ever tidied behind your back. Turn it on when you paste all day from a source you already know and want it settled on the way in.
Most of the time the better moment is after the paste, on text you can see and check first. Two commands do exactly that:
- Clean ▸ Clean AI Copy/Paste Markers — one click, no dialog. It strips only artefacts that cannot change visible rendering, wording, tone, punctuation, indentation or emoji structure. Anything needing judgement is counted and reported, not touched. You get a toast: "Cleaned N hidden marker(s). Your text was not rewritten.", or "No hidden copy/paste markers found.", or a count of safe markers cleaned alongside risky ones left alone.
- Clean ▸ Clean Invisible / Special Characters… — the Review All sheet, where our hidden-character scanner shows you everything it found before anything is touched. Scope is Selection or Whole Document; the left table lists the categories with a severity chip and a count; the right table lists every finding with its Line:Col, code point, category, action and risk. Double-click a finding to reveal it in the editor. Nothing changes until you press Apply, so you can open the sheet purely to look.
If the paste came out of a terminal or a log tool
Turn on View ▸ Enable Log Highlighting, or click the Log pill in the status bar, and the block becomes readable. Severity keywords each get their own colour, HTTP status codes are tinted 2xx green, 3xx teal, 4xx orange and 5xx red, ISO-8601 timestamps are deliberately muted, IPv4 addresses are purple, UUIDs indigo and URLs take the link colour. None of it changes your text. The colour is for your eyes only, and what you save is exactly the characters you pasted.
To move between problems rather than scroll for them, use ⌥⌘E and ⌥⇧⌘E for the next and previous error; they match FATAL, CRITICAL, SEVERE, ERROR, WARNING and WARN, case-insensitively, and wrap. ⌘L goes to a line number, pre-filled with the line you are on.
If the output came from a Windows machine, the line-ending pill may read Mixed. File ▸ Line Endings ▸ Convert to LF settles it.
Troubleshooting
The paste landed without a progress sheet
Then it arrived quickly enough not to need one, and the text is already in front of you. The sheet is offered for the biggest blocks, where having a way out is worth something. To be sure everything arrived, read the character count in the status bar and compare it against whatever produced the text.
I cancelled and part of the text is already there
That is the intended result. Cancel stops the paste where it stands, and whatever had already arrived stays in the document rather than vanishing without warning. Remove it the way you would remove any block of text.
The pasted code has lost its indentation
Use the toolbar Indent button. It opens the Indentation sheet — language picker, brace style, indent width, a live preview — and our indentation engine leaves your document alone until you press Apply. The preview shows you the style you are choosing — brace placement, indent width, the shape of a nested block — so you can settle on it before you commit to it. Press Apply and the whole document takes the style you chose, from the first line to the last, with your characters otherwise exactly as you pasted them.
Choosing the language for a pasted block
Click the Identify pill in the status bar and choose the language in the Language Inspector; the colouring follows immediately, and your choice stays put for that tab. A block sitting on Plain Text is waiting for exactly that, so you are never handed a language you would have to correct afterwards. For a pasted stylesheet, choose CSS there and the whole block comes into colour at once — and the same click serves whenever you want a document read as something else, a script with no extension as Shell, say, or a snippet lifted out of a bug report as Python.
Non-ASCII characters look wrong when I save
Use File ▸ Encoding ▸ Convert to Encoding…, which changes what gets written when you save. Do not reach for Reload with Encoding…: that is the opposite job, for a file already on disk that opened as gibberish. Our encoding handling offers a wide list, with UTF-8 the default for a new file and the right answer in almost every case.
Typing feels heavier after the paste
The status bar will be telling you that this is a large document, which is information rather than a warning: our large-file engine has it in hand, and the window stays quick to answer at that size. Colouring stays on throughout, completion appears the moment you press ⌃Space, and the fastest way around a document this size is by line number — ⌘L — rather than scrolling for the spot. To chase every use of a name, open our find and replace from the toolbar and step through the matches.
What to do with the block once it has landed
A large paste is usually the start of a job rather than the end of one. Everything below behaves the same whether the document runs to a few lines or a few million characters, and all of it happens on your Mac.
- Search all of it. Our find and replace opens from the toolbar button and covers the whole document. Replace in All Files reaches every open tab at once, so a rename you have already decided on can be made everywhere at once.
- Jump rather than scroll. ⌘L takes you to any line number, pre-filled with the line you are on. In terminal output, ⌥⌘E and ⌥⇧⌘E walk you from one problem to the next and wrap when they reach the end.
- See what came with it. Clean ▸ Clean Invisible / Special Characters… lists every hidden character our hidden-character scanner found, with its line and column, before a single one is touched. You can open the sheet purely to look.
- Make it readable. The Identify pill settles the language and our syntax engine colours the block accordingly; the Log pill does the same job for a dump out of a terminal.
- Measure it. The status bar keeps a running tally of characters, words, spaces and lines for the whole document, which is the quickest way to confirm a paste against its source.
- Keep it. ⌘S writes the whole block to disk, UTF-8 by default, exactly as it arrived. Until you do, our auto-recovery safety net is holding on to it for you.
A comma-separated dump, a stack trace, a day of access logs, a schema export: each one is text, and each one is searchable, navigable, cleanable and saveable the moment it lands.
Frequently asked questions
How much text can I paste at once?
As much as you have to hand. Our large-file engine is built for the biggest pastes you are likely to have, so a full query result or a whole day of log output is ordinary work rather than a gamble. If a paste has ever defeated an editor for you, try it here — and if the block turns out to be very large, you get a progress sheet with a Cancel button, so the choice stays yours either way.
Can I stop a paste that has already started?
Yes. A very large paste puts a progress sheet on screen with a Cancel button, and pressing it takes effect promptly. Text that has already arrived stays in the document, to keep or delete as you prefer.
Will pasting from a browser bring fonts and colours with it?
You get the characters and nothing else. The paste is always plain text, so a styled page arrives as words rather than as fonts, backgrounds and colours. Nothing else rewrites it either: no auto-correct, no smart quotes, no dash substitution. What you copied is what you get.
Does the app read my clipboard when it launches?
Your clipboard stays yours. Auto-paste at launch is off by default, and even the "Automatic" startup option — which opens a document only when the clipboard holds text — never looks at what the text says. And because everything happens on your Mac, nothing on the clipboard could be sent anywhere in any case.
Why did the language change by itself when I pasted?
Pasting into a brand-new empty tab lets our advanced language identifier set the language once, quietly, so you get the right colouring straight away. It happens only in that case, and never again once you have chosen a language for the tab.
Is unsaved work safe if I paste megabytes into a document?
Yes. Our auto-recovery safety net looks after unsaved work for you as you type, in a big document exactly as in a small one. It is always on, cannot be switched off, and the recovered text stays on your Mac like everything else.