--- category: Browser --- # useFavicon Reactive favicon ## Usage ```ts {3} import { useFavicon } from '@vueuse/core'; const icon = useFavicon(); icon.value = 'dark.png'; // change current icon ``` ### Passing a source ref You can pass a `ref` to it, changes from of the source ref will be reflected to your favicon automatically. ```ts {7} import { useFavicon, usePreferredDark } from '@vueuse/core'; import { computed } from 'vue'; const isDark = usePreferredDark(); const favicon = computed(() => (isDark.value ? 'dark.png' : 'light.png')); useFavicon(favicon); ``` When a source ref is passed, the return ref will be identical to the source ref ```ts import { useFavicon } from '@vueuse/core'; // ---cut--- const source = shallowRef('icon.png'); const icon = useFavicon(source); console.log(icon === source); // true ``` ## Type Declarations ```ts export interface UseFaviconOptions extends ConfigurableDocument { baseUrl?: string; rel?: string; } /** * Reactive favicon. * * @see https://vueuse.org/useFavicon * @param newIcon * @param options */ export declare function useFavicon( newIcon: ReadonlyRefOrGetter, options?: UseFaviconOptions, ): ComputedRef; export declare function useFavicon( newIcon?: MaybeRef, options?: UseFaviconOptions, ): Ref; export type UseFaviconReturn = ReturnType; ```