
9 Best Free JSON Editors for Windows in 2026 (Ranked & Reviewed)
This guide ranks Windows JSON editors that stay responsive on large files and avoid freezes, from VS Code for feature heavy workflows to lightweight viewers for quick edits.
Create, open, edit, and download plain text files in a focused browser editor. Name your file, choose encoding and line endings, and keep a local recovery draft without signing up.
Type or paste text, pick a template, or open a .txt file.
Set the filename, encoding and line endings.
Save the .txt file to your device.
A spacious, distraction-light writing surface for notes, lists, logs, code, prompts, and drafts.
Export UTF-8, UTF-8 with BOM, or UTF-16 LE files with LF or CRLF line endings.
Open local files, drag and drop, find and replace, insert tabs, copy text, and use focus mode.
Your recovery draft stays in local browser storage so a refresh does not erase your work.
| Where the file goes | Encoding | Lines | Why |
|---|---|---|---|
| Scripts, config files, Git repositories, web servers | UTF-8 | LF | A shell script saved with CRLF fails with errors like $'\r': command not found, and a BOM before #! breaks the shebang line. |
| Notes shared between Windows, macOS, and Linux | UTF-8 | LF or CRLF | Current Notepad, TextEdit, and code editors read both. Notepad before the Windows 10 October 2018 update shows an LF file as one long line. |
| Text you will open in Excel | UTF-8 + BOM | CRLF | Without the BOM, Excel often assumes the Windows ANSI code page, so accented letters such as é show up as two garbled characters. |
| Files read by Windows PowerShell 5.1 | UTF-8 + BOM | CRLF | Windows PowerShell 5.1 reads BOM-less files as ANSI. PowerShell 7 defaults to UTF-8 and does not need the BOM. |
| Older Windows programs that ask for Unicode text | UTF-16 LE | CRLF | This is what older Notepad versions called Unicode. ASCII text takes about twice as many bytes. |
| JSON, CSV, or text sent to an API or parser | UTF-8 | LF | Many parsers reject a leading BOM. In Node.js, JSON.parse throws on it. |
If the text you are typing is really rows and columns for Excel, a CSV is usually the better file: convert the TXT to CSV and Excel opens it as columns without the import wizard.
The bytes counter in the status bar measures UTF-8 with the selected line ending. UTF-8 + BOM adds 3 bytes to that. UTF-16 LE uses 2 bytes for most characters plus a 2-byte BOM, so plain English text roughly doubles in size.
The filename box removes characters that Windows does not allow in filenames as you type: < > : " / \ | ? * and control characters. It also removes leading dots (so .env becomes env), trims trailing dots and spaces, and caps the name at 120 characters. The extension is always .txt; typing notes.txt does not produce notes.txt.txt, and an empty name downloads as untitled.txt. To get a .md, .csv, or .log file, rename it after downloading.
Windows reserved names such as CON, PRN, AUX, NUL, COM1 and LPT1 are not blocked, but Windows cannot save a file with those names, so avoid them. If a file with the same name is already in your Downloads folder, the browser usually adds a number such as notes (1).txt instead of replacing it.
Open and drag-and-drop accept files up to 20 MB. To read a larger log or export, use the Large Text File Viewer, or cut it into smaller parts with the TXT File Splitter and edit the part you need here.
When a script needs to produce the same file every time, set the encoding and line ending explicitly instead of relying on the operating system default. These examples write the three encodings the editor offers.
text = "Name\tCity\nZoë\tMünchen\n"
# UTF-8, LF: scripts, servers, Git
with open("notes.txt", "w", encoding="utf-8", newline="\n") as f:
f.write(text)
# UTF-8 with BOM, CRLF: Excel, Windows PowerShell 5.1
with open("export.txt", "w", encoding="utf-8-sig", newline="\r\n") as f:
f.write(text)
# UTF-16 LE with BOM, CRLF: legacy Windows "Unicode" text
with open("legacy.txt", "w", encoding="utf-16-le", newline="\r\n") as f:
f.write("\ufeff" + text)const fs = require("fs");
const text = "Name\tCity\nZoë\tMünchen\n";
const crlf = text.replace(/\r?\n/g, "\r\n");
// UTF-8, LF
fs.writeFileSync("notes.txt", text, "utf8");
// UTF-8 with BOM, CRLF
fs.writeFileSync("export.txt", "\ufeff" + crlf, "utf8");
// UTF-16 LE with BOM, CRLF
fs.writeFileSync("legacy.txt", "\ufeff" + crlf, "utf16le");# Report the encoding, BOM, and line endings of a file (macOS, Linux, Git Bash)
file export.txt
# export.txt: Unicode text, UTF-8 (with BOM) text, with CRLF line terminators
# Write a copy with CRLF converted to LF
tr -d '\r' < script.sh > script-lf.shA TXT file maker gives you a plain text editor in the browser and turns what you write into a standard .txt download. Type or paste your content, choose a useful filename, and select Download TXT. The file opens in Notepad, TextEdit, VS Code, mobile text editors, and most other applications without conversion.
Plain text is best when portability matters more than visual formatting. A TXT file stores characters and line breaks without fonts, colors, embedded images, or page layout. That makes it useful for notes, instructions, logs, code snippets, configuration values, prompts, transcripts, checklists, and data that another program will read.
UTF-8 is the best default for modern websites, apps, code editors, and cross-platform sharing. UTF-8 with BOM can help older Windows software recognize Unicode text correctly. UTF-16 LE is useful when a legacy Windows application specifically expects it. If you are unsure, keep UTF-8 selected.
LF is standard on macOS, Linux, servers, and most developer tools. CRLF is the traditional Windows line ending. Modern text editors usually support both, so the default LF option is broadly compatible. Select CRLF when a Windows workflow or older program requires it.
After creating files, use the TXT merger to combine several documents or the TXT file splitter to divide a large document. You can also convert text into structured JSON, CSV, or XML when another system needs a defined data format.

This guide ranks Windows JSON editors that stay responsive on large files and avoid freezes, from VS Code for feature heavy workflows to lightweight viewers for quick edits.

Enhance VS Code JSON editing with 7 useful extensions for formatting, minification, visual exploration, inline diagnostics, conversion, and repair.

Find the best YAML extension for VS Code with schema validation, Kubernetes support, and auto-formatting. Compare Red Hat YAML vs YAML Language Support for professional workflows.