LOCAL-FIRST CSV EDITOR
Edit the values. Leave the file alone.
Browser-only, format-preserving CSV editor with Shift_JIS support
Refrain Sheet is a format-preserving CSV and spreadsheet editor that runs entirely in your browser. You edit field values; everything else — encoding, quoting, line endings, BOMs — stays exactly as it was.
For teams reworking CSVs from core systems, accounting, order management or e-commerce — without breaking them.
Open and save with no edits, and the output is byte-for-byte identical.
THE PROBLEM
Most editors damage a CSV just by opening it.
Open a CSV in a normal spreadsheet app and the encoding shifts, quotes appear and disappear, line endings get unified, leading zeros and dates turn into something else. A one-cell change becomes a whole-file diff. Refrain Sheet does the opposite.
What a normal save never does
- unify line-ending styles or delimiters
- alter the header layout
- add or remove whitespace
- add or remove quotes unnecessarily
- add or remove BOMs
- repair malformed CSV
- replace undecodable bytes in unmodified fields
An edit touches one field's byte range
Change a cell and only that field is reserialized. Every other byte is left alone. A quoted field stays quoted, and an unquoted one gains quotes only when the new value truly needs them.
USE CASES
Built for moments like these.
Made for the CSV problems that keep coming back in real operations.
Patch one field in a core-system export
Rewrite just the product name, note or status column — everything else stays untouched.
Return a partner's exact CSV format
Keep their line endings and quoting exactly as specified.
Protect leading zeros, dates and long IDs
Values another tool would silently reinterpret stay exactly as they're written.
Inspect a malformed CSV before touching it
See the exact rows and columns at fault instead of getting a silent auto-repair.
Keep sensitive data off the network
Customer and order data are processed in the browser and never uploaded.
FEATURES
Built for the messy CSVs people actually get.
Encoding detection, honest diagnostics for malformed files, IME-safe editing — the parts that usually go wrong, handled deliberately.
Encodings and save options
UTF-8 (with or without BOM), Shift_JIS / CP932 and EUC-JP are supported, detected automatically, and reinterpretable at any time via Reopen with Encoding — which never alters the original bytes. On save you choose encoding, BOM and line endings independently.
- Characters the target encoding can't represent cancel the save by default, with a per-cell report
- Line-ending conversion rewrites terminators only — a missing final newline is never added
- The status bar always shows encoding, delimiter, line endings and file size
Malformed CSV opens — unrepaired
Unclosed quotes, invalid text after a closing quote, inconsistent field counts — every problem is listed with its row, column and a plain explanation. Nothing is normalized. Choose Open Anyway and malformed regions are preserved byte-for-byte as long as you don't edit them.
Menu-first UI, IME-safe editing
A desktop-style menu bar is the single visible set of commands, and every one of them is reachable from the keyboard. Japanese and CJK input is safe from the very first keystroke — the first Romaji character joins the composition instead of leaking as a Latin letter.
- While composing, Enter / Esc / arrows belong to the IME, never to the cell
- Browser-reserved keys (Ctrl+W, Ctrl+F, Ctrl+T, reload, zoom) are never intercepted
- Alt+Enter inserts a line break; multi-line values round-trip through CSV, RSF and the clipboard
Work with Google Drive directly
The hosted app can open and overwrite files stored in Google Drive. Access is limited to files opened or created through this feature (the drive.file scope), and the access token lives only in browser memory.
A protect mode that stops accidental edits
Opening an existing file defaults to read-only; a status bar control or File > Protect Document unlocks it. The setting is per-tab, session-only, and never saved with the file.
A standalone Markdown editor
File > Markdown Editor… opens a real-time preview editor independent of any open CSV/spreadsheet tab, and can open and save an existing .md file.
RSF SPREADSHEET
When you need a spreadsheet, there's RSF
Plain CSV can't hold formulas, structural edits or metadata without breaking the guarantee. So those live in a separate .rsf document, created only by an explicit conversion that never touches the original .csv.
FORMULAS
55 functions: SUM, XLOOKUP, SUMIFS, TEXT, FILTER, UNIQUE and more
WORKBOOKS
Multiple worksheets, cross-sheet references, absolute/relative refs, cycle detection
FILTER & SORT
Filtering and a compound sort with up to 8 keys — reorders the view only, never the data or formulas
FORMATTING
Bold, italic, underline, text/background color and borders. Never touches a cell's value or formula results, is undoable, and is saved in the .rsf file
EXPORT
Auto-fit, selection statistics, CSV and XLSX export
NO EVAL
A hand-written formula engine — no eval, no new Function, no macros
DATA VALIDATION
Data Validation: restrict a range to a list or a numeric range, refusing violating edits with a reason
CONDITIONAL FORMATTING
Conditional Formatting: auto-colors cells by comparison, duplicate values, or a two-color scale
NUMBER FORMAT
Number Format: Number, Percent, or Currency display, with decimal places and a thousands separator
SQL QUERY
SQL Query: a local, read-only SELECT query against the worksheet, with autocomplete and saved queries
COMPARE / DIFF
Compare / Diff: compares two open tabs by key column, classifying every row as added, modified, deleted or unchanged
CELL COMMENT
Cell Comment: attaches a short note to a cell, independent of its value
COMMENTS PANEL
Comments Panel: lists every comment for the current worksheet or the whole workbook, click an entry to jump to its cell
DETAILS
English UI and dark theme, built in.
Japanese and English are both first-class UI languages. The theme follows your system by default and can be pinned to light or dark. Display state never changes CSV bytes, RSF data or formula results.
COMPARISON
How it differs from a normal spreadsheet app.
Refrain Sheet is not an Excel replacement. It is a tool for fixing a CSV without damaging the file it lives in.
| Excel / typical spreadsheet apps | Online CSV editors | Refrain Sheet | |
|---|---|---|---|
| Open and save, no edits | Encoding, quoting and line endings may all change | Usually reserialized in full | Byte-for-byte identical |
| Editing a single cell | The whole file is rewritten | The whole file is rewritten | Only that field's byte range |
| Shift_JIS / CP932 | Environment-dependent; mojibake and silent conversion are common | Often unsupported | Detected, reinterpretable, and selectable on save |
| Malformed CSV | Silently repaired and normalized | Frequently fails to load | Diagnosed, then opened with the damage preserved |
| Leading zeros, dates, long numbers | Type inference can rewrite them | Varies by implementation | Values stay as written — no inference |
| Where your data goes | Local (server for cloud editions) | Uploaded to a server | Nowhere. Zero network access |
| Setup | License and installation | Sometimes an account | One HTML file — works over file:// |
Comparisons describe typical behaviour in common setups. Refrain Sheet's own guarantees are defined by its README and test suite.
SECURITY
Designed so nothing leaves the page.
Built on the assumption that your CSV is confidential. There are no runtime network connections at all.
Zero network access
The CSP sets default-src 'none' and connect-src 'none'. No CDN, external fonts, APIs, analytics or telemetry.
Nothing is executed
Cell content is never interpreted as HTML; there is no innerHTML, eval, new Function or macro anywhere. Formulas run in a sandboxed engine.
Supply chain discipline
Three production dependencies with zero transitive dependencies, enforced lockfiles, install scripts disabled, and releases shipped with SHA-256 checksums, an SBOM and signed build provenance.
GET STARTED
Three steps.
Open it in a browser
Just open the hosted web app. No installation, no account, no setup.
Drag and drop a CSV
Drop files anywhere in the window; each one opens in its own tab.
Or run it offline
Download a release ZIP, extract it, and double-click index.html. It works over file://.
Questions
Where does my data go?
Nowhere. Files are read inside the browser and saved back to your own device. Runtime network access is blocked at the CSP level.
Is this an Excel replacement?
No — different purpose. Refrain Sheet fixes CSV files without damaging them; formulas and structural edits require an explicit conversion to an .rsf spreadsheet. Excel compatibility is not claimed.
How large a file can it open?
The default limit is 512 MiB (adjustable from 16 MiB to 2 GiB) and oversized files are refused before their bytes are read. Rendering is virtualized, but hundred-megabyte files can still feel slow.
Which encodings are unsupported?
UTF-16 and ISO-2022-JP are not supported in this release. Such files still open with a best-effort interpretation and a warning, and their bytes remain untouched.
Can it always overwrite the original file?
In Chromium-based browsers, yes, via the File System Access API. Firefox and Safari fall back to a download save, and the app tells you which kind of save happened.
Does cell formatting (bold, color, borders) change the CSV bytes?
No. Formatting is a purely visual, RSF-only feature — it never changes a cell's value, formula results, sort/filter behavior, or CSV export. Plain CSV documents cannot use formatting at all.
Does this introduction page itself use analytics?
Only this introduction page (refrain-sheet.com) may use Google Analytics, to measure visits. It loads only if you choose "Accept" in the consent banner at the bottom of the page, and you can change that choice anytime from "Cookie settings" in the footer. The app itself (app.refrain-sheet.com), where you edit CSVs, is served separately and continues to make no network connections at runtime.
Open one of your own CSVs.
No install. In a few seconds you can confirm that saving produces no diff at all.