This project is a specialized toolkit for processing ARRL DXCC (DX Century Club) entity data, capable of converting ARRL official text format DXCC entity lists into structured JSON format data, and providing data validation and visualization features.
- π Data Conversion: Convert ARRL DXCC text files to standardized JSON format
- π Multi-version Support: Support for DXCC data from 2013, 2020, and 2022 versions
- π Data Validation: Provide web interface for validating and checking JSON data correctness
- π Complete Information: Include prefix, entity name, continent, ITU/CQ zone, entity code and other complete information
- π·οΈ Special Marking Processing: Correctly handle various special markings and annotations
- π JSON Schema: Provide complete data structure definition
dxcc-json/
βββ package.json # Node.js configuration file, containing project information and scripts
βββ README.md # Project documentation
βββ schema.json # JSON data structure definition
βββ dxcc-txt2json.js # Main conversion tool
βββ Prefix Cross References.md # Prefix cross-reference documentation
β
βββ txt/ # Original text data files
β βββ 1995_Current_Deleted.txt
β βββ 2013_Current_Deleted.txt
β βββ 2020 Current_Deleted.txt
β βββ 2022_Current_Deleted.txt
β
βββ checker/ # Web validation tools
β βββ dxcc-json-checker.html # Validation tool main page
β βββ dxcc-json-checker.js # Validation tool script
β βββ dxcc-json-checker.css # Validation tool styles
β
βββ Generated JSON files
βββ dxcc_current_2013.json # 2013 current entities
βββ dxcc_current_2020.json # 2020 current entities
βββ dxcc_current_2022.json # 2022 current entities
βββ dxcc_current_deleted_2013.json # 2013 current + deleted entities
βββ dxcc_current_deleted_2020.json # 2020 current + deleted entities
βββ dxcc_current_deleted_2022.json # 2022 current + deleted entities
βββ dxcc_deleted_2013.json # 2013 deleted entities
βββ dxcc_deleted_2020.json # 2020 deleted entities
βββ dxcc_deleted_2022.json # 2022 deleted entities
- Node.js 14.0 or higher
- Modern browser with ES6 module support (for validation tools)
-
Clone the project
git clone <repository-url> cd dxcc-json
-
Convert data files
# Convert all entities (current + deleted) node dxcc-txt2json.js txt/2022_Current_Deleted.txt --all # Convert current entities only node dxcc-txt2json.js txt/2022_Current_Deleted.txt --current # Convert deleted entities only node dxcc-txt2json.js txt/2022_Current_Deleted.txt --deleted # Specify output filename node dxcc-txt2json.js txt/2022_Current_Deleted.txt my_output.json --current
-
Use validation tools
- Open
checker/dxcc-json-checker.htmlin your browser - Upload generated JSON files for validation and viewing
- Open
This is the core tool of the project, responsible for converting ARRL official text format DXCC lists into structured JSON data.
Main Features:
- Parse ARRL DXCC text file format
- Extract prefix, entity name, continent, ITU/CQ zone and other information
- Handle various special markings and annotations
- Generate standardized data compliant with JSON Schema
- Support three filtering modes: all, current, deleted
Command Line Arguments:
--all: Include all entities (current and deleted)--current: Include current valid entities only--deleted: Include deleted entities only--help: Display help information
Provides web interface for validating and viewing generated JSON data.
Features:
- File upload and drag-and-drop support
- JSON data structure validation
- Entity data table display
- Sorting and filtering functionality
- Responsive design, mobile device support
Defines the complete structure of generated JSON data, including:
- Metadata information (version, statistics, etc.)
- Entity data structure
- Annotation and special marking definitions
- Continent and zone code mappings
{
"metadata": {
"title": "ARRL DXCC List",
"edition": "February 2022",
"totalEntities": 340,
"description": "Current DXCC Entities",
"filterType": "current",
"notes": { /* Various annotations and descriptions */ },
"continents": { /* Continent code mappings */ },
"statistics": { /* Statistical information */ }
},
"entities": [
{
"prefix": "3A*",
"entity": "Monaco",
"continent": "EU",
"ituZone": 27,
"cqZone": 14,
"entityCode": 260,
"notes": ["qsl_service"],
"isDeleted": false
}
// ... more entities
]
}*: Indicates entities for which QSLs may be forwarded by the ARRL membership Outgoing QSL Service#: Indicates entities with which U.S. Amateurs may legally handle third-party message traffic(number): Indicates special annotations, detailed descriptions in notes field
AF: AfricaAN: AntarcticaAS: AsiaEU: EuropeNA: North AmericaOC: OceaniaSA: South America
The project includes DXCC data for the following versions:
- February 2022 Edition: Current latest version, containing 340 current entities
- 2020 Edition: Historical version data
- 2013 Edition: Historical version data
- 1995 Edition: Early historical data
- ES6 Modules: Uses modern JavaScript module system
- Command Line Tool: Supports multiple parameters and options
- Error Handling: Comprehensive error detection and reporting mechanism
- Data Validation: Strict data format validation
- Cross-platform: Supports Windows, macOS, Linux
Welcome to submit Issues and Pull Requests to improve the project. Before submitting code, please ensure:
- Code complies with project coding standards
- Add appropriate comments and documentation
- Test the correctness of new features
- Update relevant documentation
This project follows an open source license. For specific license information, please check the LICENSE file in the project root directory.
- Author: BG6LH
- Version: 0.1.0
- Updated: June 2025
If you have any questions or suggestions, please contact the project maintainer through GitHub Issues.
This project was completed with the assistance of AI tools. I am trying to turn the needs I encounter in amateur radio activities into some interesting applications. If you are interested, you can leave me a message in the project. Your sponsorship is also the motivation for me to maintain this work. If this project helps you, please give it a β!
