How do I format XML in Notepad++?

Asked 2023-09-20 20:58:56 View 482,373

I have Notepad++ and I got some XML code which is very long. When I pasted it in Notepad++ there was a long line of code (difficult to read and work with).

I want to know if there is a simple way to make the text readable (by readable I mean properly tabbed code).

I can do it manually, but I want a permanent solution to this as I have faced this several times. I am sure there is a way to do this as I have done it once before a couple of years back, maybe with Visual Studio or some other editor, I don't remember.

But can Notepad++ do it?

  • Configuring the XMLTools is bit tricky with latest versions. In Windows 10, Notepad++ version V6.6.8 I have configured XMLTools 2.4.7 successfully. Download the latest plugin from this link and follow the instruction in install.txt > notepad-plus-plus.org/community/topic/125/… . - anyone
  • Current solution for the 64bit version: superuser.com/q/1239935/333622 - anyone
  • @S.Roshanth seems to be resolved in latest 8.x versions of 64-bit Notepad++. Just use Plugins -> Plugins Admin and search for XMLTools and install there. The menu options to format then appear in Plugins -> XML Tools. - anyone

Answers

Try Plugins -> XML Tools -> Pretty Print (libXML) or (XML only - with line breaks Ctrl + Alt + Shift + B)

You may need to install XML Tools using your plugin manager in order to get this option in your menu.

In my experience, libXML gives nice output but only if the file is 100% correctly formed.

Answered   2023-09-20 20:58:56

  • if you cant find XML Tools under Plugins, intall it from Plugins > Plugins Manager > Show Plugins Manager - anyone
  • If you get the "Errors detected in content" error when trying to use this plugin, try XML Tools -> Check XML syntax now. I had an issue where the encoding was specified as UTF-16 but was actually UTF-8. Changing the encoding attribute in the XML file fixed the problem. - anyone
  • And if your Plugins Manager can't find XML Tools because you are behind a proxy at work, download it from here sourceforge.net/projects/npp-plugins/files/XML%20Tools Then copy XMLTools.dll to the plugins directory and the rest of the four dlls to the root Notepad++ directory. - anyone
  • Ad if you cannot see any plugin available, go to "updates" and update your plugin manager. - anyone
  • ...AND if you don't have a Plugin Manager plugin, you can get it from here: github.com/bruderstein/nppPluginManager/releases - anyone

You need to install the XML tool from the Plugins menu item → Plugins Admin...Plugins Admin dialog appears and then scroll to bottom of available plugins and check the XML tools, install it and then Ctrl + Alt + Shift + B OR the option for XML Tool above shows up.

Answered   2023-09-20 20:58:56

Step 1: Install XML Tools plugin
Step 2: Format ....completed

enter image description here

Answered   2023-09-20 20:58:56

  • great answer, however i don't have the "Plugin Manager" o_O Can someone help? Was it removed meanwhile? - anyone
  • worked for me..For the new versions of notepad++ have plugin admin instead of plugin manager - anyone

Try TextFX → TextFX Html Tidy → Tidy: reindent XML

If you can't try with Eclipse, do right button, source, and correct indent.

Answered   2023-09-20 20:58:56

  • Thanks for the answer but I am not able to find Tidy: reindent XML in my TextFX Html Tidy menu. Can you tell me what I am missing? - anyone
  • If you have no global "TextFX" option then you need to install the plugin named TextFX. But that's not enough, apparently 6.x versions are also missing the libtidy.dll download so you have to go through hoops to get it. Then you will have a Tidy: reindent XML option (I presume) - anyone
  • I have such option but it does nothing (and gives no error message). - anyone
  • For anyone else wondering, the hoops mentioned by @rogerdpack are discussed here - anyone
  • The main issue I have with TidyXML is that it's maddeningly slow for any file over a meg or two. - anyone

Plugins -> XML Tools -> Pretty Print (libXML) or Ctrl+Alt+Shift+B

You probably need to install the plugin:

Plugins > Plugins Manager > Show Plugins Manager

If you are behind a proxy, download it from here.

Then copy XMLTools.dll to the plugins directory and external libraries (four dlls) into the root Notepad++ directory.

Answered   2023-09-20 20:58:56

Here are most of plugins you can use in Notepad++ to format your XML code.

  • UniversalIndentGUI
    (I recommend this one)

Enable 'text auto update' in plugin manager-> UniversalIndentGUI
Shortkey = CTRL+ALT+SHIFT+J

  • TextFX
    (this is the tool that most of the users use)

Shortkey = CTRL+ALT+SHIFT+B

  • XML Tools
    (customized plugin for XML)

Shortkey = CTRL+ALT+SHIFT+B

Answered   2023-09-20 20:58:56

  • When I use UniversalIndentGUI to indent one big line of XML, it doesn't work. I have no change. - anyone
  • I checked again and it doesn't work just after installing the plugin. You have to edit settings of the plugin, go to XML Indent options and check the Force newline option. Now it works. Thanks for the tips because it helps for XML not 100% correct :) - anyone
  • UniversalIndentGUI worked for me where other options have failed, not sure why except that the XML file I was prettifying was 40MB plus. It was also extremely quick. Props to Alex for the XML force newline option tip. - anyone
  • TextFX has been phased out - from TextFX's Future: "... bid farewell to an aging workhorse that has served the community well." - anyone

All the previous answers do not define how to add the plugin manager in your Notepad++ installation.

This is for the folks who do not see the the plugin manager in the plugin tab

Download the plugin manager from this link - this is for the 64-bit plugin manager. Once you download the plugin manager, paste in the plugin folder. This is was my location of plugin folder: C:\Program Files\Notepad++\plugins

Enter image description here

After pasting the .dll file restart Notepad++. Now you can install any plugin. To install a plugin, click on the plugin tab, then go to plugin manager and select the plugin whatever you want.

Answered   2023-09-20 20:58:56

For best results, you should use both TextFX XML tidy and XML tools pretty print. Here's how and why:

1.TextFX -> TextFX HTML Tidy -> Tidy: reindent XML

TextFX has the benefit of wrapping long lines, which XML Tools does not do, but it doesn't indent those new lines correctly.

2. XML Tools -> Pretty print (Text indent)

XML Tools complements TextFX by indenting the newly wrapped lines nicely.

Answered   2023-09-20 20:58:56

  • I was trying to compare 2 different environment config files...that had 10 or so different settings...but the xml attributes were on one-line in one file and on different lines in the other xml file. Only by doing both of these did the actual differences pop up on a file-compare tool. Thanks. - anyone
  • TextFX has been phased out - from TextFX's Future: "... bid farewell to an aging workhorse that has served the community well." - anyone

OK, here is how I did it in Notepad++:

  • Plugins
  • Plugin manager
  • Show plugin manager
  • Check XML tools
  • Install
  • Restart Notepad++
  • Open XML file
  • Plugins
  • XML tools
  • Pretty print (XML only -- with line breaks)

Answered   2023-09-20 20:58:56

If you get this error:

Notepad++ Error: Cannot load 32-bit plugin

Cannot load 32-bit plugin, XMLTools.dll is not compatible with the current version of Notepad++

Here you can find a working version for Windows 10 x64: Xml Tools 2.4.9.2 Unicode

Note: It's the only version I've found working on Windows 10 Professional x64.

Answered   2023-09-20 20:58:56

Plugins -> Plugins Admin -> search for XML Tools

Once install the XML Tools Plugin

select the entire XML file content and click on pretty print

or

Ctrl+Alt+Shift+B

Answered   2023-09-20 20:58:56

  • The option is in the menu Plugins > XML Tools > Pretty print (believe it or not, I couldn't find it). It's not necessary to select the entire XML - anyone

Notepad++ v6.6.3 with plugin "XML Tools" and shortcut Ctrl + Alt + Shift + B works fine.

Answered   2023-09-20 20:58:56

You can find details here To Quickly Format XML using Pretty Print (libXML)

Installing the XML Tools

If you run Notepad++ and look in the Plugins menu, you’ll see that the XML Tools aren’t there:

  1. Download the XML tools from here.

  2. Unzip the file and copy the XMLTools.dll to the Notepad++ plugins folder (in the example above: C:\Program Files (x86)\Notepad++\plugins):

  3. Re-start Notepad++ and you should now see the XMLTools appear in the Plugins menu.

  4. Unzip the ext_libs.zip file and then copy the unzipped DLLs to the Notepad++ installation directory (in the example above: C:\Program Files (x86)\Notepad++).

  5. Re-start Notepad++ and you should finally see the proper XML Tools menu.

  6. The feature I use the most is “Pretty print (XML only – with line breaks)”. This will format any piece of XML with all the proper line spacing.

Answered   2023-09-20 20:58:56

There is no such a thing like TextFX in Notepad++, not in the latest version at least. This is one of the reasons I'm still with DreamWeaver even if it is driving me insane being slow and unresponsive from time to time...

Answered   2023-09-20 20:58:56

  • yes, things have changed a lot in the new version, but I was still un able to solve it out! - anyone
  • for versions 5.9.x, go to plugins -> plugin manager -> show plugin manager and you can add it from here - anyone
  • The ability to add or not add certain features might be weird at first, BUT that is why so many people USE Notepad++ over much bulkier products like DreamWeaver! YOU decide how thin or fat your program is rather than have the kitchen sink load all day every day... (and, this should have been a comment rather than a submitted answer) - anyone

The location of XML tools has changed slightly since this question was first asked.

I am currently using Notepad++ v7.8.6

New location is:

  • Plugins tab
  • Plugins Admin...
  • Plugins Admin dialog appears with Available plugins tab as the default
  • Scroll to the bottom and check the XML Tools checkbox
  • Click Install button in top right of the dialog

This will close Notepad++ while it installs and then restart it automatically.

Then there are a couple keyboard shortcuts to beautify the XML:

  • Pretty Print: Ctrl + Shift + Alt + B
  • Pretty Print (indent attributes): Ctrl + Shift + Alt + A

To see more XML Tools options:

  • Plugins tab
  • XML Tools option

Answered   2023-09-20 20:58:56

"But can Notepad++ do it?"

If the XML is invalid, the answer is apparently 'no'. I tried Notepad++ with the Tidy2 and XMLTools plugins. Both give errors similar to "errors encountered, please fix". If you don't care about errors, that's a PITA.

Instead, open it in visual studio then edit -> advanced -> format document. Quick and pretty.

Answered   2023-09-20 20:58:56

  • XMLTools will complain if there is no root element. If your XML is otherwise valid, you can fix it by just adding something like <root>/</root> at the top/bottom. - anyone

The latest version of Notepad++ x64 v7.6.2 on Windows 10 already moved the plugin manager to 'Plugins Admin'.

Old versions of Notepad++ and plugin manager won't work.

Answered   2023-09-20 20:58:56

If your XML is imperfect, try this with the TextFX Characters plugin (install from Plugin manager):

First, find a ">" to copy into the clipboard. Then select ALL your text, and then...

On the main menu: TextFX -> TextFX Edit -> Solit lines at clipboard char...

This will do a reasonable job, not perfect, but things will be readable, at least.

I had to do this with XML code stored in an SQL Server database, where the headers weren't stored, just the XML body...

Answered   2023-09-20 20:58:56

  • TextFX has been phased out - from TextFX's Future: "... bid farewell to an aging workhorse that has served the community well." - anyone

Since I see lots of comments about people having problems with the plugin, I thought I'd mention the work around that I use.

I just use one of the online sites for XML viewing (I use https://codebeautify.org/xmlviewer, but there are plenty out there) as follows:

  1. Paste the XML content in the input window
  2. Click the "Beautify / Format" button
  3. Copy formatted XML output from the result window
  4. Paste in Notepad++

I don't know if it qualifies as answering the OP's question exactly, but it's very simple and easy for anyone who is having problems with the plugin.

Answered   2023-09-20 20:58:56

  • Only do this if your xml does not contain any sensitive/private data - anyone
  • codebeautify stores the xml we paste there so it is better to avoid such tools. - anyone

You can't, granted you don't have access to install plugins. But you probably have or can get Eclipse (Visual Studio can do this too).

Ctrl + N (new file) → (choose XML file) → (paste your XML content) → Ctrl + Shift + K (format)

If you want to format JSON NotePad++ can do this by default with Ctrl + Alt + m

Answered   2023-09-20 20:58:56

UniversalIndentGUI did the job for me, once configured properly as described above.

TextFX would not install and run correctly on an old PC I have running Windows XP. There are instructions above for manual installation of various DLL files, but I'd rather avoid any manual installation.

UniversalIndentGUI formatted some lines like this:

        <ClockStatus>1
        </ClockStatus>

And I would have preferred:

        <ClockStatus>1</ClockStatus>

But the output is still much better than one long line!

Answered   2023-09-20 20:58:56