Keyword "tagging" of text passages

I would like to ask for this feature in a future version of Scrivener: Highlight a passage of text (in a text document, not necessarily in a PDF document, though that would be nice too), add a Keyword to it.

I have brought it up before here: [url]] and here: [url]]

My argument for doing so is:

  1. It would allow quick searching and finding of textual passages that are relevant to a specific keyword. This feature would allow several keywords per document permitting a writer to quickly find, break up and rearrange ideas within a paragraph or document.

  2. It would allow qualitative social science academics who work with texts–interviews, letters, memoranda, observational notes, survey responses, etc.–to analyze them with keywords and then search for them later during writing up. A process called “coding.” Why Scrivener? Because the process of analyzing those texts is also a process of writing up your findings. It would be great to have the texts of my interviews in my Research folder, with Keywords marking up my interviewees’ responses, and then finding them while I am writing my draft.

Possible issues:

Overlapping keyword passages, where you tag a passage with keyword A, and you tag part of that passage with another keyword, B.

The database of keywords and locations may be too large (a document might have hundreds of keywords)

This is a wish for the wish list; I realize fully that Scrivener is NOT a qualitative data analysis package, and in fact, the program is really for other kinds of writing, but every time I use Scrivener, I just have this background voice that keeps saying, “this program is so well suited to academic work, and if it just made some tweaks, it could work for social sciences too.”

In any case, thanks for an amazing program that I use on a daily basis. Rich

As it’s likely this feature isn’t going to be implemented (at all? / soon?). How about this?

Highlight the appropriate block of text and add a comment to it. In your comment, type in your “Keywords”. This way your comment becomes the repository for the keywords pertaining to the appropriate text.

You can build collections baed on searches for the keywords and clicking on the comments in the inspector will take you right to the marked text.

Yes this has numerous limitations, eg it’s always visible, you have to manage your own keywords, you can’t have overlapping text segments etc. Some of them you can get used to, other’s you can mitigate against the negatives by using project replace etc


It’s not 100% ideal, but it works, and the features to implement it exist already.

Another approach is of course to split the documents into sub documents within one folder. You can still view, edit and compile the document as one but you can now assign your own meta data to each component part.

Those are all good solutions.

What bugs me is that instead of searching for text in comments or footnotes in the search field, you have to go to Edit | Find… | Find by Formatting, which I feel is a bit awkward and counter-intuitive (I am SEARCHING for text, not looking for it by how it has been FORMATTED),

AND you can’t save your search.

Or I don’t know what I am talking about. How do you “build collections based on searches” that you do among the Comments and Footnotes sections?

Having said that, I am hopeful that the developers can reflect on this issue since I do think it would be valuable to a lot of people. R

You mean developer (singular) - me. :slight_smile:

As I said in the other thread you started about this, there are no plans for anything like this currently, sorry. I’ll bear it in mind when I eventually come to start mapping out features for 3.0, but I can’t promise anything, as personally I think tagging individual paragraphs and sentences - whilst useful for some users I am sure - is overkill in Scrivener.

Thanks for the suggestion and kind words though.

All the best,

Project Search by “All” does go through comments and footnotes as well, and Project Searches can be saved using the magnifying glass into a Collection tab. What you need to do, to make this technique more effective, is codify your keywords if they are like normal words, and then include the codification as part of the search. For example, if I have a note attached to some text because it requires further research, I can add a comment to that range, and then type in “RSRCH //” I might put some thoughts after the slashes if there is something to illuminate in the original text that might not be obvious in the future; that part is optional. Now I can use project search to look for that string, save it to a tab, and always have every document that needs further research collected for me. When I am done with the comment, I can either remove it or change the codification so that it no longer matches—to a “done” state you could say, like “RSRCH #”. Naturally, this technique works for inline annotations as well (which is what I prefer for this sort of thing).

The main disadvantage to this technique is that it does not build anywhere a list of used terms. It is a solution that takes advantage of string searching; not a dedicate feature like Keywords. You probably wouldn’t want to have hundreds of saved search tabs, and setting one up each time you use a new code (after checking to make sure you haven’t already done so) would be labour intensive.

Perhaps AppleScript in the future will help with this task. If you could run a script that looked for " //" in a comment and then added a keyword for whatever string precedes the match, creating one if necessary, then you could run this AppleScript periodically when it came time to start consulting lists.

Thank you Keith for considering this option in a future version of Scrivener. Honestly, if I could recreate the scenario I want–“tagging” a text passage, giving it a term, and then compiling the terms later in a search–then I would leave you alone, promise :slight_smile:

So AmberV’s suggestion seems very suitable. I didn’t know Comments were included in Project Searching, and now that I can save that kind of search, I am even happier. My basic need was really to identify all the passages in my book where I refer to a chapter or section so that if things change in that chapter or section, I can find them all easily and update them to reflect my change. Now I will comment those passages with “Chapter:X”, do and save a search, so that in the end, I’ll have one search collection per chapter. I tend to not use the search feature too often, so this solution won’t be too intrusive.

I will content myself with using Keywords for documents and subdocuments. Which is what Jenny_Y8S was hinting at above; that I could create subdocuments for each paragraph and have those keywords (or comments) at my command.

Thanks again for your input and help, Rich

I can’t seem to find how to change the default yellow color of the comments background neither in the editor nor in the side bar where the comments are kept. Is this possible? (I’m sure I’ll figure it out before someone responds!)

UPDATE: I knew i’d find it. You have to ctrl-click on the comments to change their colors. Is there a default setting in the Preferences I am missing?


No, there’s no default setting - once you change the colour, though, the latest colour will be used by default until you change it again.

All the best,

Hi there,

Since having moved from a PC to a Mac I too have been searching for something to replace NVivo, which I have used a lot in the past, but to be honest never been totally happy with - clunky user interface and slow when working with a lot of data. As an ethnographer I basically need precisely the functionality mentioned in this thread - as I read through my fieldnotes I need to tag chunks of text with keywords and at a later date to gather together all the pieces of text linked to any particular code. I’m always amazed how difficult it is to tag fieldnotes using normal writing software. Anyway I have just tried out Jenny_y8s’ 2nd suggestion of splitting the document into subdocuments and can report that the results are superb - I haven’t found anything that comes close to this on a mac, which is remarkable given that this is not what Scrivener is even designed to do. Whilst it doesn’t quite have the flexibility of being able to have overlapping codes for different chunks of text it looks like this goes a long way towards emergent and intuitive coding and subsequent analysis of textual documents, which is great.

It would, as Rich suggests, be fantastic if in a future version it were possible to do this without splitting up the document. I’ve only been using scrivener for a short while but I am incredibly impressed with the way in which it can assist in writing academic papers, and this functionality would make this an even more outstanding piece of writing software for qualitative researchers.

Just a quick final question - what is the best way of creating a sub-document from a paragraph/sentence of a document - when I split the document it just creates another document at the same level, rather than making it a child of the original. Is there a better way to do this?


Not immediately, but once you’ve split the document off and named it, use Ctrl-Cmd-RightArrow to demote it. Or, if you prefer the mouse, just drag & drop it beneath the item it came from. Once you have done this once, any further splits to the parent will automatically end up as a child for that node. Splits within that set will of course be siblings unless you alter them.


I’ve been using Scrivener for a few days now and it has already capsized the way my writing works. It feels much more natural which helps when tapping on creativity.
I write on this post, since I’ve been desperately looking for the same functionality mentioned here: I would like to tag parts of my text and then be able to search through those tags later on. This should be done through a shortcut to avoid having to stop the writing flow. This is particularly important when reporting and taking notes in a journalistic manner where notes have to be taken quickly and many ideas come up to mind while writing… these ideas for instance (“Read More”, “Questions to Ask”) are embedded in the text and therefore some kind of natural mechanism should exist.
I am not aware of any other software more suited to this kind of process than Scrivener. A qualitative analysis software is not helpful for instance in journalism or note taking.
Personally, I think the the keyword functionality is not as useful as this “text-tagging”… this is because, keywords is not a natural process since you have to stop your flow to think about key terms that identify your text. I am not good at using keywords and it feels like the extra time doesn’t give me that much of a return. Perhaps text-tagging could be the evolution of the keywords.

Anyways, these are just some reflections. Please keep us updated about this.
Keep rocking

Hi vijen,

Why don’t you use comments or inline annotations for this? From your description of what you want, these things should be perfect for that sort of use. You can then use the formatting finder (Edit > Find > Find by Formatting) to quickly cycle through all comments or annotations, even searching for particular text in comments or annotations (e.g. “Read More” or whatever). And the comments or annotations can be excluded from the final text.

Hope that helps.

All the best,


I can sense you might be getting a bit tired of these requests now but I’d just like to add my vote of support for possible-future keyword “tagging” of text passages.

Can I just say first that I - like everyone else, it seems - am quite in love with scrivener, and not at all keen to transfer over to Nvivo or any of the over horrible clunky qualitative data analysis softwares out there. I’m an anthropologist and I don’t think it’s a coincidence that I’ve spotted a few more of us in here, making similar queries. Unlike other social scientists, we don’t really have any need for the many fancy bells and whistles that dedicated QDA softwares offer; only the ability to navigate our way through vast tracts of fieldnotes. And for this, it’s true, the ability to highlight and code text passages would be incredibly useful.

The alternatives you’ve suggested sound like they might work fine but do keep it in mind for future versions of scrivener. Since you are marketing the software to researchers now as well as novelists - you might be surprised how popular this simple feature would prove (not only with anthropologists but also, I imagine, historians, literature students, and people working throughout the humanities).

Thanks very much - keep up the good work!

What would be helpful is to define what is merely “fine” about the current features; or in other words, where to they break down and cease being useful, to merit only being “fine”. What about them does not qualify them as “the ability to highlight and code text passages”. To my mind, Scrivener has about a half a dozen different broad categories by which you can do that, and probably dozens of possible use-cases involving the variations of using them and/or combining them into compound tools.

Keep in mind Scrivener’s toolkit platform based philosophy, rather than having “features”, just like novelists don’t have character tracking and plot tension features. They instead have the same tools you can bend toward QDA—but they are using them to track where a particular detail of the story is located in the text. So where do these broadly useful tools not work.

This is a helpful question to ask. I too am an anthropologist! For my part the keyword function comes closest to the text-tagging/coding functionality that anthropologists (or at least I) would find useful. The current limitations of text tagging functionality in Scrivener as it stands for the purposes of ethnographic research is that keywords pertain to the whole document and not to a single paragraph or sentence and that the method of getting around this by splitting documents ends up slowing down an interative process and overcomplicating the document itself by separating it into different chunks. This also means that it is difficult to have overlapping keywords (for example, I might want to code the first half of a paragraph with the keyword ‘identity politics’ but also want to code the second half of that same paragraph with the code ‘notions of personality’).

Picking up on the point made about the way in which scrivener is designed to help the writer find particular points in a story, I suppose the way in which ethnographers would use the keyword function of scrivener would be to try and tease out an emergent story which lies somewhere between the writer and the text. Whilst other QDA software packages put emphasis on extracting meaning from data by subjecting it to relatively formal analysis, ethnographic research is much more a process of storytelling whereby the story emerges from ongoing engagement with ethnographic research notes via an ongoing process of writing, reading and rewriting notes. It is as part of this process that the keyword function seems to be to be potentially incredibly useful, as it would provide a way of both navigating through a story and developing that story in the process. It is because of the way in which ethnographic writing has these close affinities to storytelling rather than scientific analysis, that Scrivener seems to me to lend itself so naturally to this kind of functionality.

I don’t therefore think that making this possible within scrivener would undermine the fact that Scrivener has been designed as a program for writers; it would merely open it up to researchers as writers who develop their narratives through ongoing internal conversations with their texts. If you want to encourage researchers to use scrivener, I think this extension to the keyword functionality would be a very good investment of energies, and I for one would be thrilled if this was developed.

Workflow for anthropologists:

For all the gathering of research information (from interviews, audio, images, fielnotes, etc) I use scrivener. I have a few collaborative research projects and the sync function with dropbox is simply incredible.

For coding I use TAMS Analyzer (Text Analysis Markup System)-- a open source mac software (free!) that beats any of the super expensive qualitative analysis programs on the market. Scrivener and TAMS together work flawlessly.


I’m not an anthropologist, nor an ethnographer or whatever, but a teacher of linguistics and translation and translation editor, also helping with an incipient research project on Chinese signed-language interpreting.

I have been aware for some time that text analysis software was something I would need, and came across TAMS — for the benefit of the previous poster, I had the impression that TAMS is cross-platform, though I may be wrong — and downloaded it. However, my time and energy for exploring it has been less than minimal. Most importantly, I do virtually all my work in Scrivener — and Keynote for presentations — and it has not been immediately clear to me how I could integrate working with Scrivener and TAMS, and that has been a strong incentive for not burning up limited time in order to pursue it further.

Could you possibly give me a brief, and I mean brief, explanation of how your workflow gets the two working together. It would not only help me, but also a postgraduate student who is currently working on a paper on an analysis of cohesion in the interpretations of a speech by Chinese student interpreters compared with the interpretation of the same speech by native-English interpreters, and who will be the key research student in the signed-language project. She uses a Mac and Scrivener, and her supervisor, who is leading the signed-language research, has expressed interest in switching to Mac and Scrivener as soon as the research funding comes through.

So a brief workflow explanation would be really helpful to a number of people here in Xiamen, as perhaps also to other readers of this thread.

Many thanks

I am a writer of historical fiction and non-fiction, and a long-time, enthusiastic user of Scrivener.

I have used NVivo to organise historical research in the past, but find it unwieldy. I have found that I can adapt Microsoft Word’s formatting styles feature to tag text within long documents, using dummy styles and then searching for them using the format find function. But of course Word has no equivalent to Scrivener’s Projects, so this method cannot be used to find text with a particular tag across a number of documents.

I wonder if a development of this rough and ready fix might not be applied to Scrivener, without too huge an outlay in terms of development time. It should address some of the issues posted in this thread and elsewhere.

What I am imagining is a facility for creating dummy formatting presets which do not affect the style of the text, but invisibly mark it (as the tag does in HTML). The Find > Find by Formatting command could then be adapted to find all passages of text within the project marked with one of these dummy presets.

Perhaps the Keywords HUD could be adapted to provide the mechanism for creating, choosing and applying these tags (by dragging and dropping the keyword onto the currently selected text).


What about the Annotations and/or Comments feature, as described earlier in this thread, doesn’t already do this? Yes, I know that neither does bulk collection by type (though can bulk collect both regardless of type), but for finding bits of text you’ve “tagged” one way or another with either tool, there is already ample feature set. I’ve been doing what you describe having done in Word, with Scrivener, for years now.