iTX TechnologiesStorage tools
fdnext
A TypeScript engine for memory part-number decoding, Flash ID parsing, and data search.
Actively maintained- INPUTInput
- PARSEParse
- STRUCTURED DATAStructured data
- Brand
- iTX Technologies
- Platforms / runtime
- Web
- Node.js
- Cloudflare Workers
- Technologies
- TypeScript
About the project
When an application needs to understand memory part numbers, embedding each vendor’s naming rules directly in the interface can entangle decoding, data maintenance, and presentation. fdnext provides an engine for that work, intended for developers building chip-lookup tools, internal information systems, and automated processing workflows.
It is also the engine behind FlashMaster, handling part-number decoding, NAND Flash ID decoding, and data searches. The core package includes default rules, resources, and translations, with no runtime network dependency for decoding. You can use those defaults or supply your own resources without first setting up a remote lookup service.
Multiple memory technologies
Decode part numbers for raw NAND, eMMC, UFS, DRAM, and other memory technologies.
Structured results
Normalize vendor data into a shared result format and enrich fields from local resources.
Service integration
Integrate with Node.js HTTP services and Cloudflare Workers through runtime adapters.
Give applications results they can use
fdnext returns results for different memory types through a shared structure that preserves device identity, fields, units, candidates, relations, and warnings. Applications can use that structure to build detail views or records without trying to recover the meaning of each parameter from a block of descriptive text.
Keep presentation separate from data semantics: show translated labels in the interface, but use field keys and raw values in application logic. Brief summaries help with browsing, while full field groups support closer inspection. Capacity, component counts, and power-supply information remain absent when the result does not provide them.
Integrate where your application runs
Install the core package in a Node.js or browser application and use one engine instance for decoding, search, and capability queries. Default resources are embedded in the package, so they do not require separate data downloads. Create and reuse the engine at startup rather than initializing it for every request or component render.
Use the Node.js HTTP server or Cloudflare Workers adapter when several clients should share a lookup service. Both use common routing and result contracts, allowing rules and data to be maintained centrally. To replace the embedded resources, the application must supply its own data and handle loading, updates, and validation.
Turn a query into a repeatable workflow
Start with representative samples using the command-line tool included in the core package. Decode a complete part number directly, or search a partial marking and inspect the candidates in detail. Text output suits manual review. For scripts, select JSON and retain both the input and result status so queries can be revisited and exceptional outcomes handled explicitly.
A completed command does not necessarily mean a chip was identified. Outcomes such as not found, ambiguous, or unsupported can still accompany a zero exit code, so automation must inspect the result itself. HTTP clients should likewise inspect the query status in the returned data and distinguish search summaries from the more complete information returned by decoding.
Account for coverage and versions
Decoding is limited by the rules and data included; it cannot promise recognition of every part number or replace physical measurements. Preserve missing information, ambiguity, and warnings in your integration, and check results against samples relevant to your application. Server searches have a result cap, so their behavior is not identical to calling the core library directly.
The versions link leads to GitHub release records. Follow the developer documentation to install the packages for the engine and CLI. When upgrading the engine or result structure, check the applications that use it. Automation should read the versioned JSON format, as command-line text layout may change between versions.
Research background
ETHEREALM RESEARCH
FlashMaster and fdnext: decoding, resources, and product layers
An engine-side view of decoding rules, structured results, and runtime integration, explaining the roles of fdnext and FlashMaster.
The article uses data as of June 28, 2026, describing the architecture and plans at that time. Use the current developer documentation when integrating.
Read research background (Chinese) (opens in a new tab)