Skip to content

JSON Schema 검증기

JSON Schema 온라인 검증기. Draft 2020-12, 2019-09, Draft-07 지원에 JSON Pointer 경로 단위 오류 메시지. 100% 브라우저 처리, 업로드 없음, 무료.

트래킹 없음 브라우저 실행 무료
JSON 데이터와 스키마를 모두 붙여넣으세요
Reviewed for Draft 2020-12, 2019-09, and Draft-07 compliance, including type coercion edge cases, format vocabulary, $ref resolution, and JSON Pointer error paths. — Go Tools API Tooling Team · May 7, 2026

JSON Schema 검증기란 무엇인가요?

JSON Schema 검증기는 두 JSON 문서 - 데이터 문서와 스키마 문서 - 를 받아 데이터가 스키마의 계약을 따르는지 보고하는 프로그램입니다. 스키마는 고정된 어휘(type, properties, required, items, enum, oneOf, allOf, $ref, format)를 사용해 필드 타입, 필수 키, 값 범위, 허용 enum 값, 정규식 패턴, 구조 규칙을 선언합니다. 검증기는 두 문서를 병렬로 순회하며 0개 이상의 오류를 발산하고, 각 오류는 데이터 내부의 JSON Pointer 경로에 고정됩니다.

유효성 검사는 신뢰할 수 없는 입력과 코드 사이의 경계, 즉 런타임에 실행됩니다. TypeScript 타입은 컴파일타임에 사라지므로 webhook이나 외부 API, 사용자 붙여넣기로 들어오는 JSON에는 도움이 되지 않습니다. 그 빈틈을 정확히 메우는 게 JSON Schema입니다. TypeScript(또는 Python의 Pydantic)와 함께 쓰면 코드베이스 내부의 컴파일타임 보장과 경계의 런타임 보장을 모두 얻습니다.

Draft 2020-12는 현행 스펙이며 2026년 신규 프로젝트에서 선택해야 할 버전입니다. 이전 드래프트(2019-09, Draft-07, Draft-06, Draft-04)는 레거시 코드베이스에 남아 있으며, 특히 Draft-07은 Helm 차트, VS Code 설정, 구버전 Ajv 설정에서 여전히 흔합니다. OpenAPI 3.1은 Draft 2020-12를 네이티브로 사용하고, OpenAPI 3.0은 Draft 4 부분집합을 사용합니다.

이 도구는 전적으로 브라우저에서 실행됩니다. 사용자의 JSON, 스키마, 검증 출력이 기기를 벗어나지 않으므로 비공개 API 계약과 민감한 페이로드에 안전합니다. 내부 $ref 포인터는 자동 해석되고, 외부 HTTP ref는 프라이버시 보존을 위해 의도적으로 비활성화되어 있습니다.

인접 JSON 도구와 함께 쓰시나요? 붙여넣기 전에 JSON Formatter로 포맷하고, JSON Diff로 두 JSON 문서를 비교하고, JSON to YAMLYAML to JSON으로 변환하세요. Node, Python, 브라우저에서의 종단간 검증은 JSON Schema 유효성 검사 가이드를 참고하세요.

// A 5-line schema that catches three real bugs
const schema = {
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id":    { "type": "integer", "minimum": 1 },
    "email": { "type": "string", "format": "email" },
    "age":   { "type": "integer", "minimum": 0, "maximum": 150 }
  },
  "required": ["id", "email"],
  "additionalProperties": false
};

// Three bugs the schema catches:
const bad = { "id": "42", "age": 200 };
//   /id   → type: expected integer, got string
//   /email → required: missing
//   /age   → maximum: 200 > 150

// In Node:        new Ajv().compile(schema)(bad)  // false; ajv.errors has the paths
// In Python:      jsonschema.validate(bad, schema)
// In the browser: this tool — same errors, same paths, no install

주요 기능

다중 드래프트 지원

Draft 2020-12 (기본값), 2019-09, Draft-07. 스키마의 $schema URI에서 드래프트를 자동 감지하며, $schema가 없는 스키마용 폴백 선택기 제공.

정확한 경로 오류

모든 오류는 JSON Pointer(예: /user/email/0), 실패한 키워드(type, required, pattern), 한 줄 메시지를 포함합니다. 클릭으로 해당 위치 이동.

라이브 유효성 검사

입력하는 동안 검증합니다. 오류가 실시간으로 갱신되므로 Validate 버튼을 왕복하지 않고 스키마와 데이터를 반복 수정할 수 있습니다.

format 키워드 커버리지

email, uri, uuid, date, date-time, ipv4, ipv6, hostname, regex - 실제로 쓰는 format을 검증된 패턴으로 처리합니다.

100% 브라우저 처리

입력값이 기기를 벗어나지 않습니다. 업로드 없음, 붙여넣은 내용에 대한 분석 없음, JSON의 localStorage 저장 없음. 비공개 계약과 민감한 페이로드에 안전합니다.

샘플 스키마, 원클릭

로드 가능한 프리셋(가입 폼, webhook 봉투, 설정 파일, 주문 배열)으로 5초 안에 동작하는 검증 시나리오에 도달합니다.

예시

유효 객체 - required + 타입

{
  "id": 42,
  "email": "alice@example.com",
  "age": 30
}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": { "type": "integer", "minimum": 1 },
    "email": { "type": "string", "format": "email" },
    "age": { "type": "integer", "minimum": 0, "maximum": 150 }
  },
  "required": ["id", "email"],
  "additionalProperties": false
}

스키마는 id와 email을 required로 선언하고 타입을 고정합니다. 위 데이터는 모든 제약을 만족하므로 통과합니다. email을 제거하거나 id를 문자열로 바꿔서 경로 단위 오류 메시지를 확인해 보세요.

유효하지 않음 - required 누락 + 타입 오류

{
  "id": "42",
  "age": 200
}
{
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "email": { "type": "string", "format": "email" },
    "age": { "type": "integer", "maximum": 150 }
  },
  "required": ["id", "email"]
}

오류 3건: /id는 integer가 아닌 string, /email 누락, /age (200)이 maximum 150 초과. 각 오류는 정확한 JSON Pointer 경로를 보고하므로 데이터 또는 스키마 수정 위치를 정확히 짚어낼 수 있습니다.

판별 유니온 - oneOf와 const

{
  "type": "order.created",
  "data": { "orderId": "ORD-001234", "totalUsd": 49.99 }
}
{
  "oneOf": [
    {
      "properties": {
        "type": { "const": "order.created" },
        "data": {
          "type": "object",
          "properties": {
            "orderId": { "type": "string", "pattern": "^ORD-[0-9]{6}$" },
            "totalUsd": { "type": "number", "minimum": 0 }
          },
          "required": ["orderId", "totalUsd"]
        }
      },
      "required": ["type", "data"]
    },
    {
      "properties": {
        "type": { "const": "order.refunded" },
        "data": { "type": "object", "required": ["refundId"] }
      },
      "required": ["type", "data"]
    }
  ]
}

Webhook 봉투 검증. type이 "order.created"이므로 첫 번째 oneOf 분기가 일치합니다. type을 "order.refunded"로 바꾸거나 orderId 패턴을 어기면 oneOf가 분기별 실패를 어떻게 보고하는지 확인할 수 있습니다.

객체 배열 - items + uniqueItems

[
  { "sku": "A1", "qty": 3 },
  { "sku": "B2", "qty": 5 },
  { "sku": "A1", "qty": 3 }
]
{
  "type": "array",
  "minItems": 1,
  "uniqueItems": true,
  "items": {
    "type": "object",
    "properties": {
      "sku": { "type": "string", "pattern": "^[A-Z][0-9]+$" },
      "qty": { "type": "integer", "minimum": 1 }
    },
    "required": ["sku", "qty"]
  }
}

두 항목이 바이트 단위로 동일하므로 uniqueItems가 발동합니다. 인덱스 0과 2가 충돌 - 검증기는 배열 루트에서 중복을 보고합니다. 장바구니 라인 중복이나 병합 버그로 인한 배송 요청 중복을 잡는 데 유용합니다.

사용 방법

  1. 1

    JSON Schema 붙여넣기

    스키마를 오른쪽 패널에 넣으세요. $schema URI가 있으면 검증기가 드래프트를 자동 감지하고, 없으면 툴바에서 Draft 2020-12, 2019-09, Draft-07 중 선택하세요.

  2. 2

    JSON 데이터 붙여넣기

    검사할 JSON 문서를 왼쪽 패널에 넣으세요. 입력하는 동안 유효성 검사가 실행되며, 큰 입력(>200 KB)은 입력 반응성을 유지하기 위해 수동 Validate 버튼으로 전환됩니다.

  3. 3

    오류 목록 읽기

    각 오류는 JSON Pointer 경로, 키워드, 한 줄 메시지를 포함합니다. 오류를 클릭해 데이터의 해당 위치로 이동하고, 수정하면 카운트가 실시간으로 줄어드는 것을 확인하세요.

JSON Schema 흔한 함정

Type: integer 대 number

JSON Schema는 1.0을 number로 보지만 integer로는 보지 않습니다. 계약에 integer라고 적었다면 검증기는 1.0을 거부합니다 - 대부분의 언어가 1과 같다고 부르더라도. integer가 정말 필요한 게 아니면 number를 선택하세요.

✗ 오류
{ "qty": 1.0 }   schema: { "type": "integer" }   → error: not an integer
✓ 정상
{ "qty": 1 }     schema: { "type": "integer" }   → valid

잘못된 중첩 레벨의 required

required는 properties 옆에 있어야 하며 그 안에 들어가서는 안 됩니다. 속성 선언 내부의 required 배열은 조용히 무시되어 검증기가 결코 적용하지 않습니다.

✗ 오류
{ "properties": { "name": { "type": "string", "required": true } } }
✓ 정상
{ "properties": { "name": { "type": "string" } }, "required": ["name"] }

additionalProperties 기본값은 true

additionalProperties: false 없이는 스키마가 개방형이라 어떤 추가 키든 통과합니다. 이를 잊는 것이 스키마가 "전부 받아준다"는 가장 흔한 이유입니다.

✗ 오류
{ "properties": { "id": { "type": "integer" } } }   accepts: { "id": 1, "foo": "bar", "x": null }
✓ 정상
{ "properties": { "id": { "type": "integer" } }, "additionalProperties": false }

OpenAPI 3.0 nullable 대 Draft 2020-12 타입 배열

OpenAPI 3.0은 nullable: true를 사용하고, Draft 2020-12는 type: ["string", "null"]을 사용합니다. 둘을 섞으면 정상으로 보이지만 실제로는 null을 절대 허용하지 않는 스키마가 만들어집니다.

✗ 오류
{ "type": "string", "nullable": true }   in 2020-12: nullable is just an unknown keyword
✓ 정상
{ "type": ["string", "null"] }   in 2020-12: explicitly allows null

앵커 없는 pattern

JSON Schema 정규식은 기본적으로 어디서든 일치합니다 - pattern: "^[A-Z]+$"는 전체 문자열을 앵커하지만 pattern: "[A-Z]+"는 어디든 대문자가 하나라도 있으면 일치합니다.

✗ 오류
pattern: "[A-Z]+"   accepts: "helloX"   (because X matches)
✓ 정상
pattern: "^[A-Z]+$"   accepts only: "HELLO"

anyOf를 의도했는데 oneOf 사용

oneOf는 정확히 하나의 분기와만 일치해야 합니다. 두 분기가 같은 형태를 받으면 anyOf라면 통과할 데이터에서 oneOf는 실패하고, 오류 메시지도 헷갈립니다("matches more than one").

✗ 오류
oneOf: [ { type: "string" }, { type: "string", maxLength: 10 } ]   on: "hi"   → error: matches both
✓ 정상
anyOf: [ { type: "string" }, { type: "string", maxLength: 10 } ]   on: "hi"   → valid

주요 활용 사례

API 요청 유효성 검사
배포 전에 요청 본문과 엔드포인트 스키마를 붙여넣으세요. 테스트로 못 잡은 400 응답을 잡아냅니다 - 누락된 필수 필드, 잘못된 타입, 범위 밖 숫자.
Webhook 페이로드 검증
벤더가 보낸 페이로드를 핸들러가 거부하나요? 실제 페이로드를 사용자 스키마와 벤더가 공개한 스키마 양쪽으로 검증하세요. 두 결과의 차이가 곧 버그입니다.
설정 파일 린팅
package.json, tsconfig.json, helm values.yaml - 모든 설정 파일에는 공개 스키마가 있습니다. 스키마를 붙여넣고 설정을 붙여넣어 오타를 찾으세요. 시행착오 생략.
OpenAPI 컴포넌트 테스트
OpenAPI 3.1 문서에서 스키마 컴포넌트를 떼어 여기에 붙여넣고 샘플 페이로드를 검증하세요. 모의 서버를 띄우는 것보다 빠르고, 결정적이며, SDK도 필요 없습니다.
폼 제출 사전 점검
프론트엔드 유효성 검사를 연결하기 전에 샘플 폼 페이로드를 붙여넣으세요. 스키마가 거부할 것은 거부하고 받을 것은 받는지 확인한 뒤, 같은 스키마를 클라이언트와 서버에 배포하세요.
데이터 파이프라인 계약 점검
ETL 출력이 변형됐나요? 샘플 행과 다운스트림 스키마를 붙여넣으세요. 파이프라인이 1만 건을 재시도하기 전에 어느 프로듀서가 바뀌고 어느 키가 깨졌는지 짚어냅니다.

기술 세부사항

Draft 2020-12 준수
공개된 Draft 2020-12 스펙을 구현 - 키워드, 타입 시스템, format 어휘. Ajv 8.x와 ajv-formats 출력을 기준으로 교차 검증.
JSON Pointer 오류 경로
오류는 RFC 6901 JSON Pointer(/user/email/0)를 사용합니다. 모든 키워드 실패는 데이터 내부의 단일하고 해석 가능한 위치를 가리킵니다 - 모호함도, 문자열 검색도 없습니다.
내부 $ref 해석
단일 문서 내의 $ref 포인터(#/$defs/foo, #/properties/bar)를 해석합니다. 순환은 감지해 보고하며, 외부 HTTP $ref는 프라이버시를 위해 비활성화되어 있습니다.

모범 사례

항상 additionalProperties: false 설정
입력 계약(요청 본문, 설정 파일, 큐 메시지)에서 알 수 없는 키는 대개 버그입니다 - 오타, 우발적 필드, 공격자 탐색. 기본적으로 거부하세요.
재사용 가능한 서브 스키마는 $defs 사용
같은 형태를 두 번 인라인하면 어긋납니다. 공유 정의를 $defs로 옮기고 $ref로 참조하세요 - 단일 진실 공급원, 모든 변경이 모든 곳에 적용됩니다.
비즈니스 로직 전에 검증
JSON.parse 직후, 파싱된 구조를 건드리기 전에 스키마 유효성 검사를 실행하세요. 타입 좁히기, 기본값 채우기, 영속화는 모두 계약이 성립한다고 가정합니다 - 정말 그런지 확인하세요.

자주 묻는 질문

JSON Schema 유효성 검사란 무엇인가요?
JSON Schema 유효성 검사는 JSON 문서가 JSON Schema 문법으로 작성된 계약과 일치하는지 확인하는 작업입니다. 스키마는 필드 타입, 필수 키, 허용 값, 구조 규칙을 선언하고, 검증기는 두 문서를 병렬로 순회하며 계약을 위반하는 경로를 모두 보고합니다. 신뢰할 수 없는 입력(API 요청, webhook, 설정 파일, 폼 페이로드)과 비즈니스 로직 사이의 경계에서 동작하며, 형태 오류가 다운스트림 코드를 망가뜨리기 전에 잡아냅니다. Node, Python, 브라우저 예제를 한 번에 보려면 JSON Schema 유효성 검사 완전 가이드를 참고하세요.
이 검증기가 지원하는 JSON Schema 드래프트는 무엇인가요?
Draft 2020-12 (기본값, 권장), Draft 2019-09, Draft-07을 지원합니다. 스키마에 $schema URI가 있으면 드래프트를 자동 감지하고, 없으면 드롭다운에서 선택한 값으로 폴백합니다. 2026년 신규 프로젝트는 Draft 2020-12를 사용하세요 - OpenAPI 3.1이 네이티브로 채택했고 Ajv의 기본값입니다. 레거시 코드베이스(구버전 Ajv 설정, Helm 차트, VS Code 설정)에서는 Draft-07이 여전히 흔합니다.
JSON을 스키마에 대해 어떻게 검증하나요?
왼쪽 패널에 JSON 데이터를, 오른쪽 패널에 JSON Schema를 붙여넣으세요. 입력하는 동안 검증기가 즉시 실행됩니다 - 초록색 체크는 유효, 빨간색 목록은 오류입니다. 각 오류는 JSON Pointer 경로(예: /user/email), 실패한 키워드(type, required, pattern, minimum), 사람이 읽을 수 있는 메시지를 포함합니다. 오류를 클릭하면 해당 줄로 이동합니다. 업로드도 회원가입도 없습니다.
JSON Schema 유효성 검사와 JSON 문법 유효성 검사의 차이는 무엇인가요?
JSON 문법 유효성 검사는 문서가 파싱되는지만 확인합니다 - 쉼표 누락이나 중괄호 누락이 없는지. 그건 JSON Formatter가 처리합니다. JSON Schema 유효성 검사는 파싱 후에 실행되어 파싱된 구조가 계약과 맞는지 확인합니다 - 필수 필드 존재, 타입 일치, 값 범위. 보통 두 가지를 함께 실행합니다: 먼저 포맷으로 파싱 가능 여부를 확인하고, 그 다음 스키마로 검증합니다.
스키마가 정상적으로 보이는 JSON을 거부하는 이유는 무엇인가요?
흔한 원인 다섯 가지: (1) additionalProperties: false - 데이터에 스키마가 선언하지 않은 키가 있음(오타나 새 필드인 경우가 많음); (2) type: "integer" 대 "number" - JSON Schema는 1.0을 number로 보지만 integer로는 보지 않음; (3) format 키워드(email, uri, uuid)가 멀쩡해 보이는 문자열도 형식이 어긋나면 거부; (4) required가 잘못된 중첩 레벨에 위치 - required는 properties 옆에 있어야 하며 그 안에 들어가서는 안 됨; (5) 스키마는 integer 42를 기대하는데 JSON에는 string "42"가 있음. 오류 경로가 어떤 경우인지 짚어줍니다.
$ref와 원격 스키마 참조를 지원하나요?
내부 $ref 포인터(#/$defs/foo, #/properties/bar)는 기본 동작합니다. 원격 URL을 가리키는 $ref는 의도적으로 비활성화되어 있습니다 - 외부 스키마를 가져오면 검증 활동이 제3자에게 노출되고 프라이버시 모델이 깨지기 때문입니다. 다중 파일 스키마를 검증하려면 참조된 정의를 $defs로 단일 문서에 인라인하거나, 원격 ref가 적절한 자체 CI에서 Ajv로 검증을 실행하세요.
additionalProperties: false는 어떤 역할을 하나요?
additionalProperties: false는 properties에 선언되지 않은 키를 모두 거부합니다. 계약을 단단히 조이는 데 가장 유용한 키워드입니다 - 이게 없으면 스키마는 기본적으로 개방형이라 오타가 있거나 악의적인 필드도 조용히 허용합니다. 입력 계약(요청 본문, 설정 파일, 큐 메시지)에서는 항상 additionalProperties: false를 설정하세요. 스키마가 더 큰 문서의 일부 설명일 때만 true로 두거나 생략하세요.
Node.js나 Python에서 JSON을 스키마에 대해 어떻게 검증하나요?
Node: Ajv 설치(npm i ajv ajv-formats), new Ajv().compile(schema) 호출 후 validate(data). Python: jsonschema 설치(pip install jsonschema), jsonschema.validate(data, schema) 호출. TypeScript에서는 json-schema-to-typescript로 스키마에서 타입을 생성해 컴파일타임과 런타임을 동기화하세요. JSON Schema 유효성 검사 가이드에 Node, Python, 브라우저용 복사·붙여넣기 레시피가 있습니다.
oneOf, anyOf, allOf의 차이는 무엇인가요?
allOf - 모든 서브 스키마와 일치해야 함(교집합, 합성에 사용). anyOf - 적어도 하나와 일치해야 함(합집합, fast-fail). oneOf - 정확히 하나와만 일치해야 함(판별 유니온, 더 느리지만 더 엄격). type으로 태그된 webhook 이벤트 같은 판별 유니온에는 oneOf, 관대한 유니온에는 anyOf, 베이스 스키마에 추가 제약을 더할 때는 allOf를 사용하세요. oneOf는 모든 분기를 검사하므로 가장 느립니다 - 정확히-하나 의미가 필요 없다면 anyOf를 우선하세요.
OpenAPI 스키마를 지원하나요?
OpenAPI 3.1은 Draft 2020-12를 네이티브로 사용하므로 OpenAPI 3.1 스키마 컴포넌트는 그대로 붙여넣을 수 있습니다. OpenAPI 3.0은 대부분 호환되는 Draft 4의 부분집합을 사용합니다 - nullable: true(3.0 문법) 같은 경계 케이스에 부딪힐 수 있으며, Draft 2020-12에서는 type: ["string", "null"]로 표현합니다. OpenAPI 문서 전체(paths, operations, security) 검증에는 Spectral 같은 전용 OpenAPI 린터를 사용하세요. 이 도구는 스키마 부분에 집중합니다.
검증기가 내 JSON Schema 자체가 유효하지 않다고 하는 이유는?
JSON Schema는 유효한 스키마가 되기 전에 먼저 유효한 JSON 문서여야 합니다. 흔한 원인: properties 객체의 후행 쉼표, 큰따옴표 대신 작은따옴표, 존재하지 않는 드래프트 URL을 가리키는 $schema, 배열이 아닌 문자열로 작성된 required. 먼저 JSON Formatter로 스키마를 포맷해 문법 문제를 드러내고, 다시 여기에 붙여넣어 의미 검증을 수행하세요.
이 도구가 내 JSON이나 스키마를 서버로 전송하나요?
아닙니다. 모든 파싱과 유효성 검사는 브라우저에서 로컬로 실행됩니다. 사용자의 JSON, 스키마, 검증 결과는 기기를 벗어나지 않습니다 - 업로드도, 입력값의 localStorage 저장도, 붙여넣은 내용에 대한 분석도 없습니다. 비공개 API 계약, 내부 설정 파일, 민감한 페이로드에 안전합니다. 새로고침해도 유지되도록 드래프트 선택만 localStorage에 저장되며, 브라우저 데이터를 지우면 함께 삭제됩니다.
JSON Lines (NDJSON)나 다중 문서를 검증할 수 있나요?
이 도구는 한 번에 한 문서를 검증합니다. JSON Lines는 각 줄을 개별로 검증하거나, Node에서 Ajv와 JSONStream 같은 스트림 파서를 함께 사용하세요. 대용량 데이터셋을 일괄 검증하려면 커맨드라인을 우선하세요 - ajv-cli나 check-jsonschema(Python)는 단일 스키마 컴파일로 초당 수천 개 파일을 처리합니다.

Base64 디코더 · 인코더 (Base64 Decoder & Encoder)

인코딩 & 포매팅

Base64를 온라인에서 무료로 인코딩하고 디코딩합니다. UTF-8과 이모지를 완벽 지원하는 실시간 변환으로, 100% 브라우저에서 처리되어 회원 가입이 필요 없습니다.

JSON Diff 비교

인코딩 & 포매팅

두 JSON 파일을 브라우저에서 즉시 Diff 비교하세요. 나란히 보기 하이라이팅, RFC 6902 JSON Patch 출력, 타임스탬프·ID 같은 노이즈 필드 무시. 비공개, 업로드 없음.

JSON 포맷터 (JSON Formatter)

인코딩 & 포매팅

브라우저에서 JSON을 즉시 포매팅하고 유효성 검사를 수행합니다. 온라인 도구로 구문 검사, 오류 감지, 최소화, 복사를 지원하며 데이터는 서버로 전송되지 않습니다.

JSON to YAML 변환기 (JSON to YAML Converter)

인코딩 & 포매팅

JSON을 붙여넣으면 즉시 YAML로 변환됩니다. 브라우저에서 실시간 변환, K8s/Compose 지원, 2/4칸 들여쓰기, Norway 안전 자동 인용, 100% 개인 정보 보호.

QR 코드 생성기 — URL, WiFi, vCard, 이메일, SMS, 위치

인코딩 & 포매팅

무료 온라인 QR 코드 생성기. URL, WiFi, vCard, 이메일, SMS용 정적 QR 코드를 만드세요. SVG·PNG 다운로드. 만료 없음, 회원가입 불필요, 100% 브라우저에서 처리.

URL 인코더 · 디코더 (URL Encoder & Decoder)

인코딩 & 포매팅

URL을 실시간 인코딩·디코딩하고 내장 파서로 구조를 분석합니다. encodeURI와 encodeURIComponent 모드를 온라인에서 지원하며 데이터는 브라우저를 떠나지 않습니다.