How to Convert a DOI List into JSON, CSV, Markdown, SQL IN, and TypeScript Union
Turn a flat list of DOIs into a JSON array, CSV column, Markdown link list, SQL IN clause, or TypeScript union for bibliographies and reference datasets.
How to Convert a DOI List into JSON, CSV, Markdown, SQL IN, and TypeScript Union
If you maintain a bibliography, run a systematic review, or seed a reference dataset, you have probably ended up staring at a plain column of DOIs and wondering how to turn it into something a script or a database can actually read. Copying each identifier, adding quotes, adding commas, and double-checking that you did not drop a digit is the kind of tedious work that invites mistakes. The DOI List Converter takes that flat list and re-emits it in the format you need in one step, without sending a single line to a server.
This post walks through what the tool does, which output formats it offers, and a worked example you can reproduce.
What the converter actually does
The tool reads a list of DOIs from pasted text or an uploaded local text file. The source can be messy: a column copied out of a review spreadsheet, a chunk of HTML, a Markdown note, or a support ticket. A dedicated parser pulls each DOI out, then re-emits the same identifiers in whichever shape you select. Everything runs in the browser tab, so the DOIs never leave your machine.
Along the way you get a few practical controls. You can keep unique rows only so duplicate citations collapse to one entry. You can preserve invalid rows beside their reason, which is useful when a DOI has the wrong prefix or stray whitespace and you want to fix the source before exporting. And you can sort the normalized output so the order is stable across runs.
The output formats this tool offers
This is the part that matters for a reference workflow, so I want to be exact. The DOI List Converter produces output in these formats, all from the same local parser:
- Plain lines — one DOI per line, the cleaned and deduplicated list.
- JSON — a JSON array, ready to drop into a reference dataset or a config file.
- CSV — a CSV column you can paste into a spreadsheet or feed to an import script.
- Markdown — a Markdown list, which is what you want for human-readable bibliographies and notes.
- SQL IN — a parenthesized, quoted list for a
WHERE doi IN (...)clause. - TypeScript union — a union of string literals for typing a fixed set of DOIs in code.
That is the full set: line, CSV, JSON, Markdown, SQL IN, and TypeScript union. No BibTeX, no RIS, no external lookups — the tool reformats the identifiers you give it; it does not fetch metadata from doi.org or anywhere else.
A worked example
Suppose you start with a small, slightly redundant list pasted straight from a spreadsheet column:
10.1038/s41586-020-2649-2
10.1145/3292500.3330701
10.1038/s41586-020-2649-2
10.1109/5.771073
Notice the first DOI appears twice. With "keep unique rows" on, the converter collapses it. Switch the output to JSON and you get a clean array:
[
"10.1038/s41586-020-2649-2",
"10.1145/3292500.3330701",
"10.1109/5.771073"
]
That array is a reference dataset in one step — no hand-typing quotes or chasing a missing comma at 11 p.m. Now flip the same input to SQL IN and the tool hands you a clause you can paste directly into a query:
('10.1038/s41586-020-2649-2', '10.1145/3292500.3330701', '10.1109/5.771073')
Same three identifiers, two completely different destinations, zero manual formatting. If you instead pick Markdown, you get a bulleted list of the DOIs ready to drop into a notes file or a README, and the TypeScript union option turns the list into a string-literal union you can use as a type for a fixed citation set.
Why this beats hand-formatting
The honest reason to use a converter here is consistency. When I was assembling a reading list for a side project, I had about forty DOIs scattered across two spreadsheets and a Markdown scratchpad. Doing it by hand the first time, I quoted some with single quotes, some with double, and missed a duplicate that later broke a unique constraint when I loaded the data. Pasting everything into the converter, deduping, sorting, and exporting to JSON took under a minute and the output was identical every time I regenerated it. The boring guarantee — same input, same output, correctly quoted — is exactly what you want for a dataset you will keep editing.
A flat column also hides duplicates well. Two citations that look different because one has trailing whitespace are the same DOI, and you will not catch that by scanning. Normalizing before deduplicating, then exporting with line numbers when you need an audit trail, keeps the list trustworthy.
One caution worth repeating: a DOI passing the format check does not prove the paper exists or resolves. The converter validates shape, not existence. Treat the green signal as "this looks like a well-formed DOI," not "this resolves on doi.org."
Fitting it into a reference pipeline
In practice the converter is one stage, not the whole machine. You might pull identifiers out of a messy page first, then hand the clean list to this tool to reshape it. If you are working upstream of that, the DOI Extractor is built for pulling DOIs out of arbitrary text before you convert them. From there, the JSON or CSV output slots into whatever script, spreadsheet, or database your bibliography lives in.
The whole flow stays local. Paste or upload, choose unique and sort, pick your format, copy or download the artifact. Nothing about your reference list touches a server, which is the right default when you are handling research data and internal notes.
Wrapping up
A list of DOIs is data, and data wants a format. The DOI List Converter turns that flat column into a JSON array, a CSV column, a Markdown list, a SQL IN clause, a TypeScript union, or plain lines — deduplicated, sorted, and validated for shape — without leaving your browser. For bibliographies and reference datasets, that is the difference between a one-minute reshape and an afternoon of careful copy-paste.
Made by Toolora · Updated 2026-06-13