Every key across every record becomes a column, so a record missing a field leaves that cell blank instead of shifting the row.
This page loads no libraries at all — the work is done by the browser itself. Your file is read on your own machine and never sent anywhere — open your browser's network tab and watch while you use it.
The header is the union of all of them and missing values are left blank.
Yes — anything containing a comma, a quote or a line break is quoted the way the CSV convention expects.
Everything here is free and works the same way — in your browser.