ForHosting KIT · サイト取得・監視

URLエンコード・デコード

caféはcaf%C3%A9に、スペースは%20に、&は%26になります。テキストをリンク内で安全に使えるようエンコードしたり、パーセント記号の並びを読める文字に戻したりでき、日本語などの文字も正しく扱います。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
テキスト
café & té/2?x=1
結果
エンコード結果
caf%C3%A9%20%26%20t%C3%A9%2F2%3Fx%3D1

URLのクエリパラメータなどに使う文字列を、パーセントエンコーディング形式に変換、または元の文字列に戻すツールです。日本語を含むURLを扱うときによく使います。

エンコードの規則がばらばらに見える理由

URLはもともと限られた文字だけを扱う前提で作られました。パーセントエンコーディングは、スペースやアンパサンド、日本語のようなラテン文字以外の文字も安全に運べるよう定められたものです。ところが、アドレスの規則とHTMLフォーム送信の規則など、複数の仕様が長い年月の間に分かれてしまい、多くのライブラリはそのうち1つしか正しく実装していません。そのため、JavaScriptとPHPではスペースの扱いが異なり、プラス記号やチルダも言語によって結果が変わります。アンパサンドが1つずれるだけで、リダイレクトが黙って壊れることもあります。このツールはRFC 3986に沿った1つの規則で処理するため、同じ入力からは常に同じ結果が得られます。

仕組みと役立つ場面

入力を1バイトずつ確認し、安全でない文字や予約された文字を、パーセント記号と2桁の十六進数に置き換えます。デコードでは、その並びを読める文字に戻します。名前や住所、多言語の内容に多い複数バイトの文字も、疑問符に化けることなく正しく扱います。たとえば「é」は%C3%A9、スペースは%20、アンパサンドは%26になります。CSVの書き出しや古いデータベースから取り出したリンクを元のアドレスに戻すとき、利用者が入力した検索語やファイル名をリダイレクト用のリンクに入れる前、障害調査でサーバーのログに残ったアドレスを読みやすくするときに役立ちます。

URLエンコードとは

URLは使える文字の種類が決まっているため、日本語や一部の記号はそのままでは使えません。URLエンコードは、それらの文字を%記号を使った表記に変換する仕組みです。

使い方

文字列を入力するとエンコード結果が表示されます。エンコードされた文字列を入力すれば、元の文字列に戻せます。

全角文字や記号の扱い

日本語の文字列はUTF-8を前提にエンコードされます。スペースや「&」「?」 などURLで特別な意味を持つ記号も、正しく変換されます。

日本語を含むリンクの作成

合同会社みどりデザインの担当者は、検索結果ページへのリンクに日本語のキーワードを含める際、このツールでエンコードしてからページに貼り付けています。

届いたリンクの中身確認

鈴木美咲さんは、メールで届いたエンコード済みのURLをデコードし、実際にどのパラメータが渡されているのかを確認しています。

入力した文字列はサーバーに送信されますか?

送信されません。 エンコード・デコードの処理はブラウザの中で完結します。

日本語もそのまま変換できますか?

できます。 UTF-8を前提に、日本語を含む文字列を正しくエンコードします。

なぜ無料で使えるのですか?

エンコード・デコードは軽い処理で、ブラウザの中で完結するため無料にしています。

日本語のサポートはありますか?

申し訳ありませんが、日本語でのサポートは行っておりません。サポートは英語またはスペイン語で、担当者が直接対応します。ツール自体は日本語の環境でも問題なくご利用いただけます。

スペースは「+」と「%20」のどちらになりますか?

クエリパラメータ向けの「+」形式と、パス部分向けの「%20」形式のどちらも選べます。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/dev/url-encode

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/dev/url-encode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"a b&c"}'
{
  "text": "a b&c"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.url_encode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

ブラウザ完結・無料

変換はブラウザの中で行われ、サーバーへの送信はありません。サーバー側の処理に組み込みたい場合は、APIから同じ機能を呼び出せます。料金は1リクエストあたり$0.002(米ドル)です。

APIパラメータの組み立て

開発者の田中大輔さんは、APIに渡すクエリパラメータに特殊文字が含まれる場合、送信前にこのツールでエンコード結果を確認しています。

会員登録は必要ですか?

登録不要です。開いてすぐにエンコード・デコードができます。

APIから使う場合の料金は?

1リクエストあたり$0.002です。エンコードとデコードで料金は変わりません。

KITの完全なドキュメントを見る →