Is there any linux command to extracts all the ascii strings from an executable or other binary file? I suppose I could do it with a grep, but I remember hearing somewhere that such a command existed?

5 Answers 5


The command you are looking for is strings

Its name is quite self-explanatory, it retrieves any printable string from a given file.

man strings gives:


strings - find the printable strings in a object, or other binary, file

strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

  • In some use cases, white space, including newlines, is considered "ascii". GNU strings option -w (--include-all-whitespace) might help in those cases. Jan 13 at 12:48
  • awesome! I didn't know such command existed. Now I can finally grep files containing a mixture of text and non-printable data. Jan 13 at 17:51

The strings command is the way to go for this particular type of problems. Sometimes you also have to pipe it out to grep.

For example:

strings somebinaryfile | grep textuwanttofind

The command does exist, and is called.... strings!


A problem with using strings is that you don't see surrounding non printables and you have to be careful with the minimum string length.

A problem using

od -c FILE
hexdump -C FILE
is that a sequence can be difficult to find if it wraps a line.

Something I like a lot for this is ZTreeWin running in WINE on Linux - you can do a lot with it but the searching in any file or editing binaries can be particularly useful.

The awesome ytree package is available for many Linux and Unix variants and has a good Hex dump view of any file but doesn't have the search that ZTreeWin (and its 16bit predecessor, XTree) have.


The od command can do this:

od -c *filename*
  • 3
    yeah, that does extract the ASCII characters, but it's not really the strings, per se. I think that 'strings' is more useful for the majority of cases.
    – user5336
    Aug 7, 2009 at 15:07
  • Ya, didn't know about that command, but I do now! AlberT got my '+1' :-) Aug 7, 2009 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.