{"id":37234356,"url":"https://github.com/katmore/tld-enum","last_synced_at":"2026-01-15T03:58:43.672Z","repository":{"id":57004793,"uuid":"113097376","full_name":"katmore/tld-enum","owner":"katmore","description":"Lists of every ICANN TLD in multiple formats","archived":false,"fork":true,"pushed_at":"2018-06-23T03:34:32.000Z","size":397,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-17T05:43:07.938Z","etag":null,"topics":["csv","csv-files","enumeration","iana","iana-database","icann","javascript","json","node","php","php7","tld","top-level-domains"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"incognico/list-of-top-level-domains","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/katmore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-04T21:31:12.000Z","updated_at":"2021-10-07T12:42:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/katmore/tld-enum","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/katmore/tld-enum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katmore%2Ftld-enum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katmore%2Ftld-enum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katmore%2Ftld-enum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katmore%2Ftld-enum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/katmore","download_url":"https://codeload.github.com/katmore/tld-enum/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katmore%2Ftld-enum/sbom","scorecard":{"id":551660,"data":{"date":"2025-08-11","repo":{"name":"github.com/katmore/tld-enum","commit":"2d04babd0e365be67e3d9b021b3f3ce195dd6521"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"29 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-p28h-cc7q-c4fg","Warn: Project is vulnerable to: GHSA-582f-p4pg-xc74","Warn: Project is vulnerable to: GHSA-qrmc-fj45-qfc2","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-hxm2-r34f-qmc5","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-qhv9-728r-6jqg","Warn: Project is vulnerable to: GHSA-g7q5-pjjr-gqvp","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-cf4h-3jhx-xvhq"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T11:03:19.107Z","repository_id":57004793,"created_at":"2025-08-20T11:03:19.107Z","updated_at":"2025-08-20T11:03:19.107Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28419274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","csv-files","enumeration","iana","iana-database","icann","javascript","json","node","php","php7","tld","top-level-domains"],"created_at":"2026-01-15T03:58:43.074Z","updated_at":"2026-01-15T03:58:43.666Z","avatar_url":"https://github.com/katmore.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TLD Enumerations\nLists of every [IANA TLD](http://data.iana.org/TLD/tlds-alpha-by-domain.txt) in various formats. The lists may be continuously updated using the included [update utility](#updating-the-tld-format-files) that pulls the latest data from IANA.\n\n * [CSV Format](./tlds.csv)\n * [All Format Files](#tld-list-formats)\n * [Updating the Format Files](#updating-the-tld-format-files)\n * [Node Usage](#node-usage)\n * [PHP Usage](#php-usage)\n \n## Usage\nBecause the lists are provided in universial CSV and JSON formats, they can be easily utilitized in most programming environments.\nAdditionally, for convenience, some native programming language formats have also been provided.\n * [Node Usage](#node-usage)\n * [More Node Examples](#more-node-examples)\n * [PHP Usage](#php-usage)\n * [More PHP Examples](#more-php-examples)\n\n### Node Usage\n * use npm to add the `tld-enum` package to your project\n   ```sh\n   $ npm install tld-enum --save\n   ```\n   \n * add the module to your source\n \n   ```js\n   const tldEnum = require('tld-enum');\n   ```\n   \n * access the list by using the `tldEnum.tldList` array\n \n   ```js\n   const tldEnum = require('tld-enum');\n   console.log(tldEnum.list); //an array with every IANA TLD\n   ```\n   \n   The following example...\n   ```js\n   const tldEnum = require('tld-enum');\n\n   console.log(\"There are \" + tldEnum.list.length + \" IANA TLDs\");\n\n   let tldCheck;\n\n   tldCheck = \"com\";\n   console.log(\"Is '\" + tldCheck + \"' a real TLD?\");\n   if (tldEnum.list.indexOf(tldCheck.toLowerCase()) != -1) {\n       console.log(\"  yes\");\n   } else {\n       console.log(\"  no\");\n   }\n\n   tldCheck = \"somethingWeird\";\n   console.log(\"Is '\" + tldCheck + \"' a real TLD?\");\n   if (tldEnum.list.indexOf(tldCheck.toLowerCase()) != -1) {\n       console.log(\"  yes\");\n   } else {\n       console.log(\"  no\");\n   }\n   ```\n   \n   Should produce the following output...\n   ```txt\n   There are 1577 IANA TLDs\n   Is 'com' a real TLD?\n      yes\n   Is 'somethingWeird' a real TLD?\n      no\n   ```\n\n#### More Node Examples\n * [js-demo.js](/examples/js-demo.js) Demo using the simple array of every TLD in JavaScript.\n * [js-desc-demo.js](/examples/js-desc-demo.js) Demo using the TLD description hashmap in JavaScript.\n * [js-type-demo.js](/examples/js-type-demo.js) Demo using the TLD type hashmap in JavaScript.\n * [js-info-demo.js](/examples/js-info-demo.js) Demo using the array of TLD info hashmaps in JavaScript.\n\n### PHP Usage\n * use composer to add the `katmore/tld-enum` package to your project\n   ```sh\n   $ composer require katmore/tld-enum\n   ```\n   \n * access the list by using the `\\TldEnum\\TldList::TLD_LIST` class constant array\n \n   ```php\n   \u003c?php\n   print_r(\\TldEnum\\TldList::TLD_LIST); //an array with every IANA TLD\n   ```\n \n   The following example...\n   ```php\n   \u003c?php\n   use TldEnum\\TldList;\n\n   echo \"There are \" . count(TldList::TLD_LIST) . \" IANA TLDs\\n\";\n\n   $tldCheck = \"com\";\n   echo \"Is '$tldCheck' a real TLD?\\n\";\n   if (in_array(strtolower($tldCheck), TldList::TLD_LIST)) {\n       echo \"  yes\\n\";\n   } else {\n       echo \"  no\\n\";\n   }\n\n   $tldCheck = \"somethingWeird\";\n   echo \"Is '$tldCheck' a real TLD?\\n\";\n   if (in_array(strtolower($tldCheck), TldList::TLD_LIST)) {\n       echo \"  yes\\n\";\n   } else {\n       echo \"  no\\n\";\n   }\n   ```\n   \n   Should produce the following output...\n   ```txt\n   There are 1577 IANA TLDs\n   Is 'com' a real TLD?\n      yes\n   Is 'somethingWeird' a real TLD?\n      no\n   ```\n\n#### More PHP Examples\n * [php-demo.php](/examples/php-demo.php) Demo using the simple array of every TLD in PHP.\n * [php-TldDesc-demo.php](/examples/php-TldDesc-demo.php) Demo using the TLD description hashmap in PHP.\n * [php-TldType-demo.php](/examples/php-TldType-demo.php) Demo using the TLD type hashmap in PHP.\n * [php-TldInfo-demo.php](/examples/php-TldInfo-demo.php) Demo using the array of TLD info hashmaps in PHP.\n\n## TLD List Formats\n * **CSV**: [tlds.csv](/tlds.csv)\n \n    A CSV file providing a row for every IANA TLD with the following three columns: *domain* (TLD), *description*, and *type*.\n    \n * **PHP**\n    * [TldList.php](/formats/php/TldEnum/TldList.php)\n \n       A PHP source file providing a class constant array comprised of every IANA TLD.\n       \n    * [TldDesc.php](/formats/php/TldEnum/TldDesc.php)\n \n       A PHP source file providing a class constant assoc array with a key for every IANA TLD and the corresponding TLD's \"description\" as the value.\n       \n    * [TldType.php](/formats/php/TldEnum/TldType.php)\n \n       A PHP source file providing a class constant assoc array with a key for every IANA TLD and the corresponding TLD's \"type\" as the value.\n       \n    * [TldInfo.php](/formats/php/TldEnum/TldInfo.php)\n \n       A PHP source file providing a class constant array of \"info\" assoc array elements of every IANA TLD.\n  \n * **JSON**\n    * [tld-list.json](/formats/json/tld-list.json)\n \n       A JSON formatted array comprised of every IANA TLD.\n       \n    * [tld-desc.json](/formats/json/tld-desc.json)\n \n       A JSON formatted object with a property for every IANA TLD and the corresponding TLD's \"description\" as the value.\n       \n    * [tld-type.json](/formats/json/tld-type.json)\n \n       A JSON formatted object with a property for every IANA TLD and the corresponding TLD's \"type\" as the value.\n       \n    * [tld-info.json](/formats/json/tld-info.json)\n \n       A JSON formatted array of \"info\" object elements of every IANA TLD.\n       \n * **JavaScript**\n    * [list.js](/formats/js/tld-enum/list.js)\n \n       An export module with an array comprised of every IANA TLD.\n       \n    * [desc.js](/formats/js/tld-enum/desc.js)\n \n       An export module with an object containing a property for every IANA TLD and the corresponding TLD's \"description\" as the value.\n       \n    * [type.js](/formats/js/tld-enum/type.js)\n \n       An export module with an object containing a property for every IANA TLD and the corresponding TLD's \"type\" as the value.\n       \n    * [info.js](/formats/js/tld-enum/info.js)\n \n       An export module with an array comprised of \"info\" object elements of every IANA TLD.\n    \n## Updating the TLD format files\nAll [TLD List Formats](#tld-list-formats) can be updated with the latest data from IANA by using the [**TLD Update Utility**](/bin/devel/update-formats.sh).\n\n```sh\n$ bin/devel/update-formats.sh\n```\n\n### TLD Update Utility Prerequisites\n * Node.js version 8.11 or higher.\n * (Optional) PHP command-line version 7.2 or higher, to re-generate the [PHP format files](#tld-list-formats).\n * The *devDependencies* from [*package.json*](./package.json) must be available.\n   \n   * If **tld-enum** was installed in an outside project using npm, then the *tld-enum* dev dependencies must be installed manually, as in the following example:\n   \n     ```sh\n     npm install async-request --save-dev\n     npm install cheerio --save-dev\n     npm install commander --save-dev\n     npm install country-data --save-dev\n     npm install countryjs --save-dev\n     npm install csv-parse --save-dev\n     npm install csv-stringify --save-dev\n     npm install es6-promisify --save-dev\n     npm install fs --save-dev\n     npm install fs-extra --save-dev\n     npm install md5-file --save-dev\n     npm install pathinfo --save-dev\n     npm install request --save-dev\n     npm install tmp --save-dev\n     ```\n     \n   * If **tld-enum** was installed in an outside project using npm, then the **TLD Update Utility** can be executed from the *node_module* directory, as in the following example:\n      \n     ```sh\n     node_modules/tld-enum/bin/devel/update-formats.sh\n     ```\n\n### TLD Update Utility Usage\n```txt\nusage:\n  update-formats.sh [-h]|[-q][format file options...]\n\n-h,--help: Print a help message and exit.\n-q,--quiet: Print only critical messages.\n\nformat file options:\n  --force-php: Creating the PHP format files is mandatory.\n  --skip-php: Always skip creating the PHP format files.\n  --skip-csv: Use existing tlds.csv and do not download new data from IANA.\n```\n\n### TLD Update Helpers\nInternally, the *TLD Update Utility* uses multiple *\"helper\" scripts* to generate the full set of native format lists.\nThese individual *\"helper\" scripts* should not be directly executed except for development and troubleshooting purposes.\n\n## Legal\nThe source code in this project is based on a fork of certain source code originally from the [incognico/list-of-top-level-domains](https://github.com/incognico/list-of-top-level-domains) project, as retrieved on 2017-12-04, which was published to the public domain.\n\n### Copyright\nTLD Enumerations - https://github.com/katmore/tld-enum\n\nThe following copyright notice applies to all resources in this project unless specifically noted otherwise:\n\nCopyright (c) 2017-2018 Doug Bird. All Rights Reserved.\n\n### License\nAll resources in the *TLD Enumerations* project are copyrighted free software unless specifically noted otherwise.\n\nYou may redistribute and modify it under either the terms and conditions of the\n\"The MIT License (MIT)\"; or the terms and conditions of the \"GPL v3 License\".\nSee [LICENSE](/LICENSE) and [GPLv3](/GPLv3).\n\nThese licensing conditions do not apply to any resources that have been released into the public domain; which are listed in the [**\"Public Domain Resources\"**](/README.md#public-domain-resources) section of the *TLD Enumerations* project's [README](/README.md) document.\n\n### Public Domain Resources\nThe following resources of this project are hereby released into the public domain:\n * [tlds.csv](/tlds.csv)\n * [formats/js/tld-enum/list.js](/formats/js/tld-enum/list.js)\n * [formats/js/tld-enum/desc.js](/formats/js/tld-enum/desc.js)\n * [formats/js/tld-enum/info.js](/formats/js/tld-enum/info.js)\n * [formats/js/tld-enum/type.js](/formats/js/tld-enum/type.js)\n * [formats/json/tld-list.json](/formats/json/tld-list.json)\n * [formats/json/tld-desc.json](/formats/json/tld-desc.json)\n * [formats/json/tld-info.json](/formats/json/tld-info.json)\n * [formats/json/tld-type.json](/formats/json/tld-type.json)\n * [formats/php/TldEnum/TldList.php](/formats/php/TldEnum/TldList.php)\n * [formats/php/TldEnum/TldDesc.php](/formats/php/TldEnum/TldDesc.php)\n * [formats/php/TldEnum/TldInfo.php](/formats/php/TldEnum/TldInfo.php)\n * [formats/php/TldEnum/TldType.php](/formats/php/TldEnum/TldType.php)\n * [assets/tld-desc.csv](/assets/tld-desc.csv)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatmore%2Ftld-enum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkatmore%2Ftld-enum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatmore%2Ftld-enum/lists"}