JSON API
Every tool on this site is also an API: append
&format=json to any tool URL and the result comes back as
JSON. Same parameters as the web form (they're in the URL when you use the
form, so you can build a request by copying your browser's address bar).
Free, no key required — please be gentle (requests are rate-limited).
Example: generate a CRC module in CI
shell
curl -s 'https://libfpga.com/tools/crc-generator?preset=crc32&dwidth=8&format=json' \
| python3 -c 'import json,sys; print(json.load(sys.stdin)["code"][0]["text"])' \
> crc32_d8.v
Response shape
JSON
{
"tool": "crc-generator",
"params": { ... the validated inputs that were used ... },
"values": [ ["Polynomial", "0x04C11DB7 (top bit implicit)"], ... ],
"notes": [ "..." ],
"code": [ { "title": "Verilog", "lang": "verilog", "text": "module ..." } ],
"table": { "title": "...", "headers": [...], "rows": [[...]] } // some tools
}
Invalid input returns HTTP 400 with {"error": "..."}. Out-of-range
values are clamped and reported in "warnings".
Endpoints
| Tool | Endpoint |
|---|---|
| FIFO Depth Calculator | /tools/fifo-depth?format=json |
| Parallel CRC Generator | /tools/crc-generator?format=json |
| LFSR Generator | /tools/lfsr-generator?format=json |
| Clock Divider Calculator | /tools/clock-divider?format=json |
| UART Baud Rate Calculator | /tools/uart-baud?format=json |
| Fixed-Point (Qm.n) Converter | /tools/fixed-point?format=json |
| Gray Code Converter | /tools/gray-code?format=json |
| Frequency / Period Converter | /tools/timing-converter?format=json |
| FPGA Part Number Decoder | /tools/part-number-decoder?format=json |
| Register Map / CSR Generator | /tools/register-map?format=json |
| CDC Synchronizer Generator | /tools/cdc-synchronizer?format=json |
| PLL / MMCM Calculator | /tools/pll-calculator?format=json |
| FSM Skeleton Generator | /tools/fsm-generator?format=json |
| Pinout to XDC / QSF Converter | /tools/pinout-converter?format=json |
| Block RAM Estimator | /tools/bram-estimator?format=json |
Parameter names and defaults for each endpoint: open the tool
page, set the form, press Calculate, and read the query string — or call the
endpoint with no parameters to see the defaults echoed in
params.