It sounds like you're confusing TLD and TAG files. TLDs are just meta-information for your custom tags (think "classes" here) and sometimes for TAG files themselves. TAG files are in the JSP language and look like little JSP files themselves. Unless you're putting TAG files in a JAR and putting that JAR somewhere in your web application, you won't need to create a TLD for it. You can check out the J2EE tutorial for more info.