跳转到主要内容
CuteJSON
↑↓ 导航 Enter 选择 Esc 关闭

JSON Redact

See which values look like an email, an IP address, a phone number, an API key or a name, and watch each one become a fixed placeholder as you type.

返回所有工具

键盘快捷键

这些快捷键在页面上对应操作存在时有效。

打开命令面板
Ctrl/Cmd + K
运行主要操作
Ctrl/Cmd + Enter
格式化
Ctrl/Cmd + Shift + F
压缩
Ctrl/Cmd + Shift + M
复制输出
Ctrl/Cmd + Shift + C
打开文件
Ctrl/Cmd + Shift + O
下载输出
Ctrl/Cmd + S
关闭此对话框
Esc
打开此对话框
F1 / ?

本地数据

以下所有内容仅存储在此浏览器、此设备上。

未保存的草稿
记住选项的工具

最近打开的文件

    此设备上尚未打开任何文件。

    通过链接分享

    内容被打包在链接 # 号之后的部分。

    分享此页面上的第一个输入。

    暂无可分享的内容。

    输入

    从 URL 加载

    直接从浏览器获取 URL。

    Result

    The redacted document appears here.

    Rules

    One entry per line in each box. These always redact to [REDACTED], and win over whatever a detector above would have done.

    Detections

    What this page found appears here.

      完全在您的浏览器中运行。

      关于此工具

      Five detectors, each turned on or off on its own, look at every string value in the document. Email and IPv4 are checked against their actual grammar, a local part and a domain for email, four dot separated numbers from 0 to 255 for IPv4, so these two are the closest thing here to a real detector. IPv6 is checked structurally, colon separated groups of hexadecimal digits with :: understood as a run of omitted groups, not against every rule in the full specification, so an address written in a pattern this check does not recognize passes through unflagged. A phone number has no universal grammar at all: this looks for a string built only from digits, spaces, parentheses, a hyphen and a leading plus, with between 7 and 15 digits once the formatting is stripped away, the same loose shape most phone number libraries use as a first pass. An API key or token is recognized by a prefix a real provider actually uses, or by the value's own key name reading as one, token, apiKey, secret, combined with a value that has no spaces and is not trivially short: neither is proof, only a reasonable signal. A name is never guessed from the text of a value at all, since telling a person's name from arbitrary text without a dictionary or a language model is not something this page claims to do honestly; it goes only by the member's own key name, name, firstName, full_name and a handful of others, so a name under an unrelated key is missed and an unrelated value under one of these keys is redacted anyway. Every placeholder is fixed and deterministic: the same kind of match always becomes the same shape of replacement, an email becomes a***@example.com, a phone number becomes ********, everything else becomes [REDACTED], never a value that depends on randomness or on what the original was, so the output stays reproducible. On top of all five detectors, an exact key name or a JSON Pointer typed into the boxes below always redacts to [REDACTED] and wins over whatever a detector would otherwise have done, since a rule someone wrote on purpose outranks a guess. Detection only ever looks at string values: a phone number or an IP address stored as a bare JSON number is not found by a detector, though an explicit key or path rule still reaches it, since that rule replaces a value outright rather than testing its text against a pattern.

      使用方法

      1. Paste your JSON into the editor, or load the sample.
      2. Turn detectors on or off, and add your own key names or JSON Pointers to the rule boxes if the automatic detectors should not be the only thing redacting this document.
      3. The redacted document and the list of what was found update as you type. Nothing is sent anywhere; the result only ever appears in the pane on the right.