図形を指定した位置へ置くには、自由変形のX・Yへ座標を入力します。
今の位置から右へ10px動かす場合は、相対位置へ切り替えてXに10px、Yに0pxを入力します。
標準機能の操作と、移動量を入力するJSXスクリプトの2つを紹介します。
実機記録はWindows版Photoshop 27.11.0での相対移動のみで、絶対座標やJSXのPhotoshop実行は未検証です。
自由変形時の数値入力で図形を移動させる方法
追加スクリプトを使わず、標準の自由変形で位置を指定する方法です。
以下の手順で、座標を直接指定して移動します。
- 移動させたいレイヤーを選択する
Ctrl + T(Macの場合はCmd + T)で自由変形モードにする- 画面上部のオプションバーにある座標入力欄にX座標とY座標を入力する
Enterキーで確定する
次の画像は旧版の操作画面です。
後述の27.11.0の実機記録とは、画面の配置を区別してください。

Photoshop 27.11.0で試したときは、XとYの欄に図形の中心位置が表示されました。
絶対座標は選んでいる変形の基準点に対応するため、左上の座標を指定したい場合は基準点も確認してください。
自由変形のオプションバーでは、相対位置のボタンに切り替えることで、現在位置からの移動量も入力できます。
右へ10px移動する場合は、相対位置を選び、単位をpxとしてXに10、Yに0を指定します。
絶対座標の欄へ10を入れる操作とは異なるため、設定を確認してください。
操作と基準点はAdobe公式の自由変形ヘルプでも説明されています。
変形を確定する前なら、Escで取り消せます。
入力後は変形の枠が消えたことを確認し、位置だけでなくW・Hが意図せず変わっていないかも見ます。
相対位置で右へ10px動かした結果(2026年10月16日)
Windows 11 Pro(10.0.26200)のAdobe Photoshop 27.11.0(日本語表示)で、相対位置での移動を試しました。
入力は、自作の200×120pxの白いPSD(72ppi、RGB、8bit)に、40×30pxの青い四角を置いた画素のレイヤーです。
四角の左上は、横20px、縦30pxの位置です。
PSDの用意はスクリプトで行い、作る操作は確認に含めていません。
レイヤーを選んでCtrl + Tキーを押すと、オプションバーのXとYの欄には、四角の中心の位置(Xは40、Yは45)が表示されました。
XとYの欄の間にある三角形のボタン(相対位置)を押すと、XとYはどちらも0.00pxになりました。
Xの欄に10px、Yの欄に0pxを入れ、W(幅)とH(高さ)が100%のままなのを確かめました。
最初の入力では欄の値が全部置き換わらなかったため、Ctrl + Aキーで欄の値を全部選んでから入力し直しました。

入力欄で1回目のEnterキーを押すと、Xの値が+10.00pxの表示に整えられ、変形の枠は残りました。
もう一度Enterキーを押すと、変形が確定して枠が消えました。

変形の前後で、レイヤーの範囲をスクリプトで読み取り、画像に書き出して比べた結果は次のとおりです。
| 確かめたこと | 移動前 | 移動後 |
|---|---|---|
| 四角の左上 | 横20px、縦30px | 横30px、縦30px |
| 四角の右下 | 横60px、縦60px | 横70px、縦60px |
| 四角の大きさ | 40×30px | 40×30px |
| 青い画素の数 | 1,200 | 1,200 |
四角は大きさを変えずに右へ10px動き、縦には動きませんでした。
この結果は、1つの画素のレイヤーを相対位置で動かした場合のものです。
絶対座標の欄に値を入れて動かす操作、小数や負の値、グループ、複数のレイヤー、基準点を変えた場合、シェイプのレイヤーは確かめていません。
記事のスクリプトも、Photoshopでは実行していません。
スクリプトを使って数値入力で図形を移動させる方法
同じ操作を繰り返す場合は、次のJSXで移動量をpx指定する方法もあります。
このJSXは模擬環境だけで確認し、Photoshopでの実行は未検証です。
PSDのコピーで試し、移動対象を1つ選んでから実行してください。
標準機能だけで足りる場合は導入不要です。
JSXはPhotoshopで実行するJavaScriptファイルで、通常のウェブブラウザへ貼り付けるコードではありません。
保存先を選んで実行する操作はAdobe公式のスクリプト実行手順にあります。
手順
- 以下のコードをUTF-8のテキストファイル
pixelMove.jsxとして保存する - 「ファイル」→「スクリプト」→「参照」から保存したファイルを選ぶ
- ダイアログが表示されたら、単位を付けずに移動距離を入力する(右10pxなら横に10、縦に0)
移動をクリックすると、指定したピクセル数だけ対象が移動する
次のダイアログ画像は旧版で、掲載コードの画面とは項目が異なります。
掲載コードには「中心から」のチェックはなく、横・縦の移動量と[移動][キャンセル]を使います。

pixelMove.jsx
このスクリプトを実行すると入力ダイアログが表示され、X方向とY方向それぞれの移動距離をピクセル単位で入力できます。
[移動]をクリックすると、入力した数値の分だけ選択中のレイヤーが移動します。
対象はアクティブなレイヤーまたはレイヤーグループ1つです。
複数選択したレイヤーを個別に処理するコードではありません。
(function () {
if (!app.documents.length) {
alert("ドキュメントを開き、移動するレイヤーを選択してください。");
return;
}
var layer = app.activeDocument.activeLayer;
var dialog = new Window("dialog", "レイヤーの移動距離(px)");
dialog.orientation = "column";
dialog.alignChildren = "left";
function field(label) {
var row = dialog.add("group");
row.add("statictext", undefined, label);
return row.add("edittext", [0, 0, 100, 25], "0");
}
var x = field("横:右が+、左が-");
var y = field("縦:下が+、上が-");
var buttons = dialog.add("group");
var ok = buttons.add("button", undefined, "移動", {name: "ok"});
buttons.add("button", undefined, "キャンセル", {name: "cancel"});
ok.onClick = function () {
function number(text) {
text = String(text).replace(/^\s+|\s+$/g, "");
if (!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(text)) return null;
var value = Number(text);
return isFinite(value) ? value : null;
}
var dx = number(x.text);
var dy = number(y.text);
if (dx === null || dy === null) {
alert("単位を付けず、有限の数値を両方の欄に入力してください。");
return;
}
try {
layer.translate(new UnitValue(dx, "px"), new UnitValue(dy, "px"));
dialog.close(1);
} catch (error) {
alert("移動できませんでした。レイヤーのロックや選択状態を確認してください。\n" + error.message);
}
};
dialog.center();
x.active = true;
dialog.show();
}());
入力できない・移動しない場合の確認
以下は掲載コードの処理に基づく説明で、Photoshop上で再現したエラーの記録ではありません。
- 数値エラー:
10pxや空欄は受け付けないため、半角で横に10、縦に0のように入力します。 - ドキュメント未選択:PSDのコピーを開き、対象レイヤーを選んでから実行し直します。
- 移動エラー:対象とロック状態を確認し、解除してよいレイヤーか判断してから試します。
- ファイルが選べない:名前が
pixelMove.jsx.txtになっていないか、拡張子を確認します。
コードでは右・下が正、左・上が負で、小数も数値として受け付けます。
ただし負数・小数による移動結果や各レイヤー種別の動作は、Photoshopでは未検証です。
[キャンセル]なら移動を実行せず閉じる設計です。
結果が意図と違う場合は元のPSDへ上書きせず、コピー上で位置と大きさを確認してください。
Photoshopの他の操作方法については、以下の関連記事も参照してください。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
GitHubのファイル名は01.jsで、2026年10月25日に空行を除く各行が本文コードと一致することを確認しました。
シェイプや塗りを作る方法は、ほかにも書いています。




まとめ
- 絶対座標での移動:
Ctrl + Tで自由変形モードにして座標を入力 - 相対的な移動:自由変形の相対位置、またはスクリプトで移動量を指定
まずはコピーしたPSDで、標準機能の相対位置から10pxの移動を確認してください。
目的に応じて扱いやすい方法を使い分けてください。
右・下は正、左・上は負の値です。
2026年10月25日にAdobe公式の操作説明と公開コードを照合しました。
今回のPhotoshop実機再試験は行っておらず、上記の実測は2026年10月16日の記録です。
旧記事での模擬確認は、数値入力・キャンセル・ドキュメント未選択・移動エラーの処理を対象としたものです。
現行Photoshop上での実行は未検証なので、複製したPSDで結果を確認してから作業用ファイルに使ってください。
