Have you ever wanted to copy some text from a dialog box which doesn’t provide such functionality?
Textify was created to solve this problem: you can point your mouse over the text, click on the mouse shortcut (Shift + Middle click by default), and get a selectable view of the text.
textify_setup.exe (592.8 kB, changelog)
Latest version: v1.10.3
If you’d like to translate Textify to your language, please refer to this comment.
Foxit Reader – I tried to grab the caption/title of the window. It gives me “Ribbon” instead of the real caption/title.
I tested with Inspect. I can see it there.
Consider to make a shortkey for “extended information”.
What “extended information” are you referring to?
I looked at it. You can find it manually in Inspect, but when you hover over the title bar, “Ribbon” shows up. Textify uses the same API to query the element under the mouse, and I’m not sure how to make it find/prefer the other element, except maybe implementing a special case for Foxit Reader, something I’m reluctant to do.
Consider to make a shortkey for “extended information”.
by “extended information” I mean that Textify will retrieve all the information at the right pane of Inspect.
This will solve Foxit case and other cases.
I don’t think it will help in this case. The problem is not that the value is set in a different property of the selected element, but that an incorrect element is selected.
It would be best for Foxit Reader to fix this, but they might not care since not many users rely on this.
hello, I downloaded textify years ago, the 1.5 version, portable version. now I downloaded from above the latested version, portable, but when I run it it says 1.5 version again. like it is not updated, why? thank you
Perhaps you didn’t close the previous instance. If the extracted portable version overrides the previous one, Textify should be closed automatically.
In any case, it’s best to make sure that another version of Textify is not running before running the new version.
where can i download official portable version of textify?
It can be extracted with the regular setup file. Choose the portable type while installing. Alternatively, run the setup with the
/portablecommand line switch.
Love the program, but it keeps showing the main window when opening on Windows startup. Is there a way to force it to always start minimized and in tray?
Please see my comment here:
That was stupid of me. I had to recreate the startup shortcut a while ago and forgot to include -hidewnd. Thought it was a bug of some sort. Sorry for wasting your time and thank you for supporting your wonderful free utilities. I’m using three of them.
Is there a commandline switch to start Textify to the tray?
Please see my comment here (or the comment just above yours):
Is there a hotkey to popup the query window with the query from selected words?
if it has this function, this tool may be the best web dict that can be use work with any program.
There’s no such functionality. If I understood your idea correctly, I could emulate Ctrl+C and grab the clipboard content, a bit hacky but should work most of the time. I’m not sure there’s a better way that can work universally.
Thanks for a great tool.
I am looking for a silent install/update switch. Standards like /s , /S, /silent do not seem to work. Am I missing something? Would be great to have to automate installs and updates.
oh… i see you install to %appdata%, would you consider an option to install to %ProgramFiles% ?
You can use the standard NSIS command line parameters, for a silent installation/update in a custom folder:
textify_setup.exe /S /D=C:\Textify
To install in the Program Files folder, you’ll need to run the setup as administrator. Also, Textify won’t be able to change the settings unless it runs as administrator.
The following error has occurred during the initialization of Textify:
Назначенная клавиша уже зарегистрирована.
(The assigned key is already registered.)
I’m trying any combination for solved this error (on sturtup)
but no chanse.
By default, Textify tries to register the Ctrl+Alt+Shift+T hotkey. The hotkey can be changed in the ini file. If your system says that the key is already registered for any hotkey you try, perhaps something is wrong with your system, maybe because of a conflict with another tool. I can add an option to disable the hotkey completely if that will help.
Thanks, Alt+ Left button mouse working correctly
I’m trying your software on Vivaldi (latest stable release). All accessibility options are enabled but I always get the title of the window wherever I click.
It works fine with Google Chrome.
I’ve never used Vivaldi, so I don’t have any insights. You can try asking on some community forum of Vivaldi users, perhaps somebody can help with that.
Also, see my comment here. You can try Inspect to make sure it’s not a Textify-specific problem.
Thanks for your answer. I reported the problem to Vivaldi team.
What about startup with windows (minimize in try)?
You can use the
-hidewndcommand line switch to run Textify with a hidden window. If you install Textify normally (not a portable version) and choose to run it at startup, this is done automatically.
It would be great if the program could capture tooltip as well.
I would be glad if you add this feature 🙂
Hi, I am really really thank you for this software.
I am modifying some parts of your code.
Could you please give me full source code of textify v_1.8.2 ?
I did clone source code on git. But
I build textify.sln on vs 2019. But, It doesn’t show web launch button. And I can’t do auto copy function with the code.
GitHub contains the latest version of Textify. Make sure that you configure the settings correctly for the web launch buttons to show up. You can install Textify separately, and then copy the configuration to the instance that you’re developing.
Thank you for your fast! reply.
I copied basic configuration to modifyed software by more setting.
But it did not work. Can you give me some explanation more in detail on settings?.
There are Three folders (asm, res, wow64ext).
And I can find two solution (naked64~.sln, textify.sln)
How can I make setup file of modified one on textify_v1.8.2 visual studio directory?
I build it. It is on my release folder of vs 2019.
But, the executable file shows like this.
I am not sure where to fix.
I’m not sure why it doesn’t work for you.
You can try debugging the following functions:
I t runs when textify.exe is with Icons folder on same directory.
I want to make these codes automatically copy some text on clipboard to excel file.
Where to modify?
You have the auto_copy_selection option that can be enabled to automatically copy selected text to the clipboard.
I’m not sure if that helps since I don’t quite understand what you’re trying to achieve.
I tried to make one button which is for copying auto-copied text to excel file.
Really thank you for reply.
I’m not sure I can help you with this, you’ll have to figure out how to do that.
it just copy the title of software or title of a web page
About the browser – if you’re using Chrome or another Chromium-based browser, see the “Textify and Google Chrome” section at the top of this page.
About software – Textify relies on UI Automation. Unfortunately, not all text can be grabbed this way, depending the way the target program is implemented. Which program doesn’t allow you to copy text other than the title?
One problem I have with the latest version (not sure if earlier versions had this problem) is when a context menu is open.
Say a context menu is open on File Explorer. When you activate Textify with its keyboard shorcut (not mouse shortcut, which I don’t use), the Textify window opens, but it doesn’t take focus, so
Ctrl+Cdoesn’t work etc… Which is fine by me, as I have
auto_copy_selection=1, but the more salient problem is that it isn’t possible to close the Textify window. It doesn’t close when I press
Esclike it normally does (that closes the context menu instead), and it doesn’t close when I click another window or scroll in another window either. It just remains open, on top of all windows, forever. It’s not possible to Alt+Tab to it and press
Esceither, as the Textify window does not appear as an Alt+Tabbable window. The only way to close it is using the mouse to click on the Textify window to actually activate it; then the usual methods of closing it works (either pressing
Escor just clicking/scrolling somewhere else).
I’m aware of this, and it’s been like this since the first version of Textify. Stealing focus from a context menu doesn’t work by regular means, and I remember trying to come up with a solution for this but failing to find a good one.
It can be annoying, but at least it works. As you said, you can click on it and then close it. You can also activate it in another location and then close it (pros: it gains focus, cons: it will copy a different text), or you can place your mouse on the unfocused window and use the mouse/keyboard shortcut.
Thank you for the answer! I actually like that it doesn’t steal focus from the context menu and cause it to close; it allows me to copy multiple items from the context menu easily, and I can then paste them using Win+V or another clipboard manager. (That’s not the case in other context menus, e.g. Edge/Vivaldi or Office; I guess they use non-standard menus.)
I just disliked having to move my mouse (or rather, my imprecise touchpad) to its exact location to close it — normally I use keyboard as much as possible. Somehow I missed the other workarounds you mentioned, I now started using them. Thank you for the extremely useful tool!
What a great tool i love it. But.
I like to copy all the text from different program windows, they have no API and no options to write their results in text files …
There is some information about the labels, text boxes, buttons, and radio buttons that I need to read and review.
I tried to write a program to read in VB6 for 3 months.
I can read my own VB6 programs, all objects on it have handles, but these external test programs only have one handle and with Winspy I cannot understand how I can find the contents / handles of all including Objects.
With your program it works flawlessly with all labels, buttons and text fields, that’s awesome.
Can you extend the program to the entire program window?
Or editable Option of this?
It doesn’t have to be nicely formatted, full text is enough, I have to look for individual values that are specifications.
so o look for an specific IP-Adress or Language like “German” and so on
Is there a trick or tip for me to develop it myself in VB6?
I interrestet also to understand Things in C and compile it for some freeware-Tools if they are, no problem. I understand many things ans will lern C od above Languages als JAVA and so on…
Can you help me please?
Thanks in advance Erwin
Textify uses the Windows UI Automation API. I’m not sure about VB6, but I’ve used Windows’ inspect.exe tool for simple tasks, and I also used Python’s pywinauto library for more advanced automation tasks.
Regarding adding full text extraction to Textify, that’s not possible at this time. You might want to take a look at this tip, perhaps you’ll find it helpful.
Textify cuts off the text after 4 096 characters.
Can this limit be increased?
The limit is imposed by the target program, not Textify. See the discussion here: https://rammichael.com/textify/comment-page-3#comment-8942
Quoting the relevant part:
Thanks for the prompt feedback – I should have known that (unfortunately I found this information too late).
You might be interested to know that I tried to do a little summary some time ago.
Please see here:
Tool “Textify” – Summary (english)
Great tool! In use almost every day 🙂
Thanks for the feedback and for sharing the summary, I’m sure other people found it useful. I’m glad that you like Textify 🙂
If I download it, Windows automatically removes it. Maybe OS system recognize it has a virus.
Maybe. Please report it to your antivirus vendor, and ask them to remove the incorrect detection.
Great prog. What is the syntax for running a program from a button?
I am having problems with paths with spaces, eg.
F:\Documents\qBittorrent standalone for Textify button.exe
This however works:
I can’t fix by enclosing path in “”. Is there a way to have paths with spaces?
Due to the format of the ini file, you need to use quotes twice. For example:
command=""F:\Documents\qBittorrent standalone for Textify button.exe""
Or for a command with arguments:
command=""F:\Documents\qBittorrent standalone for Textify button.exe" argument1 argument2 "argument3 with a space""
Excellent! Thanks mate.
thanks for the recent update of Textify to version 1.8.3.
It runs perfectly on Windows 7 SP1.
Unfortunately it does not run properly on Windows XP SP3 (running in VM VirtualBox) like the previous version 1.8.2.
When starting Textify I get this error. After that the programs starts up and seems to work so far.
Title: Textify keyboard hotkey initialization error
Error message: The following error has occurred during the initialization of Textify:Invalid attributes.
Would it be possible to fix that?
Right, I unintentionally used a flag that’s unsupported on Windows Vista and older. It’s surprising that somebody is still using Windows XP for anything. I’ll fix that in the next version. For now, as a quick fix you can patch Textify.exe with a hex editor at offset 2FD8 (or 12248 in decimal) from value 40 to 0.
Thanks, I patched the file and it works.
I don’t use Windows XP in a productive way, more as hobby and I like programs that work on Window 7 and XP as well (there are still numerous programs that work).
Greetings, thanks for the tool, but i’m wondering how do the advanced settings work?
I have this in my “More settings” config:
; Mouse and keyboard key numbers can be found here:
but the mouse still works, and I can’t trigger Textify with: multiply key + alt, as defined in the config
ah nvm, i figured it out. i needed to use the full value, aka “0x6A”
and i was clicking the key + alt, instead of alt + the key
Hello! I have the following button:
Is it possible to make Textify open the search page in a new tab (if Firefox is already open), rather than spawning a new Firefox instance (Window)? Thanks for this awesome program!
is equivalent to specifying:
command=firefox.exe -width 1200 -height 600 -new-window "https://www.google.com/search?q=%s"
For a new tab, you can just specify:
If Firefox is your default browser, you can just specify the URL:
Thank you for your reply!
One last thing (please)!
Is there a way to make Textify only search for selected text (highlighted text) in the capture window? Thank you.
If I understand what you mean correctly, that’s already how it works. Select some text, and then click on the search button, only the selected text will be searched.
When I activate Textify over the Firefox tab for this webpage, the popup has “Textify – RaMMicHaeL’s Blog” highlighted. When I click the Google button, it has no problem finding this page in its results.
However if the text in the popup has a lot more additional text, Google may not be able to find this page because it is looking for ALL of the text in the popup box. In this case, I want to highlight just “Textify – RaMMicHaeL’s Blog” while de-selecting the rest of the text in the popup box, then have Textify pass the highlighted text only as the search term I want Google to search for.
What is the name of the program you used to make that little animation, please?
OK, weird. It seems to be working now. Thank you!
I have another question…
Is it possible to enable tooltips which show the name of the web button when the mouse cursor is hovering it?
Also, can you make an icon appear in a tooltip, but magnified by, say 2 or 3 times? I have poor eyesight, and being able to recognize which icon is which is a tad bit difficult. Thank you for such a cool and useful program!
Done, I’ve just released a new version, please try it. If you’re updating, you’ll have to add
icon=..., like this:
That’s more tricky. I might look at it at another day.
Wow! That was fast! Thank you so much!
One more question: Is there a limit to the number of web buttons that can be created? I currently have 20 web buttons. When I try to create the 21st web button, the 20th web button disappears, and the 21st button takes its place.
Can this limit be raised, or removed completely? Thank you!
The limit is there by design. I don’t remember my rational for it, but I was quite sure that nobody will ever create nearly as much buttons. I don’t see a reason for any limit at all, so I’ll remove it in the next version.
For now, since you’re probably the only user affected by this, you can patch Textify.exe with a hex editor on address 61682 (F0F2 in hex). The bytes in this address are
14 00 00 00, you can change it to e.g.
FF FF 00 00to raise the limit to 65535.
Sweet! Thanks again for creating this super useful program :—)
I am wondering about the GitHub project here https://github.com/m417z/Textify
I can’t find any changes, releases or tags related to the releases of 1.8.3 and 1.8.4.
Has the development moved to some other place?
I mainly develop Textify locally on my machine, and only occasionally update the GitHub repo. I’ve just pushed the recent changes for 1.8.3 and 1.8.4.
Thank you for pushing the latest versions.
I believe this is a prerequisite for updating the chocolatey package at https://community.chocolatey.org/packages/textify
It was quickly updated after the new version was available there.
I need to open Textify and close the windows when i want it everytime. I hope it can start on system start, and run in the background. How to do it?
I found the reply in https://rammichael.com/textify/comment-page-3#comment-9913, it ok now
Hey there, I was wondering how to enable/use the ALt+1, ALT + 2, etc. hotkeys? Thank you!
Just click Alt+1 to activate the first button, Alt+2 for the second, etc. Unless that doesn’t work for you?
Pressing ALT+1, ALT+2, etc, does nothing. I think Textify is translating the key presses as an attempt to output ALT-Codes (ALT+###).
I did an experiment and made the edit text field not read-only. This lets me change the text in the text field. Pressing an ALT+1 outputs ☺ ALT+2 outputs ☻, etc.
You’re probably using the numpad keys? The shortcuts work only with the non-numpad number keys.
Bingo. I was using the NUMPAD keys. Using the keys above the keyboard work.
Out of curiosity, why did you make using the non-NUMPAD keys the default? Using the NUMPAD keys seems to be much easier, and faster, and more intuitive. Did you design Textify on a laptop that lacked NUMPAD keys?
BTW: I like lots o’ buttons: https://i.imgur.com/jHHsWhg.png
I didn’t give it much thought, I just used the system’s keyboard accelerators, which is as easy as setting the button texts to
&2, etc. These become the underlined letters you see when you hold Alt, e.g.: https://i.imgur.com/WA7uwOQ.png
I didn’t think of trying the numpad keys, but apparently they’re not supported in this scenario.
It’s also a bit similar to the Windows Win+# shortcut, which also doesn’t support the numpad keys, as it seems.
Wow! Great to know that Textify is put to good use 🙂
The keyboard accelerators are defined in the [web_button_1], [web_button_2], etc. names? That makes sense.
I’m stumped as to why these keys aren’t working for me (as the dialog box still had focus). Oh well, I’ll do some digging. Thanks for this cool program!
No, they’re just created in order according to the order of the buttons. You can think of it as if the
1is taken from “[web_button_1]” for the first 10 buttons (for button 10 it’s Alt+0).
I was wondering what the “WebApp.dll” is used for? I see that it has a dialog box to input an internet address, but I don’t see a way to access that feature.
You can use it with
popup-ie-control!. Instead of popping up your default browser, a window with an IE control will pop up. It might have been remotely relevant back in 2017 when this feature was introduced, but nowadays, Windows computers without Firefox or one of the Chromium-based browsers are nearly extinct, so I’m not even sure anyone uses it at this point.
Chromium-based browsers are nearly instinct
Oops, fixed 🙂
Is it possible to somehow work in telegram with this program?
Not at the moment, see:
Google products are very difficult to use, and mostly NOT-trusted. Internet explorer and bing are the same shit.
So I tried with no luck to make custom pop-up buttons like “ImTranslator”(extension) and watefox(bowser, based chromium-firefox).
How to (can I?) add ImTranslator in pop up buttons?
The following does not work:
* “BROWSER” is a variable ! (example for explain)
This is not work either with any of following:
(*I have only installed Waterfox.)
Gives the same error message:
An error occurred while trying to execute the following command:
popup-waterfox!moz-extension://cabaf830-6f07-45fa-9029-94d8e042e323/content/html/popup/translation-back.html?text=stop=%s (or %rs)
Any help please?
is an alias to:
firefox.exe -width <width> -height <height> -new-window "moz-extension://cabaf830-6f07-45fa-9029-94d8e042e323/content/html/popup/translation-back.html?text=&stop=%s"
popup-waterfox!command doesn’t exist.
You can see that in the source code.
So what you can try is using the following command:
waterfox.exe -width <width> -height <height> -new-window "moz-extension://cabaf830-6f07-45fa-9029-94d8e042e323/content/html/popup/translation-back.html?text=&stop=%s"
<height>with the desired parameters.
Textify its great!
Thank you very much for your help!
command=waterfox.exe -width 500 -height 600 -new-window “moz-extension://cabaf830-6f07-45fa-9029-94d8e042e323/content/html/popup/translation-back.html?text=%rs”
It works, but…
Possibly, because of this specific browser extension:
-width and -height does not work. (no mater if I set to same line as you point to me OR to new line like width=500)
%rs or %s not automatically added in url address. I have to paste it manually. (even if I edited like “…html?text=&stop=%s” or “…html?text=%s”)
It works for me in Firefox. You might want to ask the Waterfox developers about it.
This command works for me, so again, I don’t think that it has to do with Textify:
firefox.exe -width 500 -height 600 -new-window "https://www.google.com/search?q=%s"
Hello, what is the command line for running any program from Textify menu? Does it adopt the C:\Program Files path or it can handle only app variables or app shortcuts copied into C:\Windows? I had to write it as for example:
name=Text Edit Plus
command=text (a link to program pasted in C:\Windows path)
As I can see, Textify doesn’t support quotation marks in any path to program, when it has spaces or any path at all, which has spaces, but when the path has no spaces, then it works:
You need to add quotes, and you might need to add them twice. See my reply here:
Thank you very much. And is there an example of how an argument would appear here, for example for Working Dir, for running it minimized or maximized?
name=Text Edit Plus
command=””C:\Program Files\VOVSOFT\Text Edit Plus\text.exe””
Textify doesn’t have such options, it runs the command similarly to the way the Run dialog (Win+R) does. You can try creating a shortcut, configuring the parameters you mentioned, and using it instead.
OK. Thanks a lot.
Thanks so much for such a useful and great utility!
Auto start is set, but the setting window will pop up every time
Did you configure Textify to run at startup manually? If yes, add the
-hidewndcommand line switch to the startup entry or shortcut. If not, the setup wizard should have added this command line switch for you – make sure it exists and that there are no other startup entries.
The program has been working perfectly so far. Unfortunately, it hasn’t detected text in many pages since updating. (no text could be retrieved) just displays that. Previously, it worked flawlessly in the same program installed on windows 10. 🙁 what went wrong? 🙁
I don’t know why it stopped working for you. What do you mean by “many pages”? Is the problem specific to a particular program?
You can start by checking whether you can grab the text with Inspect, for details see my comment here.
Thank you very much for your reply and commitment. I was able to download an earlier version of the program and everything works fine here. For now, I will stay with the working version. 🙂 Thank you
I’m glad that you found a solution. If you can provide more information about the issue, I’d be glad to try and fix it in the latest version of Textify.
I have just installed the version from your site, it works in your own dialog box but in control panel programs and features it does not. Everything is “Explorer Pane”.
Where can I download the previous version ?
I can’t reproduce the problem, it works for me with the latest version of Textify.
Is the problem specific to the Programs and Features page? Can you check whether you can grab the text with Inspect? For details see my comment here.
I don’t keep old versions of Textify. I can build a version from an old snapshot of the source code, but I’d rather just fix the problem in the latest version.
How many characters can your program copy from the window?
The limit depends on the target program. See the following discussion:
Request for customizable button trigger key
If I add a button like this:
The “icon” is invalid. So Textify shows “_5” on the button. Thus Alt+5 can trigger the button.
This is good!
So I wonder if you can enhance it and let the user customize the key for the button, e.g.:
When the “icon” is invalid, Textify will show the &key in the “name” on the button (in the above case, “i”, instead of “5”; and Alt+i is the trigger).
If there’s no &key in the “name”, then show the number on the button.
And should avoid showing “&” in the name tooltip.
Thanks for the suggestion.
That should be possible, I’ll consider it for a future version.
Sounds unnecessarily complex to me. How about just adding a
keyparameter, so that it becomes:
Your solution is simpler and better.
Done in v1.8.9.
Works just as expected. Thanks again.
I guess you will add a comment for this feature in the ini file later?
Yes, I’ll mention it in a comment which will be available in the next version.
I have such a problem. The program works perfectly. Unfortunately, now on one computer in the program where everything worked before, it now shows me the following string: layoutControl1
On a different device and in the same program, everything works fine 🙁 please help.
Is the problem specific to one particular program? Perhaps the program was updated and the Automation API is no longer supported. Can you check whether you can grab the text with Inspect? For details see my comment here.
The same version of your program runs on the same program without any problem but on a different computer. It worked on it, but it doesn’t work anymore. These are the same windows systems and versions of the program I’m working on. The program previously worked fine on every device. Before, it was enough to install the earlier version and it worked ok. Then I installed the update and it started working fine again. Now that didn’t help. Is there any program memory saved somewhere? Uninstalling doesn’t help. Why is this just showing: layoutControl1 🙁
There’s a configuration file saved in the installation path (by default in
That’s probably what is provided by the target program. Try Microsoft’s Inspect tool which I mentioned above.
Thank you .
Can you send me a link from where I can download the older version? What can I use this Inspect program for? is it for copying too?
I don’t keep copies of older versions.
Yes, it can be used for copying, but it’s more convenient for inspecting UI Automation properties of programs.
Reinstalling doesn’t help. I do not understand why it works on the same program on one computer and not on the other. We are talking about the same version of the program and textyfi. You can’t even see the text in adobe. Could antivirus protection have an impact on this? or other winows settings? or is it solely the fault of the program. Generally textyfi is working beautifully now, but it has stopped. Does using vpn affect this?
I would assume Textify does it’s thing – it merely uses the accessibility API, and it gets a result (“layoutControl1”). I’m suggesting to try Inspect to make sure it’s not a problem in Textify, which you for some reason don’t do. Without your cooperation, it’s difficult for me to help.
I noticed that now the textyfi does not copy correctly even in windows itself in the dialogs of windows 10.
How can I help you figure it out. How to copy something through inspect. ? how to check if it works?
Here’s an example. I used your message as an example (1). Note how after placing the mouse over it, Inspect shows some information, including that text (2). Note also that in my case, Textify works as expected (3). And for Inspect, make sure that MSAA (not UI Automation) is selected (4).