In Java Edition 1.20.5 and newer, give yourself an invisible item frame with /give @s minecraft:item_frame[entity_data={id:"minecraft:item_frame",Invisible:1b}] 1. For a glowing version, use minecraft:glow_item_frame in both the item name and entity ID. Java 1.20.4 and older uses a different NBT command. Bedrock Edition has no verified standard vanilla command for an invisible frame; a resource pack that hides frame textures is the dependable workaround.
The important distinction is your edition and version. Java’s command syntax changed on April 23, 2024, so many results showing EntityTag are now obsolete.
What is the current invisible item frame command for Java Edition?
Use the item-component form introduced in Java Edition 1.20.5. Open chat and enter:
/give @s minecraft:item_frame[entity_data={id:"minecraft:item_frame",Invisible:1b}] 1
The command gives the executing player one ordinary item-frame item whose placement data creates an invisible frame entity. The frame can still hold and display an item; only the frame’s own texture is hidden after placement. In your inventory or hotbar, it can look like a normal item frame, so the result is easiest to recognize once you place it.
The minecraft:entity_data component is written in the bracketed item-component section as entity_data={...}. Its data must include an entity ID, and the ID must match the entity represented by the item. Invisible:1b sets the entity’s invisible flag to true.
Java command for a glowing invisible frame
For a glow item frame, change both the item ID and the entity ID:
/give @s minecraft:glow_item_frame[entity_data={id:"minecraft:glow_item_frame",Invisible:1b}] 1
Using a regular frame ID with a glow-frame entity ID, or vice versa, does not satisfy the component’s entity-data requirement. The matching IDs are essential.
Mojang’s explanation of the item-component change and the required id field is in the Java Edition 1.20.5 release article.
Check your edition and exact version first
Before copying a command, identify whether the world is running Java Edition or Bedrock Edition, then check its version. The two editions do not share a confirmed invisible-frame command, and Java itself has two different syntaxes split by version 1.20.5.
- Java 1.20.5 or later: use square brackets and
entity_data. - Java 1.20.4 or earlier: use the older curly-brace
EntityTagform. - Bedrock: do not assume either Java command will work; use a texture-pack workaround unless you have a specifically supported add-on solution.
The 1.20.5 change was released April 23, 2024. A guide written before that date can be technically correct for its original version while still being wrong for a current Java installation. Looking at the brackets is a quick sanity check: current Java uses [entity_data={...}], not {EntityTag:{...}}.
How do I enter the command and place the frame?
Commands must be entered in the in-game chat, beginning with a slash. You need cheats enabled and the command permission required by your world or server.
- Check the edition and version. These commands are for Minecraft: Java Edition. Use the component syntax for 1.20.5 and later.
- Enable command access. In a single-player world, cheats must be enabled; on a server, you need the appropriate operator or command permission.
- Open chat. Press the chat key, normally
T, and paste the complete command, including the leading slash. - Run the command. Press Enter. A successful command adds the frame to your inventory; a red error message means the syntax, version, or permissions need attention.
- Place the frame. Select it in your hotbar and place it on a valid surface like a normal item frame. Its outline is no longer visible, while the item you put inside remains visible.
The general command requirement—entering commands in chat with cheats and the necessary permissions—is documented by Microsoft at Introduction to Commands.
What to expect after running /give
Do not judge the result by the inventory icon alone. The generated item can look exactly like an ordinary item frame while it is in the hotbar. Its special state is applied when the item is placed, so place one on a surface before deciding that the command failed. Once placed, the frame itself is hidden and the inserted item remains displayed.
Give yourself one frame at a time while testing. The final number in each example is 1, which is the quantity. You can change that quantity when using a valid command, but keeping the example unchanged makes it easier to compare your result with the syntax shown.
Reading the current Java command character by character
Understanding the parts makes version errors easier to diagnose:
/give @s minecraft:item_frame[entity_data={id:"minecraft:item_frame",Invisible:1b}] 1
/giveis the command that places an item in a target’s inventory.@stargets the command’s executor, normally you when entering it in chat.minecraft:item_frameis the item identifier.[ ... ]begins the structured item-component section used by current Java.entity_data={ ... }supplies data for the entity created when the frame item is placed.id:"minecraft:item_frame"identifies the entity type and is required.Invisible:1bsets the entity’s invisibility flag to true.1requests one item.
Every delimiter has a job. The square brackets belong around the item component, the braces belong around the entity data, the comma separates the two entity fields, and the quotation marks surround the namespaced entity ID. Removing or moving one of these characters can change a valid command into a parse error.
Why does the command require entity_data and an id?
Java 1.20.5 replaced item-stack NBT tag data with structured item components. For entity-spawning items such as item frames, the relevant component is minecraft:entity_data. The component merges its additional fields into the entity when the item is placed, but it must identify the entity type with an id field.
That is why the current command has this structure:
minecraft:item_frame[entity_data={id:"minecraft:item_frame",Invisible:1b}]
minecraft:item_frameis the item being given.entity_datasupplies data for the entity created when the item is placed.id:"minecraft:item_frame"identifies the entity type.Invisible:1bsets the entity’s invisibility flag.
Leaving out the ID makes the component invalid. The entity ID also cannot be replaced with a different frame type: a glow item frame needs id:"minecraft:glow_item_frame".
Regular versus glow invisible frames
The two commands differ in two coordinated places. The item name immediately after /give @s must match the entity ID inside entity_data. For a regular frame, both are minecraft:item_frame. For a glow frame, both are minecraft:glow_item_frame. Keep Invisible:1b in the same entity-data object in either command.
If only one of the two identifiers is changed, the component no longer describes the item being spawned. Copy the complete glow command rather than editing one word and overlooking the second identifier.
What was the old command before Java 1.20.5?
Java Edition 1.20.4 and older used item-stack NBT with EntityTag:
/give @s minecraft:item_frame{EntityTag:{Invisible:1b}} 1
This syntax is historical. It is not the correct command for Java 1.20.5 or newer because the 1.20.5 update removed the old item NBT command form. A frequently copied variant is:
/give @p item_frame{EntityTag:{Invisible:1b}}
It can work only on the older Java versions for which that NBT syntax was valid. On current Java, it may produce an “unknown or incomplete command” message or fail to parse. Do not combine the old braces with the new bracketed component syntax; choose the command that matches your installed version.
How do I troubleshoot an invisible-frame command that fails?
“Unknown or incomplete command” appears
First check the version. If you are on Java 1.20.5 or newer, remove the old {EntityTag:...} portion and use the bracketed [entity_data=...] command. If you are on Java 1.20.4 or older, the reverse applies: the legacy NBT command is the appropriate form.
The command is accepted but the frame is visible
Verify that the invisibility field is inside the entity-data object and is spelled exactly Invisible with a capital I. The current Java command should contain Invisible:1b, not a free-standing component outside entity_data. Place a newly given frame after correcting the command; an already placed ordinary frame does not gain the item data retroactively.
The command reports a component or entity-data error
Check the required ID and its spelling. A regular frame must use id:"minecraft:item_frame"; a glow frame must use id:"minecraft:glow_item_frame". Keep the quotation marks, braces, brackets, colon, and comma exactly as shown.
Nothing happens when the command is sent
Make sure the command begins with /, that cheats are enabled in single-player, and that you have the required operator or command permission on a server. A command can be perfectly written and still be rejected when the world or server does not allow the sender to use commands.
The item looks ordinary in the hotbar
That appearance is expected. The invisibility applies to the placed entity, not necessarily to the inventory icon. Place the item to confirm that the frame itself is hidden while its displayed item remains visible.
The command works for one frame but not another
Compare the complete line rather than just the word Invisible. A regular frame and a glow frame require different matching IDs. If you copied a regular command and changed only the item name, the inner id is still wrong. If you changed only the inner ID, the item identifier is still wrong.
Can you get an invisible item frame in Bedrock Edition?
There is no verified standard vanilla Bedrock command equivalent to Java’s invisible-item-frame command. Current third-party pages publish different Java-style or undocumented /give syntaxes, while other sources state that vanilla Bedrock does not provide this capability. Because those claims conflict and Bedrock’s official command documentation does not verify the item syntax, do not treat a Java component command—or an unverified Bedrock variant—as a dependable vanilla solution.
Bedrock commands also require cheats and the operator commands permission. On an existing world, change that permission from the in-world pause menu through the player-permissions control. Enabling cheats disables achievements for that Bedrock world, so make a copy or use a test world if achievements matter.
If a Bedrock command guide tells you to run a line such as:
/give @p item_frame 1 0 {"minecraft:entity_data":{"Invisible":true}}
consider it unverified rather than an official, all-version command. It may be copied from a different edition, an add-on, or an older experiment, and it is not confirmed by the Bedrock command documentation.
Bedrock permissions and achievement trade-off
On an existing Bedrock world, open the pause menu and use the player-permissions control to grant the relevant operator commands permission. Cheats must be enabled before commands can be used. The cost of that convenience is permanent achievement loss for that world after cheats are enabled, so test in a copy when achievement progress matters. This limitation applies even if a command you try ultimately turns out not to work.
What is the reliable Bedrock workaround?
Use a Bedrock resource pack that replaces the regular and glow item-frame textures with transparent textures. The frame entities remain functional, but their visual texture is hidden. This is a client/resource-pack visual change, not an invisible-frame item created by vanilla /give.
A current listing for an invisible-item-frame Bedrock pack identifies a .mcaddon release for version 26.30, updated July 7, 2026, at CurseForge’s Invisible Item Frames page. Check the pack’s stated game-version compatibility before installing, because Bedrock resource packs can need updates after texture or format changes.
- Download the pack’s
.mcaddonfile from its listing. - Open the file with Minecraft so the pack imports into Bedrock.
- Activate it in the world or global resource-pack settings, placing it above packs that could override item-frame textures.
- Load the world and place a regular or glow item frame. The entity still performs its normal function while the frame texture is transparent.
Because this workaround changes textures rather than item data, it does not create a special invisible-frame item that can be transferred with a Java-style command. Removing or disabling the pack restores the normal frame appearance.
Resource-pack limitations to plan for
The pack changes what the client renders, not the underlying item data. Anyone viewing the world without the pack may still see ordinary frame textures. A pack update may also be needed when its listing no longer targets your Bedrock version. If another active pack overrides the same frame textures, put the invisible-frame pack higher in the priority order or the regular texture can reappear.
The workaround applies to regular and glow frame textures listed by the pack. It does not turn a Java command into a Bedrock command, and it does not supply a new inventory item with an invisible flag. Treat it as a visual presentation choice for a build, not as cross-edition item data.
What is different between Java and Bedrock methods?
| Edition and version | Method | What is verified | Important limitation |
|---|---|---|---|
| Java 1.20.5 and newer | /give with entity_data |
Vanilla command, with a matching entity id |
Requires cheats or command permission |
| Java 1.20.4 and older | /give with EntityTag |
Legacy vanilla item NBT syntax | Not valid on 1.20.5 and newer |
| Bedrock Edition | Resource pack with transparent frame textures | Visual workaround; frame entities remain usable | Not a vanilla invisible-frame item from /give |
| Bedrock third-party command variants | Various undocumented /give forms |
Not verified as standard vanilla functionality | Results can vary by version, add-on, or source |
The practical choice is therefore straightforward: use the Java command when you need actual entity data attached to the item, use the legacy line only on an older Java installation, and use a transparent-texture pack when playing Bedrock. Do not judge the methods as interchangeable just because all of them are described online as “invisible frames.”
What should you use for a regular build or a glowing display?
On current Java, use the regular command when you want an invisible frame that displays an item without glow lighting. Use the glow command when the displayed item needs the glow item-frame behavior; keep the regular and glow entity IDs paired exactly.
On Java 1.20.4 or older, use the legacy command only because that is the syntax those versions understand. On Bedrock, use the resource-pack route when a transparent visual is acceptable, and describe it accurately as a texture solution rather than a command-generated invisible item.
Can an invisible frame be handed to another player?
On Java, the command creates an item with placement data, so the resulting item can be treated as an item-frame item while it is in an inventory. The important visual check still happens after placement: the frame texture disappears only when the entity is created. On Bedrock, the resource-pack workaround does not create special item data, so it cannot provide a vanilla invisible-frame item through /give. Other players need the same texture solution to see the frame as transparent.
What are the key limitations to remember?
- The Java component command is version-specific: the 1.20.5 syntax and the pre-1.20.5 syntax are not interchangeable.
- The
entity_datacomponent requires an entity ID, and the ID must match the item-frame type. - Commands need cheats or the relevant command permission; lack of permission can look like a syntax failure.
- The invisible Java item may look normal in inventory, with invisibility becoming apparent only after placement.
- Bedrock has no confirmed vanilla command solution in the available documentation; resource packs are a visual workaround.
- Enabling cheats in a Bedrock world disables that world’s achievements.
- A Bedrock resource pack affects rendered textures and may need version updates or priority changes when other packs are active.
- Changing an already placed ordinary frame does not retroactively add invisible entity data; give and place a newly configured item.
For the current Java release, the short answer is the component command with a matching id. For Bedrock, avoid presenting conflicting third-party command strings as guaranteed vanilla behavior.
Frequently Asked Questions
What does the 1b in Invisible:1b mean?
It is the byte-form Boolean value used by Minecraft’s entity data, with 1b representing true. Keep the lowercase b when copying the legacy or current command examples.
Why does Java 1.20.5 reject the command I used for years?
Java 1.20.5 changed item commands from the old item-stack NBT tag format to structured components. The update was released on April 23, 2024, so commands written for 1.20.4 and earlier need to be rewritten with entity_data.
Why must the entity ID match the item ID?
The entity_data component requires an id field identifying the entity type created when the item is placed. Use minecraft:item_frame in both places for a regular frame and minecraft:glow_item_frame in both places for a glow frame.
Can I leave out id if I include Invisible:1b?
No. Current Java’s minecraft:entity_data component must contain an entity ID. An entity-data object containing only Invisible:1b is not a valid replacement for the complete command.
Does the invisible item look different in my inventory?
Not necessarily. The generated Java item can look like an ordinary item frame in the inventory or hotbar. Place it to see the frame texture disappear while the displayed item remains visible.
Does a Bedrock resource pack create an item I can give to another player?
No. The pack changes the textures used by item-frame entities on the client. It does not add a vanilla item with invisible-frame entity data to the Bedrock inventory or provide a verified replacement for /give.
Will enabling cheats affect my Bedrock achievements?
Yes. Bedrock disables achievements for a world after cheats are enabled. Use a copy or a separate testing world if you want to preserve achievement progress in the original.
Why does a Bedrock guide show a different JSON command?
Bedrock command claims conflict, and the official command documentation does not verify the commonly copied item-component JSON forms. Treat such lines as unverified rather than guaranteed vanilla functionality; a transparent resource pack is the documented practical workaround here.
What should I do if the frame is still visible after correcting the command?
Give yourself a newly configured item and place it. An ordinary frame that was already placed does not gain the invisible entity data retroactively. Also check the exact capitalization of Invisible and the matching frame IDs.
The Bottom Line
Use /give @s minecraft:item_frame[entity_data={id:"minecraft:item_frame",Invisible:1b}] 1 on Java 1.20.5 or newer, or the matching glow-frame command when needed. Java 1.20.4 and older requires the legacy EntityTag syntax. Bedrock has no verified vanilla command; use a compatible transparent-frame resource pack and remember that enabling cheats disables achievements.