Developer Tools
Free Format Converter Tools: CSV, Markdown and HTML
Published June 14, 2026 ยท 6 min read
Most developer workflows involve a handful of recurring format conversion tasks: a CSV file that needs to be JSON for an API, a markdown table that takes too long to type by hand, HTML special characters that need encoding before being inserted into a template, a memory address to check in both hex and binary, an HTTP status code from a log to look up. These tasks are too small to justify building tooling for but too fiddly to do correctly in your head.
The seven tools below cover this gap. Each handles a specific format transformation, runs entirely in the browser, and requires no login or installation. They complement the core developer toolkit โ the JSON Formatter, regex tester, UUID generator โ with the format conversion layer that comes up constantly but rarely gets its own dedicated bookmark. The full collection is in the Developer Tools hub.
CSV to JSON Converter
CSV is the lowest common denominator of data exchange โ every spreadsheet application exports it, every database can produce it, and it opens in any text editor. But most APIs, most JavaScript code, and most modern data pipelines expect JSON. Manually converting even a modest CSV file to JSON is error-prone: you have to track headers, handle quoted strings containing commas, deal with empty cells, and format the output consistently.
The CSV to JSON Converter takes a CSV pasted into the input and returns a JSON array of objects, where each row becomes an object keyed by the column headers from the first row. It handles quoted fields (values containing commas or line breaks), empty cells, and whitespace in headers. The converter also works in reverse: paste a JSON array of objects and get back well-formed CSV โ useful when a tool outputs JSON but the next step in your pipeline expects tabular data.
Typical uses include preparing fixture data for tests, transforming export files from Google Sheets or Airtable before feeding them into a script, and converting API response samples for documentation. All conversion happens in the browser โ no data is sent to any server.
Markdown Preview Editor
Markdown is the de facto writing format for developer content: README files, GitHub issues and PR descriptions, documentation wikis, Confluence pages, Notion blocks. The problem is that raw markdown source looks nothing like the rendered output, and mistakes โ a broken link, a wrong heading level, a missing closing backtick โ are invisible until you publish or push.
The Markdown Preview Editor renders markdown in real time as you type, giving a side-by-side view of source and output. It supports the full CommonMark specification: headings, bold and italic, fenced code blocks with language tags, blockquotes, ordered and unordered lists, inline code, horizontal rules, and tables. Use it to proof a README before pushing it, check that a code block's syntax highlighting renders correctly, or draft a long GitHub issue with confidence that the formatting is right before submitting.
Markdown Table Generator
Markdown tables are more useful than they are pleasant to write. The pipe-delimited syntax requires a precise number of pipes per row, aligned column widths, and a mandatory separator row of dashes between the header and body. A five-column table with eight rows is at least 80 characters of careful formatting โ and a single missing pipe breaks the rendering entirely.
The Markdown Table Generator creates properly formatted markdown tables from a visual grid interface: set column count and row count, fill in the cells, and copy the finished markdown syntax. The output uses correct alignment, consistent pipe counts, and a properly sized separator row. This is most useful when writing technical documentation โ API parameter tables, comparison tables in READMEs, environment variable references, and option lists where a table is significantly more scannable than a bulleted list.
For checking how the output renders, paste the generated markdown directly into the Markdown Preview editor.
HTML Entity Encoder and Decoder
Five characters in HTML have special syntactic meaning and must be escaped when they appear as literal content: < (less-than), > (greater-than), & (ampersand), " (double quote in attribute values), and ' (single quote in attribute values). Failing to encode these in user-generated content is one of the most common sources of cross-site scripting (XSS) vulnerabilities. Beyond the five reserved characters, hundreds of Unicode characters have named HTML entity equivalents โ the copyright symbol (©), em dash (—), non-breaking space ( ), mathematical symbols โ that improve HTML source readability.
The HTML Entity Encoder / Decoder works in both directions. Encode mode converts characters to their HTML entity equivalents, producing output safe to insert directly into HTML markup. Decode mode converts entity notation back to the original characters โ useful for reading HTML scraped from a page or stored in a database in its encoded form. Common uses include encoding user input before inserting it into a template, finding the entity notation for a specific symbol, and decoding entity-heavy HTML received from an external API.
For encoding data for use in URLs rather than HTML, use the URL Encoder โ the two encoding schemes are distinct and not interchangeable.
Text to Binary Converter
Every character stored in a computer is ultimately a number. In ASCII encoding, the capital letter A is 65 decimal, which is 01000001 in binary โ 8 bits, one byte. Text-to-binary conversion represents each character as its ASCII or UTF-8 code point expressed in binary notation, typically in 8-bit groups separated by spaces.
The Text to Binary Converter translates plaintext strings into their binary representation and reverses the process โ paste a binary string of 0s and 1s (with or without spaces between bytes) and get back the ASCII characters. Practical uses include: debugging encoding issues in raw network data, learning how character encoding maps text to bits, generating binary strings for educational content or presentations, and checking UTF-8 byte sequences for characters outside the basic ASCII range. The decoder is particularly useful for checking low-level protocol data or memory dumps that contain embedded text.
Number Base Converter
Computers work internally in binary (base-2), but developers most commonly encounter values in three additional number systems: hexadecimal (base-16) for memory addresses, color codes, and byte values; decimal (base-10) for general arithmetic; and octal (base-8) for Unix file permissions. Translating between them mentally is straightforward for small values but error-prone for anything beyond a single byte.
The Number Base Converter converts integers between binary, octal, decimal, and hexadecimal simultaneously โ enter a value in any base and the tool displays the equivalent in all four. Some reference values that come up constantly: decimal 255 is FF in hex, 11111111 in binary, and 377 in octal โ the maximum value of one unsigned byte. Decimal 16 is 10 in hex and 10000 in binary.
This is most useful when: working with bitwise operations where the binary representation makes individual bit positions visible, reading hex memory dumps from a debugger, configuring Unix file permissions in octal notation, decoding CSS hex color values, or verifying that a constant in code matches its binary intent.
HTTP Status Codes Reference
HTTP status codes are the three-digit response codes that tell a client what happened to its request. They follow a consistent structure by first digit: 1xx are informational continuations, 2xx indicate success, 3xx signal redirections, 4xx represent client-side errors, and 5xx represent server-side errors. Most developers know the common dozen โ 200 OK, 201 Created, 301 Moved Permanently, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error โ but the full standard includes over 60 codes, many of which appear regularly in API logs and framework responses.
The HTTP Status Codes Reference lists every standardized code with its official name and a plain-English description of what it means and when it's returned. The less-common codes that cause the most confusion in practice:
- 304 Not Modified โ the client's cached version is still valid; no body is returned.
- 409 Conflict โ the request cannot be processed because of a state conflict (e.g. duplicate resource, optimistic locking failure).
- 410 Gone โ the resource existed but has been permanently removed (unlike 404, which is agnostic about whether it ever existed).
- 412 Precondition Failed โ a conditional request header (If-Match, If-Unmodified-Since) evaluated to false.
- 422 Unprocessable Entity โ the request body is syntactically valid but semantically incorrect (widely used by REST frameworks for validation errors).
- 429 Too Many Requests โ rate limit exceeded; the Retry-After header may indicate when to retry.
- 502 Bad Gateway โ the upstream server returned an invalid response (common in reverse proxy setups when the backend is down).
How These Tools Fit Together
These format conversion tools work independently but also connect into common workflows:
- Data pipeline prep: convert CSV to JSON with the CSV to JSON Converter, then validate and format the output with the JSON Formatter.
- Documentation workflow: build tables with the Markdown Table Generator, then paste them into the Markdown Preview to check rendering before committing.
- Content encoding chain: encode content with the HTML Entity Encoder for HTML insertion, or with the URL Encoder for URL embedding โ these two encodings are not the same and should not be confused.
- Low-level debugging: use the Base Converter to decode a hex value from a memory dump, then check the corresponding byte representation with the Text to Binary Converter.
All seven tools run entirely in the browser โ no data is sent to any server at any point. For the full developer toolkit including the JSON Formatter, JWT Decoder, Regex Tester, UUID Generator, Hash Generator, and more, visit the Developer Tools hub. The complete collection of 80+ free tools is at the Nutilz homepage.
Frequently asked questions
What is the difference between CSV and JSON?
CSV (Comma-Separated Values) is a plain-text tabular format where each row is a line and columns are separated by commas. JSON (JavaScript Object Notation) is a structured format that represents data as nested objects and arrays. CSV is simpler and smaller but can only represent flat, two-dimensional data. JSON supports nesting, arrays of mixed types, and null values, making it better suited for APIs and complex data structures. Most developer pipelines and APIs prefer JSON, but CSV is more widely exported by spreadsheet and database tools.
What are HTML entities and when do I need them?
HTML entities are text representations of characters that have special meaning in HTML markup. The five reserved characters โ <, >, &, ", ' โ must be encoded as <, >, &, ", and ' whenever they appear as literal content rather than HTML syntax. Failing to encode these characters in user-generated content creates XSS vulnerabilities. Beyond the five reserved characters, entities exist for hundreds of Unicode characters (copyright ยฉ, em dash โ, non-breaking space) that can be expressed as named or numeric character references.
What is text-to-binary conversion?
Text-to-binary conversion represents each character in a string as its numeric ASCII or UTF-8 code point expressed in binary (base-2) notation, typically as an 8-bit (one-byte) group. The letter A is ASCII 65, which is 01000001 in binary. The process is reversible: a binary string can be read back to its original characters by interpreting each 8-bit group as a decimal number and looking up the corresponding ASCII character. This is used for educational purposes, debugging character encoding, and inspecting low-level protocol data.
What is hexadecimal and why do programmers use it?
Hexadecimal (base-16) uses 16 digits: 0โ9 and AโF. Each hex digit represents exactly 4 bits (a nibble), so two hex digits represent exactly 8 bits (one byte). This makes hexadecimal a compact and readable way to represent binary data โ a 32-bit value requires 8 hex digits versus 32 binary digits. Memory addresses, color codes (#FFFFFF), byte values in network protocols, and binary file offsets are all commonly expressed in hex because the mapping to binary is direct and the notation is much shorter.
What do HTTP status codes tell you?
HTTP status codes are three-digit numbers returned by a server to indicate the result of a request. The first digit defines the class: 2xx means success (200 OK, 201 Created), 3xx means redirection (301 Permanent, 302 Temporary, 304 Not Modified), 4xx means a client-side error (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 422 Validation Error, 429 Rate Limited), and 5xx means a server-side error (500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable). Status codes are defined in RFC 9110 and widely standardized across web servers and frameworks.
Do any of these tools send my data to a server?
No. All seven tools โ CSV to JSON, markdown preview, markdown table generator, HTML entity encoder, text to binary converter, base converter, and HTTP status codes reference โ run entirely in the browser using JavaScript. No data is transmitted to any server, no input is logged, and nothing is retained when you close the page.