# [Usage](../../../usage.md) > [Components and standard attributes](../basics.md) > hidden

---
`hidden` | `->setHidden()`

Set if the component is hidden, this can put the `hidden` attribute on `Form` components or hide certain `Visual` components.

| Types     | Default |
|-----------|---------|
| `boolean` | `false` |

Hides the component: Form fields get the HTML `hidden` attribute (value still submits), Visuals (except `TableColumn`, which is skipped) render nothing or collapse. When omitted (`false`) the component shows normally.
Accepts Closures for conditional visibility; for permission gating prefer `authorize`.

### Example
Blade:
```php
{!! \KFramework\Components\Forms\Input::make()->setName('token')->setHidden(true) !!}
```
Controller:
```php
Input::make()->setName('token')->setValue($token)->setHidden(true);
```

### Interaction / tips
- `hidden` (UI) vs `authorize` (../shared_attributes/authorize.md) / `authorizeRole` (../shared_attributes/authorizeRole.md) (security): hidden still exists in DOM / data.
- Toggle dynamically with `updateOnChange` (../shared_attributes/update_on_change.md) or `onLoadChange` (../shared_attributes/on_load_change.md).
- Keep `name` (../shared_attributes/name.md) set so hidden inputs still map correctly.

See also: [disabled](disabled.md), [render](render.md), [authorize](authorize.md), [authorizeRole](authorizeRole.md), [updateOnChange](update_on_change.md), [basics](../basics.md), [Input](../forms/input.md).