| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 204 |
| Technical Name |
password_eye_icon |
| License | LGPL-3 |
| Versions | 17.0 18.0 19.0 |
Show the password.
Hide it again.
A small 👁 eye icon on every password field — click once to reveal the characters, click again to mask them. On the login page, on website & portal forms, and on every backend field. No setup — it just works everywhere.
Stop guessing what you typed behind the dots.
Every password field gains an eye icon at its right edge. Tap to reveal the real characters, tap again to mask them — so users catch typos before they get locked out.
Masked, exactly like Odoo.
By default the field stays a normal password input — dots only. Nothing about the native security behaviour changes; the eye simply waits at the edge.
| ONE CLICK |
|
REVEALED
|
See the real characters.
Click the eye and the input switches to plain text — the icon swaps to eye-slash. The typed value is fully preserved, even mid-edit.
Six reasons it feels native to Odoo.
|
👁
Every backend field, automatically
It extends the core |
🔑
Login, reset & signup pages
A frontend injector adds the eye to the sign-in screen, the set-new-password form and the signup page — with or without the website module installed. |
🌐
Website & portal forms
eCommerce register, portal "change password" and any public form with a password input — all decorated the moment the page loads. |
|
⚡
Survives typing & re-renders
The reveal state is held in a reactive OWL |
🛡
Safe by design
Every handler is wrapped in |
📦
No server-side footprint
No models, no fields, no data — nothing is ever stored or logged. Install and uninstall are perfectly clean. |
The eye, everywhere a password lives.
Right inside Odoo's Apps catalogue.
Once installed, the app shows up in Apps → Productivity with its own icon — ready to enable across every database.
|
odoo · /odoo/apps · Password Show / Hide
|
An eye icon right on the sign-in screen.
The very first place a password is typed — reveal it before hitting "Log in". Works on /web/login with or without the website module.
|
odoo · /web/login · password eye
|
The same eye on the website login.
eCommerce and portal sign-in pages get the eye too — the frontend injector decorates every public password form, themed or not.
|
odoo · website · /web/login
|
And on the Change Password action.
Open a user's Change Password dialog — the new-password and confirmation fields both carry the eye.
|
odoo · Users · Change Password
|
The eye reaches every password field in Odoo.
This SMTP server password is just one example. The eye appears automatically on every field Odoo treats as a password — mail servers, API keys, connector secrets, the change-password dialog, even custom & Studio fields. No per-field setup, anywhere.
|
odoo · Settings · Outgoing Mail Server · password
|
Install, refresh, done.
No setup wizard, no preferences page, no external services. Install the module, hard-refresh your browser, and the eye is on every password field instantly.
Install the app
One click from the Apps page. It only depends on web, shipped with every Odoo install.
Open the login page
The eye is already on the password field — sign in and head into the backend.
Find any password field
Settings, mail servers, connector configs, API keys — each one now carries the eye, with no configuration.
Click to reveal
Tap the eye to show the value, tap again to mask it. The typed text is always preserved.
Built for Odoo 17, 18 & 19. Zero configuration.
Pure client-side OWL & JavaScript. No external services, no server-side state, no database writes.
Everything you'd want to ask before installing.
The login, reset-password and signup pages, website & portal password forms, and every backend field defined as a password — Settings, mail servers, API keys, connector secrets and more. |
Never. It only toggles the input's display type between dots and text in the browser. There are no models, no fields, no RPC calls and nothing written to the database. |
||||
No. It only adds an eye next to password inputs and never moves or replaces them. On any unexpected markup it safely does nothing — worst case is just no icon, never a broken page. |
Yes. Because it extends the core |
||||
No. It works on the standard |
No measurable impact. Pure client-side code, no RPC, no database writes — just a single icon and an input-type switch. |
Custom Odoo work, straight from the developer.
Built this module, and plenty more. If you need something tailored to your business — a new feature, a version upgrade, or help getting set up — reach out using the details below.
|
🧩
Custom module development
Bespoke modules and features built to fit exactly how your business runs. |
🔄
Version migration & upgrades
Move your modules and database safely between Odoo versions — 16, 17, 18, 19. |
|
🔧
Customization & bug fixes
Tailor existing modules, add features, or fix issues — fast turnaround. |
🚀
Installation & deployment
Help setting up, configuring and deploying Odoo and your modules end to end. |
If this free app helped, you'll love these.
Hand-built Odoo apps for 17, 18 & 19 — Community & Enterprise.
Demo, support & customisation — straight from the author.
Hit me directly for installation help, custom behaviour, or a tailored deployment. Response within 24 hours on weekdays.
Please log in to comment on this module