Miscellaneous, Development, j4

Joomla extension to check components, modules, or plugins for possible problems for submission to the JED.

# NEW JED Checker v2.4 - Joomla4 Ready! and much more...

Checks the extensions to discover Submission Error Codes

  • PH1 - Headers missing GPL license notice
  • PH2 - Files missing JEXEC security
  • PH3 - License tag missing or incorrect in the XML install file
  • US1 - Update Servers missing or incorrect in XML file(s).
  • Rule encoding - Base64 or another type of encoding in the files
  • Rule errorreporting - error_reporting(0) in the files
  • Rule Framework - Joomla Framework deprecated and unsafe
  • Rule Jamss - JAMSS - Joomla! Anti-Malware Scan Script

JED Checker

This extension is able to check your components, modules or plugins for common errors that will prevent you
from publishing your extension on the JED (Joomla! Extensions Directory).

If you are a developer and want to contribute to this extension you can fork this repo.

Uploading your package

After installing this extension in your Joomla! backend, you can use it by uploading a Joomla! extension-package using
the upload-button. Once uploaded, the contents of the package (your files) will be checked against JED-rules.

Adding rules

If you want to write a rule have a look a the administrator/components/com_jedchecker/library/rules folder.

You just need to add a new file with your rule, for example yourrule.php.

The file yourrule.php needs to have a class jedcheckerRulesYourrule and that class needs to have a
function that accepts the basedir as a parameter. This is all - the component will automatically call
your rule check function.

If you are going to contribute your rule to the project, then make sure that it follows the Joomla coding conventions
and that it passes the code sniffer:

Checking on existing files and folders

The extension also supports a scan of a pre-defined set of existing files and folders.
For this to work, add a list of folders to a text file tmp/jed_checker/local.txt.
There should be a folder on each line.
Once the file exists, a "Check" button becomes visible in the jedchecker-toolbar. Just hit it.

Example tmp/jed_checker/local.txt file:


History of the Extension

This extension was previously maintained by Compojoom (Daniel Dimitrov). Other developers that collaborated with the original project were Denis Dulici (, Riccardo Zorn (, Bernard Toplak, and eaxs (

Now, JED Checker is currently supported by Joomla (Open Source Matters).


Copyright (C) 2017 - 2019 Open Source Matters, Inc. All rights reserved.
Copyright (C) 2008 - 2016 . All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Changelog - JED Checker v2.4

  • Stable version 2.4.0 which is Joomla 4 ready.
  • Makes sure that the use encoding with base64 is still treated as an error, for manual investigation.
  • warning-level for GPL-compatible licenses
  • fix missed js folder in manifest
  • fix "unexpected protected"
  • remove extension type check (moving to XMLINFO rules)
  • add check for allowed extension type (moved here from XMLManifest rules)
  • remove incorrect since tags
  • fix collapsing in BS5
  • check folders exist
  • fix processing of one-line comments
  • Apply naming rules to the main manifest file(s?) only (others are checked for URLs, ASCII, length, and menu name only)
  • sort sidebar menu items according to the $ordering field
  • remove GPL-incompatible licenses
  • fix version to 2.4
  • fix processing of short php tags
  • switch to JEDCheckerHelper::findManifests
  • switch to use of JEDCheckerHelper in xmlfiles
  • Display full path to the file/folder in the error message
  • switch to JEDCheckerHelper::findManifests
  • Joomla code-style fix
  • switch to use of JEDCheckerHelper in xmlinfo
  • Check length of the listing name (warning for 40+, error for 80+)
  • Error for non-ASCII characters in the listing name
  • Allow trailing "for Joomla" in the listing name
  • check prefixed names
  • check reserved words
  • extract extension's language file loading into function loadExtensionLanguage
  • change foreach-based to regex-based search in encoding.php
  • Mitigate Encoding rule to warning-level
  • skip nonexecutable files [starting with die() or exit()] in GPL rule
  • introduce JEDCheckerHelper::findManifests to get "real" manifest files, sorted by depth
  • Add JEDCheckerHelper class with some common methods
  • Mitigate unquoted strings error to a warning
  • add newline at end of dtd-json files
  • Warning on outdated manifest format
  • fix Joomla codestyle
  • fix Joomla codestyle
  • Check both filename and file nodes
  • check namespace path directory exists
  • check addfieldpath/addformpath/addrulepath directories exist
  • add "tgz" into a list of possible archive extensions
  • Check files in the fileset node of type="file" extensions
  • check fonts in language package
  • Detect tabs in key names
  • Check file is correctly read
  • Add descriptions for new checks
  • Check for spaces around the translation string (just a notice for en-GB language)
  • separate check for left and right quotes (for convenience)
  • Check for invalid UTF8 values
  • Check for incorrect EOL
  • Support J4-style language file names
  • remove notice on unused argnum syntax, but keep detection of incorrect argnum syntax
  • use warning for BOM followed by newline or comment
  • Allow packager and packagerurl in library extensions
  • Mitigate error to a note for missed optional node
  • implement prefixed rules in DTD-json (to separate processing of files>file and sql>file nodes)
  • rule to found missed/incorrent client attribute
  • rule to found missed method="upgrade"
  • Fix warning on types not supported by JED
  • fix issue with processing of fileset>files in type=file extensions
  • warning for template w/o positions
  • support dlid attributes
  • dtd-json files for file, library, and template manifests
  • support optional url tag in packages
  • don't warn on empty child with attributes (e.g. field nodes)
  • new inspection: empty element
  • change unknown children and attribute to just an info-level message
  • validate domain name in both authorUrl and packagerurl
  • Joomla! code style fixes
  • get localized component title from sys.ini file
  • unify displayed code lines
  • change translation strings
  • few more checks for translation keys validation
  • change message type: compat for QQ, and info for empty values
  • check for duplicated translation keys
  • parse multiline values
  • unify code lines displaying
  • Add support of Bootstrap5 tooltips
  • simplify code
  • add zlib's encode/decode
  • check for full function names (to avoid false-positive with base64-encoded URI)
  • show line number and code in the encoding rule
  • sync accept attribute with discussion on PR#90
  • change tabs background to bg-light
  • display uploading animation
  • add processing of errors in response (timeout, server error, expired session, etc.)
  • simplify processing of ajax results
  • Add support of Bootstrap5 tooltips
  • merge similar CSS blocks to reduce file size
  • use unminified CSS in debug mode
  • add missed js files
  • load minified css style
  • new j4-style layout
  • simplify regex
  • a "greedy" match
  • fix comment text
Found the JED Checker useful when developing my in-house extensions and also when checking out third party extensions available from JED.
Ease of use
Intuitive to use and good explanatiions of each section of the report and the issues found.
Haven't needed support so far, but the Github pages are easily accessible.
This extension is almost self-explanatory for PHP and Joomla developers and does not need volumes of documents.
I used this to: Check the extensions I developed before use and especially before submitting an extension to JED. Sometimes I also use JED Checker to check the quality of third party extensions from JED.

Really Helpful

Posted on 19 September 2019
This extension is fully functional. It helps you to find out the errors if you have any on your extensions.
Ease of use
It is really easy to use extensions. There is no learning curve.
I didn't need to get support. But I am sure it has good support.
I didn't check the documentation. I am sure it will be fully documented.
I used this to: I used this to check our extensions before submitting to JED. All our extensions are verified with this extension first.
It is based on general Joomla practices. In the future, it could support other PHP practices. Upload and test the extension, Simple.
Ease of use
Upload and test the extension, Simple and effective. It is based on general Joomla practices. In the future, it could support more tips.
Support is provided on Github. It is based on general Joomla practices.
The documentation is available on JED. Support is provided on Github.
I used this to: To check all extensions submitted on JED. The documentation is available on JED.

Nice and easy!

Posted on 19 January 2018
Works as expected and helps for the final checks before uploading new extensions to JED.
Ease of use
Would be nice if a button is implemented that uploads, unzips and checks the file with one click! But it works nice and uncomplicated :-)
I used this to: Checking extensions before uploading to the JED and that works great. Beats searching each source file by ourselfs :-)

ok plugin

Posted on 06 July 2017
Ease of use

good extensions

Posted on 26 January 2015
perfect functionality
Ease of use
very easy, in 3 easy steps we have tested our extensions
I have not needed
I used this to: my extensions test
This tool is indispensable for all Joomla! developers. Easy to use but very effective.
The JED checker tool proves as a complete lifesaver for our team. We specifically check all of our extensions with it before uploading our listings in the JED.

It has saved us many times from getting our listings unpublished on JED as well as fixing the unpublished listings too.

It's one of the awesome contribution to the Joomla Family.
It spotted in seconds issues with my extension. Hours of work spared.

Great Extension

Posted on 12 January 2014
It is very excellent component.It save lot of time for me.


By Joomla Official Extensions
Official Extensions
The Web Links Manager allows you to add, edit and remove links to other web sites on your Joomla! web site, and organize them into categories. You can then display these links on your site, and optionally let visitors add new links....
Ridiculously Responsive Social Sharing Buttons for Joomla

Ridiculously Responsive Social Sharing Buttons for Joomla

By Joomla Official Extensions
Official Extensions
This is a Joomla! plugin which adds social sharing buttons and metadata optimized for Open Graph and Twitter to com_content items. Requirements Joomla! 3.9 or newer PHP 7.2.5 or newer Support This plugin is primarily designed for use on the website network and as such priority is given to the use cases there. Additional features or use cases will be considered on a case-by-case b...

JED Checker

Joomla Official Extensions
Last updated:
Aug 08 2023
11 months ago
Date added:
Nov 19 2014
GPLv2 or later
Free download
J3 J4

Uses Joomla! Update System


Write a review