diff --git a/components.d.ts b/components.d.ts
index 3e65c3cc52..eb81b8a7fe 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -65,6 +65,7 @@ declare module '@vue/runtime-core' {
CTooltip: typeof import('./src/ui/c-tooltip/c-tooltip.vue')['default']
'CTooltip.demo': typeof import('./src/ui/c-tooltip/c-tooltip.demo.vue')['default']
DateTimeConverter: typeof import('./src/tools/date-time-converter/date-time-converter.vue')['default']
+ DeadPixel: typeof import('./src/tools/dead-pixel/dead-pixel.vue')['default']
'DemoHome.page': typeof import('./src/ui/demo/demo-home.page.vue')['default']
DemoWrapper: typeof import('./src/ui/demo/demo-wrapper.vue')['default']
DeviceInformation: typeof import('./src/tools/device-information/device-information.vue')['default']
@@ -89,18 +90,9 @@ declare module '@vue/runtime-core' {
HtmlWysiwygEditor: typeof import('./src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue')['default']
HttpStatusCodes: typeof import('./src/tools/http-status-codes/http-status-codes.vue')['default']
IbanValidatorAndParser: typeof import('./src/tools/iban-validator-and-parser/iban-validator-and-parser.vue')['default']
- 'IconMdi:brushVariant': typeof import('~icons/mdi/brush-variant')['default']
- 'IconMdi:kettleSteamOutline': typeof import('~icons/mdi/kettle-steam-outline')['default']
- IconMdiChevronDown: typeof import('~icons/mdi/chevron-down')['default']
- IconMdiChevronRight: typeof import('~icons/mdi/chevron-right')['default']
IconMdiClose: typeof import('~icons/mdi/close')['default']
- IconMdiContentCopy: typeof import('~icons/mdi/content-copy')['default']
IconMdiEye: typeof import('~icons/mdi/eye')['default']
IconMdiEyeOff: typeof import('~icons/mdi/eye-off')['default']
- IconMdiHeart: typeof import('~icons/mdi/heart')['default']
- IconMdiSearch: typeof import('~icons/mdi/search')['default']
- IconMdiTranslate: typeof import('~icons/mdi/translate')['default']
- IconMdiTriangleDown: typeof import('~icons/mdi/triangle-down')['default']
InputCopyable: typeof import('./src/components/InputCopyable.vue')['default']
IntegerBaseConverter: typeof import('./src/tools/integer-base-converter/integer-base-converter.vue')['default']
Ipv4AddressConverter: typeof import('./src/tools/ipv4-address-converter/ipv4-address-converter.vue')['default']
@@ -130,19 +122,6 @@ declare module '@vue/runtime-core' {
MetaTagGenerator: typeof import('./src/tools/meta-tag-generator/meta-tag-generator.vue')['default']
MimeTypes: typeof import('./src/tools/mime-types/mime-types.vue')['default']
NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default']
- NCheckbox: typeof import('naive-ui')['NCheckbox']
- NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
- NConfigProvider: typeof import('naive-ui')['NConfigProvider']
- NDivider: typeof import('naive-ui')['NDivider']
- NEllipsis: typeof import('naive-ui')['NEllipsis']
- NH1: typeof import('naive-ui')['NH1']
- NH3: typeof import('naive-ui')['NH3']
- NIcon: typeof import('naive-ui')['NIcon']
- NLayout: typeof import('naive-ui')['NLayout']
- NLayoutSider: typeof import('naive-ui')['NLayoutSider']
- NMenu: typeof import('naive-ui')['NMenu']
- NSpace: typeof import('naive-ui')['NSpace']
- NTable: typeof import('naive-ui')['NTable']
NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default']
OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default']
PasswordStrengthAnalyser: typeof import('./src/tools/password-strength-analyser/password-strength-analyser.vue')['default']
diff --git a/src/tools/dead-pixel/dead-pixel.vue b/src/tools/dead-pixel/dead-pixel.vue
new file mode 100644
index 0000000000..9617ea0d90
--- /dev/null
+++ b/src/tools/dead-pixel/dead-pixel.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+ Keyboard shortcuts:
+
+ - Arrow Right, Arrow Down, Space: Next color
+ - Arrow Left, Arrow Up: Previous color
+ - ESC: Exit Dead Pixel Mode
+
+
+
+ Start Dead Pixel
+
+
+
+
+
+
+
diff --git a/src/tools/dead-pixel/index.ts b/src/tools/dead-pixel/index.ts
new file mode 100644
index 0000000000..c75697e15f
--- /dev/null
+++ b/src/tools/dead-pixel/index.ts
@@ -0,0 +1,13 @@
+import { CodeMinus } from '@vicons/tabler';
+import { defineTool } from '../tool';
+
+export const tool = defineTool({
+ name: 'Dead pixel',
+ path: '/dead-pixel',
+ description:
+ 'Tool to check if a pixel on your screen is dead or not. Dead pixels are pixels on a liquid crystal display (LCD) that are not functioning properly, resulting in a constant lit or unlit pixel on the screen.',
+ keywords: ['dead', 'pixel'],
+ component: () => import('./dead-pixel.vue'),
+ icon: CodeMinus,
+ createdAt: new Date('2026-01-01'),
+});
diff --git a/src/tools/index.ts b/src/tools/index.ts
index 388cfaf494..46c6736a08 100644
--- a/src/tools/index.ts
+++ b/src/tools/index.ts
@@ -1,6 +1,7 @@
import { tool as base64FileConverter } from './base64-file-converter';
import { tool as base64StringConverter } from './base64-string-converter';
import { tool as basicAuthGenerator } from './basic-auth-generator';
+import { tool as deadPixel } from './dead-pixel';
import { tool as emailNormalizer } from './email-normalizer';
import { tool as asciiTextDrawer } from './ascii-text-drawer';
@@ -137,6 +138,7 @@ export const toolsByCategory: ToolCategory[] = [
httpStatusCodes,
jsonDiff,
safelinkDecoder,
+ deadPixel,
],
},
{